最近有用到detour,属于一种api拦截的方式了,是微软研究院出的一个库(可以网上下载,是源码形式,有makefile,可用vs的命令行工具来编译出来)。可以替换掉我们关心的api,进入到我们的处理中。当然,api拦截,首先需要借助Dll注入,才能够去影响你想改变的进程,这可通过上篇文章中全局hook来实现:可在hookProc回调中,进行detour,然后在DLL的proc_detach中un
最近有用到全局hook,其实可参考windows核心编程,全局hook也是Dll注入的一种方式。首先,必须是一个Dll,可导出一个接口,在其中设置全局hook,类型为WH_GETMESSAGE(这样,应该是所有进程都会被hook到了),这样成功后,系统会把这个Dll注入到有getmessage的所有进程中,即会为每个进程隐式调用下loadlibrary。然后每次getmessage时,都会回调进回
首先,参看这篇文章:http://msdn.microsoft.com/en-us/library/windows/desktop/dn633971%28v=vs.85%29.aspxloadlibrary时,会先加锁,然后调用dllmain,然后解锁返回。所以dllmain中,要做的初始化或清理越简单越好。该做的复杂的初始化,应该延迟,在loadlibrary之后。不能做的事:LoadLibra
//dll 动态加载 调用 类 函数小结:静态加载时,调用类成员函数,很简单。此次研究了下动态加载。首先困难点:The first problem is that C++ member function names are decorated names (Specifying extern "C" does not help).The second problem is that C
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号