我需要一个示例代码/工具来解析PE文件并列出所有LoadLibrary
和GetProcAddress
个调用。除此之外,我还需要传递给LoadLibrary
的DLL名称和传递给每个列出的GetProcAddress
调用的函数名称。
答案 0 :(得分:1)
无法静态检查对LoadLibrary / GetProcAddress的调用。
要从PE文件中静态获取导入和导出列表,请使用PEDUMP(或者您可以使用此在线实用程序:http://pedump.me)。
要为LoadLibrary / GetProcAddress配置应用程序,您需要像WinDbg这样的东西。将WinDbg附加到要分析的进程,并在LoadLibrary / GetProcAddress上放置断点。然后,您将能够看到参数。例如:
会在发生LoadLibraryA时打印出所有调用。
答案 1 :(得分:0)
您也可以使用Dependency walker。此工具显示所有类型(隐式,延迟加载,转发)依赖项。使用此工具,您甚至可以测试动态依赖项(通过调用LoadLibrary / GetProcAddress创建的依赖项)!要制作后者,必须在分析模式下运行Dependency walker。
答案 2 :(得分:0)
在某些情况下,在64位Windows上,您将无法使用Dependency Walker。在这种情况下,在WinDbg中使用它:
bu KERNELBASE!LoadLibraryExW "du/c100 rcx;g;"