小米加鸡蛋 发表于 2025-5-5 10:31:03

火山模块的超级HOOK类

HOOK_人物.开始HOOK (成员_PID, 成员_模块基址 + 0xCAE87B, 取指针_方法 (超级HOOK类_Hook触发事件_2), 5, , , , )
HOOK_人物.开始HOOK (成员_PID, 成员_模块基址 + 0x3A2950, 取指针_方法 (超级HOOK类_Hook触发事件_1), 5, , , , )

这个是HOOK诛仙游戏的,
一个变量
hook了一个地址A这个是人物的坐标和血量
在hook一个地址B这个是人物的经验值

这两个地址,单独HOOK一个 都是可用正常的,
但是同时HOOK两个 ,比如:
HOOK地址A,   HOOK地址B
这样写代码,,HOOK地址A就有效,地址B就HOOK不到

换成HOOK地址B, HOOK地址A,
这样写代码,HOOK地址B就有效,地址A就HOOK不到,

要是申请两个变量 类_超级HOOK变量,,程序会崩溃

小米加鸡蛋 发表于 2025-5-5 11:12:58

知道怎么回事了,,,是句柄的问题,,也就是,同一个进程,用的是开始HOOK,,HOOK回调事件有个参数是进程PID,,拿着这个进程PID,去HOOK取句柄,第二个hOOK取出来的句柄可能是变成第一个的句柄了,,

揰掵佲 发表于 2025-5-5 12:13:56

小米加鸡蛋 发表于 2025-5-5 11:12
知道怎么回事了,,,是句柄的问题,,也就是,同一个进程,用的是开始HOOK,,HOOK回调事件有个参数是进程PID,,拿 ...

你同一个进程的话,建议直接用开始HOOK2直接用自己的句柄安装就好了
页: [1]
查看完整版本: 火山模块的超级HOOK类