植物大战僵尸pak解包打包工具开源

易语言 2020-02-26 14:19:00

植物大战僵尸pak解包打包工具开源

目前只有解包功能,有时间我把打包加上!太累了当然大家也可以自己学习了写一下,有时间录制一个分析教程,最近打算写一个无视辅助的植物大战僵尸。

文件加密字节集 = 读入文件 (编辑框_PAK路径.内容)
文件加密内容指针 = 取字节集数据地址 (文件加密字节集)
解密后的文件字节集 = 取空白字节集 (取字节集长度 (文件加密字节集) + 1000)
文件解密内容指针 = 取字节集数据地址 (解密后的文件字节集)
文件长度 = 取字节集长度 (文件加密字节集)
置入代码 ({ 96, 156, 191, 0, 0, 0, 0, 139, 85, 248, 139, 117, 240, 139, 69, 236, 138, 18, 128, 242, 247, 136, 22, 131, 198, 1, 131, 199, 1, 139, 85, 248, 3, 215, 59, 248, 118, 234, 157, 97 }) ' 处理解密 速度快的一批 之前用易语言记次循环效率太低了。。。。。
' 0047DF21 60 pushad
' 0047DF22 9C pushfd
' 0047DF23 BF 00000000 mov edi,0x0
' 0047DF28 8B55 F8 mov edx,dword ptr ss:[ebp-0x8]
' 0047DF2B 8B75 F0 mov esi,dword ptr ss:[ebp-0x10]
' 0047DF2E 8B45 EC mov eax,dword ptr ss:[ebp-0x14]
' 0047DF31 8A12 mov dl,byte ptr ds:[edx]
' 0047DF33 80F2 F7 xor dl,0xF7
' 0047DF36 8816 mov byte ptr ds:[esi],dl
' 0047DF38 83C6 01 add esi,0x1
' 0047DF3B 83C7 01 add edi,0x1
' 0047DF3E 8B55 F8 mov edx,dword ptr ss:[ebp-0x8]
' 0047DF41 03D7 add edx,edi
' 0047DF43 3BF8 cmp edi,eax
' 0047DF45 ^ 76 EA jbe short 植物大战.0047DF31
' 0047DF47 9D popfd
' 0047DF48 61 popad
' 解释一下 这段代码就是把整个文件字节集和F7进行位异或操作,看似简单,我可修修改改搞了半个小时。。。。这个用OD 可以分析他的加解密方式
' ===========================================================================
' 计次循环首 (文件长度, ) 这个代码效率太低了
' ' 解密后的文件字节集 = 解密后的文件字节集 + 到字节集 (到字节 (位异或 (247, 读内存字节型 (-1, 文件加密内容指针 + i - 1))))
' ' 解密值 = 解密值 + 到字节集 (到字节 (位异或 (到整数 (文件加密字节集 [i]), 247))) ' 和F7进行位异或解密
文件解密内容指针 = 文件解密内容指针 + 8
转存的解密数据 = 指针到字节集 (文件解密内容指针, 文件长度) ' 读内存字节集2 (-1, 文件解密内容指针, 文件长度) 这句代码执行后 内存会崩溃 目前还不知道原因
首个文件内容位置 = 寻找字节集 (转存的解密数据, { 128, 212 }, ) ' 方便转存 其实这样不是很规范 80 D4