Cuzっ 发表于 2015-4-13 17:30:31

求一个易语言HOOK call写法

问题描述:需要HOOK游戏里面的一个CALL 这个CALL是无参的,回调执行自己想要执行的动作。需要用易语言写。谢谢!


麦芽糖 发表于 2015-4-13 17:31:17

进call头部写入 jmp 到你的代码
jmp MyFunc

------------------
MYFunc:
pushad--保存寄存器环境
-----这里执行自己的动作(hook的目的)
popad   --还原寄存器环境
--还原游戏被作废的代码(写入jmp占用了游戏的代码,需要恢复)
push 游戏本身的代码(也就是回到游戏子程序的地址)
ret ----用ret做跳转返回游戏本身的代码


这里有例子: Hook之Hook人物信息实现自动补血
http://www.wghai.net/thread-6461-1-1.html
(出处:海论坛)

作废游戏 发表于 2015-4-13 17:32:01

在游戏进程里申请一块内存,比如02DF0000这个地址是申请到的
在67DEAB地址处写JMP 02DF0000
然后在02DF0000处CALL 你的子程序
然后在2DF0005处写jmp 67DEB0
最后在2DF000A处写RET
完毕,易语言几行代码就搞定

xushang00001 发表于 2015-4-13 21:03:20


在游戏进程里申请一块内存,比如02DF0000这个地址是申请到的
在67DEAB地址处写JMP 02DF0000
然后在02DF0000处CALL 你的子程序
然后在2DF0005处写jmp 67DEB0
最后在2DF000A处写RET
完毕,易语言几行代码就搞定

jockerzoo 发表于 2015-4-14 10:30:25

顶楼主,楼主大好人,非常好的大好人

王子 发表于 2015-4-14 15:45:19

顶楼主,楼主大好人,非常好的大好人

偶素 发表于 2015-4-14 17:22:49

感谢楼主的无私奉献

啊冲 发表于 2015-4-15 06:03:25

先感谢下,楼主辛苦了!来看看一下

45383469 发表于 2015-4-15 06:12:16

楼主加油,我们都看好你

jockerzoo 发表于 2015-5-27 01:07:38

路过,看见,支持一下!
页: [1] 2
查看完整版本: 求一个易语言HOOK call写法