精易论坛

标题: 如何向APIHOOK内传参呢? [打印本页]

作者: 待一季花开    时间: 2025-2-11 10:08
标题: 如何向APIHOOK内传参呢?
执行一个APIHOOK,根据传进去的不同索引,执行不同的返回值,我现在用的是个程序集变量传递,但是我发现HOOK接收的索引总是上一个索引,比如传1接收1   传2接收1  传3接收2,我也试了读内存的方式,HOOK接收的也是比我传的晚一步,我感觉可能是HOOK没接收到最新的就暂停了,求解有没有好的方法能让APIHOOK时时接收到最新的?


补充内容 (2025-2-11 10:25):
HOOK.暂停Hook ()
局_信息 = 读配置项 (取运行目录 () + “\配置.ini”, “名称”, 到文本 (集_索引), )
.如果真 (局_信息 ≠ “”)
    Debug输出 (“接收的索引:” + 到文本 (集_索引), , , , , , , , , )
    内存_写文本型 (参数一, 取运行目录 () +“\”+ 局_信息)
.如果真结束
Ret = Jmp (HOOK.取原地址(), 参数一, 参数二, , , , , , , , , , , , )
HOOK.继续Hook ()
返回 (Ret)
作者: 高先生    时间: 2025-2-11 10:15
能否看看代码。。

补充内容 (2025-2-11 10:44):
不好意思 看不懂。
作者: sefthil1990    时间: 2025-2-11 11:24
6666666666666666666666666666666666666666666666666666666
作者: 待一季花开    时间: 2025-2-11 11:29
高先生 发表于 2025-2-11 10:15
能否看看代码。。

补充内容 (2025-2-11 10:44):

其实简单说就是HOOK读取到的索引和我实际传入的索引总是不同步,HOOK总是晚一步,所以导致读取的索引不是最新值
作者: 难寻。    时间: 2025-2-11 12:43
那证明你hook的时候是第二次执行 第一次执行hook就会同步了
作者: sefthil1990    时间: 2025-2-11 14:21
766666666666666666666666666666666666666666666666666666
作者: 待一季花开    时间: 2025-2-11 20:31
难寻。 发表于 2025-2-11 12:43
那证明你hook的时候是第二次执行 第一次执行hook就会同步了

是这么个意思,但是APIHOOK不是API被调用的时候自动触发吗,这怎么控制它
作者: bh8cxf    时间: 2025-3-4 14:53
6666666666666666666666666666666666666666




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4