如何从DIA SDK中过滤非内核(用户导入)的dll?
我需要专门过滤所有用户导入的 dll。 DIA SDK 提供 SymTagCompiland 下的所有模块,其中包括所有内核和其他未明确链接的导入。
我只需要那些在运行时或编译时显式链接的依赖 Dll(模块)(在项目配置的链接器输入区域中提到)。
我该如何过滤这个?
问候, 乌斯曼
I need to specifically filter all user imported dll's. DIA SDK gives all modules under SymTagCompiland which includes all kernel and other imports those are not explicitly linked.
I only need those dependent Dll's(modules) which are explicitly linked at runtime or at compile time(mentioned in Linker's Input area of project Configuration).
How can I filter this?
Regards,
Usman
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为什么需要 DIA?如果加载了进程,您可以使用
EnumProcessModules
。或者你可以看看PE本身。 本文对此进行了解释。
您可能需要挂钩
LoadLibrary
和/或DllMain
来获取是否动态加载某些 DLL。检查本文进行挂钩。除非您正在编写调试器,否则不需要 DIA 或
WaitForDebugEvent
-ContinueDebugEvent
。Why do you need DIA for that? You can use
EnumProcessModules
if process is loaded.Or you can look into PE itself. This article explains it.
You may need to hook into
LoadLibrary
and/orDllMain
to get if some DLL is dynamically loaded. Check this article for hooking.Unless you are writing a debugger, DIA or
WaitForDebugEvent
-ContinueDebugEvent
is not required.