最近做的一个东东涉及到HOOK API,需要修改API的前5个字节达到HOOK的目的。整个HOOK流程没问题,但就是碰到了一个线程同步的问题(通过查资料发现是个老问题,但是没找到有什么解决方法):就是在我们写的新API中,如果需要调用原API,需要先将前5个字节恢复,这时如果其它...
全文
回复(4) 2008-06-01 16:24 来自版块 - c/c++入门(VC,KeilC使用)
表情
achillis我的建议是:在调用原API 时不要采用这种先恢复再调用的方法,一方面频繁修改这个位置不太好,另一方面就是你说的漏钩的问题。 解决方法:在自己的代理函数中模拟执行被你替换掉的几句指令,然后直接跳转到apientry+5的地方继续执行,这样就不需要恢复HOOK,也就不会漏钩了,更不会...(2008-07-19 22:54)
znsoftDETOURS 中有相关的.它主要就是用来干这个的(2008-06-02 11:34)
zhlgf999可以解决这个问题嘛?谢谢!我去看看!(2008-06-02 10:39)
wowocock参考MS的DETOUR,开源的。(2008-06-02 08:41)

返回顶部