DLL共享代码的一些细节

 

在进行DLL注入的时候我需要加载开启HOOK的exe的文件路径里的配置文件,于是我就把这个路径在代码里设置成了全局变量,但是我调试的时候发现还是加载不到这个变量。后来我发现是因为在HOOK程序之后注入DLL,就相当于重新调用了这个DLL,所以这个DLL内的变量也都被重置了,所以HOOK了之后无法加载到路径。那么如何给多个进程使用同一个变量呢?

这就涉及到了DLL共享代码段

http://www.cppblog.com/suiaiguo/archive/2009/07/21/90734.aspx?opt=admin

一些细节可以参考这个博客

我这里使用的是detours提供的示例代码,之前没了解这个共享代码段需要注意的事项,以为只是定义声明变量就好了,结果还是加载不到这个ConfigPath变量,后来我查找资料的时候发现了这个博客,才了解到需要对共享代码段中的变量进行初始化。否则还是当做普通变量处理,无法在多个进程内调用。

最后我初始化变量后成功在HOOK注入DLL后加载路径

posted @ 2020-05-11 17:29  EZ4s1mple  阅读(156)  评论(0)    收藏  举报