如何调试从应用程序导入的 DLL?

逆向工程 调试器 调试
2021-06-28 06:44:56

我想在从应用程序调用 DLL 时对其进行调试。例如,当 Firefox 调用nss3.dllNSS Builtin Trusted Root CAs ”来检查 HTTPS 证书时,我想nss3.dll用 OllyDBG 或任何其他已知调试器捕获并调试所有事务。

如何跟踪创建的线程并调试它们?

1个回答

在 OllyDBG 和 ImmunityDbg 中,在 Options->Debugging Options->Events 中有一个选项“Break on new module”。如果设置了此选项,则每当加载新的 DLL 时,Olly/Immdbg 都会中断并让您开展业务。

在 Windbg 中,按照 Debug-> Event Filters,在列表中您将找到 Load 模块,在侧面将选项设置为“已启用”和“已处理”,这将实现与上述相同的结果。

另一方面,如果您想中断特定函数,您可以检查 DLL 导出,其中列出了 DLL 导出的所有函数。加载 DLL 后,调试器按照前面提到的设置中断,然后您可以继续在各个函数上设置断点。