我有一个基于DLL注入的项目,我希望在本地进行测试。在目标环境中,DLL通过AppInit_DLLs加载,这意味着它在第一次执行进程时加载user32.dll的时间大致相同。所有这些都有效,DLL创建了一个证明成功的日志文件。
我现在希望在受控环境中测试DLL的行为,特别是在我在Visual Studio 2015中创建的测试win32程序的上下文中。我从中获取了生成的lib文件DLL项目并将其添加为项目设置下的附加依赖项 - >链接器 - >输入,将包含该lib文件的目录添加到VC ++目录 - >库目录并将DLL文件与生成的可执行文件放在一起。但是,当我运行可执行文件时,我看不到我的日志文件。
我决定使用依赖性walker进一步调查,我没有看到任何提及我的DLL,所以看起来似乎从未添加依赖。
其他一些信息:
我可以使用单独的注入过程来测试在远程测试过程中创建线程,但是我希望在流程执行的早期复制正在加载的DLL的行为,因此这种替代方案并不理想。 / p>
非常感谢任何帮助。谢谢: - )
答案 0 :(得分:0)
RbMm的回答是正确的。问题是DLL没有被链接,因为它没有被使用。添加导出的方法并在测试程序中调用它就可以了。