hgc3573 发表于 2024-6-12 10:27

植物大战僵尸杂交版,分享一个根据游戏时间计时器的产生1-18数,也可以写成伪随机数



.版本 2

    ' 先随便从空白地址创建下面hook后产生一个1-18的数字
    ' add ,edi
    ' add ,01      根据时钟的跳转过来,不停的给空白地址增加1
    ' cmp ,18   ’作比较,大于18的就给空白地址重新赋值为0,小于的就0-18一直累计,大于又返回重新累计,循环往复,目前测试18是顶点了,超过就崩溃。
    ' jg 0x75D126
    ' nop
    ' nop
    ' nop
    ' nop
    ' jng 0x415B2F
    ' mov ,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的数字循环写到

    ' 开始将子弹类型的数值改成,直接写肯定不行,还是要用到hook,在空白地址写上
    ' mov eax,    '把时钟生成的1-18的值赋值给eax,达到子弹类型在1-18之间不停的变动效果
    ' mov ,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多加几个判断条件,满足什么条件就赋值成什么数字,这样就达到了伪随机数的效果,给小白看的,大佬勿扰

hgc3573 发表于 2024-6-12 16:15

本帖最后由 hgc3573 于 2024-6-12 16:23 编辑

我用的是e语言,见谅

banmm 发表于 2024-6-12 15:13

感谢分享

5231824 发表于 2024-6-12 15:27

正好这几天玩 变种版

ImproveRei0 发表于 2024-6-12 17:17

很有创意{:1_921:}

3969 发表于 2024-6-13 13:06

十几年前玩的游戏了,挺经典的{:301_975:}

roncis 发表于 2024-6-13 15:09

感谢分享,谢谢,支持!

刘大大max 发表于 2024-6-14 10:35

正好这几天玩 杂交版 感谢分享

2911 发表于 2024-6-29 14:12

学习下代码,谢谢分享

xiaoxi888 发表于 2024-7-7 15:30

植物大战僵尸杂交版v2.2
蓝奏云:https://wwz.lanzouo.com/iBQ7s23l61cb
页: [1] 2
查看完整版本: 植物大战僵尸杂交版,分享一个根据游戏时间计时器的产生1-18数,也可以写成伪随机数