首先 用魔兽测试这个地图 我们先拿第一个 系统的 “系” 做实验 打开这个工具 并输入:系 可以看见“系”的16进制是E7B3BB 然后用010editor打开试验成功的war3map.j 之后 删除引号前面(包括引号)的16进制数值 接下来搜索-$BEBEBC3*$92E3-0xE158BB82这个公式 说到这里可能有人要问为什么要搜索-$BEBEBC3*$92E3-0xE158BB82? 因为中文加密把utf8汉字拆解成3个字节,每个字节 1个16进制值,因此用字符串连接起来就是汉字utf8的16进制值 如图所示 E7+-$BEBEBC3*$92E3-0xE158BB82+BB=E7B3BB(16进制)=系 怎么解-$BEBEBC3*$92E3-0xE158BB82这个公式? 打开系统自带的计算器 选择程序员计算方式 然后选择双字(注意 一定是双字!) -$BEBEBC3*$92E3-0xE158BB82 ($和0x是16进制的标识符 所以过滤掉) =-BEBEBC3*92E3-E158BB82 =-6D71EA743E9-E158BB82 (由于-6D71EA743E9的16进制溢出 所以取后面8位 也就是-1EA743E9) =-1EA743E9-E158BB82 (换算成10进制) =-514278377-(-514278526)= 514278377+514278526 =149 然后根据这个触发函数定义 每次算出公式的值得-1 149-1=148 148是个什么东东? 又不等于B3 148正是全局字符串(string SYR_Zk)里第148字节位置的B3 =====================分割线===================== 如果你懂上面内容了 可能会问SYR_Zf($B5F3FD67-StringHash(""))这种公式怎么解? 打开字符串转哈希值.exe(软件用E语言制作 杀毒软件可能会误报 信任即可) 再用010editor 选择StringHash括号内数值 复制粘帖在字符串那里即可 然后套公式计算 B5F3FD67-StringHash("") =-1242301081-(-1242301218) =-1242301081+1242301218 =137 再137-1=136就是全局字符串(string SYR_Zk)里第136字节的位置
|