mpqeditor中文版一款功能非常强大的Mpq编辑器;它是在Windows的资源管理器样式的编辑器,并且解析一个5G左右的mpq文件只需要5秒左右,速度非常的快速,还可以直接的在归档执行文件,解压文件,包括了删除、重命名、文件的压缩等等,而且支持的游戏包含了星际、魔兽、暗黑、暗黑破坏神III等,需要的朋友赶快将MpqEditor下载(MPQ编辑器) 来使用试试吧!

软件功能
解析一个5G的mpq文件不到5秒
速度飞快的MPQ编辑器
能够修改的暴雪游戏包括魔兽争霸,星际争霸,星际争霸2、暗黑破坏神等,游戏地图制作者非常熟悉的mod编辑器。
MPQ 是暴雪游戏专有的文件格式,在暴雪的游戏中被广泛运用,通过打开这类型的文件,可以对魔兽争霸,星际争霸,星际争霸2中的一些参数进行调整。
例如大家常用来编辑魔兽争霸地图等的脚本,提供直接读出和写回MPQ的功能,不需要再解压文件后编辑,当然解压也是可以的。
HET表
与格式版本3(魔兽世界公测期间观察到的第一次-大灾变)开始,可以MPQ格式压缩文件包含一个HET表。如果该HET表存在HetTablePos64 MPQ头的成员设置为非零。此表可完全替代哈希表。取决于MPQ尺寸,一对HET&BET表可以比哈希&块表更有效。HET表可以被加密和压缩。
的HET表的结构,如存储在MPQ,如下:
//常见的标题,为HET和BET表
DWORD dwSignature; //“HET X1A'
DWORD dwVersion; //版本。似乎总是1
DWORD dwDataSize; //所包含的表的大小
DWORD dwTableSize; //整个哈希表的大小,包括头(字节)
DWORD dwMaxFileCount; //在MPQ文件的最大数量
DWORD dwHashTableSize; //哈希表的大小(以字节为单位)
DWORD dwHashEntrySize; //哈希条目的有效尺寸(位)
DWORD dwTotalIndexSize; //文件索引的总大小(位)
DWORD dwIndexSizeExtra; 在文件索引//额外位
DWORD dwIndexSize; //文件索引的有效尺寸(位)
DWORD dwBlockTableSize; //块指数的子表的大小(以字节为单位)
// HET哈希表。每个条目是8位。
BYTE HetHashTable [dwHashTableSize]
//文件索引的数组。每个条目的比特大小从dwTotalIndexSize服用。
//表的大小是由dwHashTableSize服用。
BET表
与格式版本3开始,可以MPQ格式压缩文件有BET表。如果该BET表存在 BetTablePos64 MPQ头的成员设置为非零。BET表是典型的块表的继任者,完全可以取代它。它也被认为是更有效的。BET比表的结构,因为它是在MPQ,如下:
//常见的标题,为HET和BET表
DWORD dwSignature; //“BET X1A'
DWORD dwVersion; //版本。似乎总是1
DWORD dwDataSize; //所包含的表的大小
DWORD dwTableSize; //整个哈希表的大小,包括头(字节)
DWORD dwFileCount; //文件中的BET比表号
DWORD dwUnknown08; //未知,设置为0x10
DWORD dwTableEntrySize; //一个表项的大小(位)
DWORD dwBitIndex_FilePos; //文件位置的位指数(项记录中)
DWORD dwBitIndex_FileSize; //文件大小的位指数(项记录中)
DWORD dwBitIndex_CmpSize; //压缩后大小的位指数(项记录中)
DWORD dwBitIndex_FlagIndex; //旗指数位指数(项记录中)
DWORD dwBitIndex_Unknown; //的位索引?(项记录中)
DWORD dwBitCount_FilePos; //文件位置位大小(在输入记录)
DWORD dwBitCount_FileSize; //文件大小的位大小(在输入记录)
DWORD dwBitCount_CmpSize; //压缩文件大小的位大小(在输入记录)
DWORD dwBitCount_FlagIndex; //旗帜指数位大小(在输入记录)
DWORD dwBitCount_Unknown; //的位大小?(在输入记录)
DWORD dwTotalBetHashSize; //将BET散列的总大小
DWORD dwBetHashSizeExtra; 在BET哈希//额外位
DWORD dwBetHashSize; // BET散列的有效尺寸(位)
DWORD dwBetHashArraySize; // BET的大小散列阵列,以字节为单位
DWORD dwFlagCount; //标志下面的数组中数
//通过文件标志的数组紧随其后。每个条目是32位的大小和它的含义是一样一样
DWORD dwFlagsArray [dwFlagCount]
//文件表。每个条目的大小从dwTableEntrySize服用。
//表的大小(dwTableEntrySize * dwMaxFileCount),四舍五入到8。
// BET散列的数组。表的大小是由dwMaxFileCount取自HET表
使用方法
1、下载文件找到"Setup.exe"双击运行,进入软件;
2、进入软件,出现下图界面,如下图,可以设置文件的保存位置;

3、设置文件的保存位置之后,进入软件主界面;

4、操作里面包括了打开、MPQ、文件、复制名称、属性、设置最大文件数、配置等;

5、视图包含了平铺、图标、小图标、列表、详细信息等;

6、工具包括了搜索文件、合并列表文件、名称打断器、MPQ去块图;MPQ表、兼容性、文件关联等;

7、帮助包括了命令行选项、关于软件介绍;

常见问题
寻找使用HET和BET表的文件
寻找在HET表一个文件中的算法是如下:
从完整的文件名,使用计算64位的散列值詹金斯的算法V 2。字母是小写,斜线变成反斜杠。
切文件哈希通过指定的位数dwHashEntrySize并设置最高位:
FileNameHash =(HashStringJenkins(szFileName)AndMask64)| OrMask64;
获取HET哈希(高8位有效)和BET哈希(散列值的剩余位)值。
HetHash =(BYTE)(FileNameHash >>(dwHashBitSize - 8)); BetHash = FileNameHash&(AndMask64 >> 0×08);
得到的初始搜索索引作为哈希表的散列值的模大小
开始索引=(DWORD)(FileNameHash%dwHashTableSize);
在当前索引,查找HET散列值在第一个表
如果找到了等于HET值,获得从第二表中的BET索引。BET索引的表是位为基础,并且一个条目的大小不必对齐到整个字节。
使用BET指数,您可以通过BET表BET哈希值。
如果值匹配,我们发现该文件。如果他们不这样做,回到步骤5)。重复,直到零值的HET哈希被发现,或者直到我们达到初始搜索索引。
更新日志
*版本3.5.0.730
- 修正菜单的行为
- “开放和开放的行为”现在走了
- 新功能“编辑文件”
*版本3.5.0.718
- 添加“锁定”和“解锁MPQ”
- 自定义规则集回来了
- 中文版
- 修正配置错误(属性)
*版本3.5.0.710
- 功能区UI(可选)
- MPQ规则集重做,自定义规则编辑器删除
- Bug修复
∨ 展开