背景
可能我们开发程序的时候,会用到Inline Hook Api的技术。Inline Hook 的原理是在系统访问一个函数的时候先替换原函数入口处的内容跳转到自己设计的Hook函数中,然后在自己函数中进行Hook工作。但在并行系统中,很可能有个线程就在这个时候调用了被自己改掉的系统函数,出现我们无法预期的结果。
这时,我们可以考虑使用Detuors库。Detours是微软开发的一个函数库,可用于捕获系统API。Detours库Hook过程原理和我们自己写的基本一样,不同的地方在于微软做了封装和相关的冲突检查,所以这种基于Detoursku的Api Hook更稳定些。
现在,我对使用Detours库进行HOOK API进行下讲解,并写成文档,分享给大家。
参考文档和完整的文档和源码下载地址: