[Asm] 纯文本查看 复制代码 .版本 2
' 先随便从空白地址创建下面hook后产生一个1-18的数字
' add [esi+0x5568],edi
' add [0x730008],01 根据时钟的跳转过来,不停的给空白地址增加1
' cmp [0x730008],18 ’作比较,大于18的就给空白地址重新赋值为0,小于的就0-18一直累计,大于又返回重新累计,循环往复,目前测试18是顶点了,超过就崩溃。
' jg 0x75D126
' nop
' nop
' nop
' nop
' jng 0x415B2F
' mov [0x730008],00
' jmp 0x415B2F
写字节集 (pid, 进制_十六到十 (“0075D100”), 还原_字节集(文本_替换 (“01 BE 68 55 00 00 81 05 08 00 73 00 01 00 00 00 81 3D 08 00 73 00 18 00 00 00 7F 0A 90 90 90 90 0F 8E 09 8A CB FF C7 05 08 00 73 00 00 00 00 00 E9 FA 89 CB FF”, , , , “ ”, “”)))
' 利用游戏自带的计时器,hook去跳转到上面1-18的数字功能去执行上面代码 ' jmp 0075D100 ' E9 D2 75 34 00 90
nc.写字节集 (pid, 进制_十六到十(“00415B29”), 还原_字节集 (“E9D275340090”)) ' 已经将1-18的数字循环写到[00730008]
' 开始将子弹类型的数值改成[00730008],直接写肯定不行,还是要用到hook,在空白地址写上[00730008]
' mov eax,[0x730008] '把时钟生成的1-18的值赋值给eax,达到子弹类型在1-18之间不停的变动效果
' mov [ebp+5C],eax
' mov eax,esi
' jmp 0x46C76E
写字节集 (pid, 进制_十六到十(“0075D13B”), 还原_字节集 (文本_替换 (“A1 08 00 73 00 89 45 5C 8B C6 E9 24 F6 D0 FF”, , , , “ ”, “”))) ' hook点,写入hook代码
可拓展:cmp多加几个判断条件,满足什么条件就赋值成什么数字,这样就达到了伪随机数的效果,给小白看的,大佬勿扰 |