|
提供一下MPQE的解密方法供参考:
首先要知道MPQ第二行(17字节至32字节)的含义。得到明文表。
第一行结构:4D 50 51 1A 2C 00 00 00 [长度:69 FE B9 02] 01 00 [可能是03 可能是05,因为内测是03,我看公测的UI 1.MPQ是05] 00
第二行结构:[iHashTableBegin 4字节] [iBlockTableBegin 4字节] [CountOfHashTable 4字节] [CountOfBlockTable 4字节]
第三行结构:00 00 00 00 00 00 00 00 00 00 00 00 4F 67 67 53(固定结构)
第四行结构:00 02 00 00 00 00 00 00 00 00 8E CB 7E 23 00 00(固定结构)
BYTE xorKey[64];
for(...64) xorKey[index] = 明文[index] ^ 密文[index];
然后从文件里打开MPQE。从第65字节开始读入firstDeData,长度为64
调用Salsa20的加密方法(其实就是解密)
ECRYPT_encrypt_bytes(&xorKey,firstDeData,EncodeData,64);
返回的EncodeData就是明文数据了,一直循环到文件结尾,那么解密的MPQ就出来了 |
|