我想在从应用程序调用 DLL 时对其进行调试。例如,当 Firefox 调用nss3.dll“ NSS Builtin Trusted Root CAs ”来检查 HTTPS 证书时,我想nss3.dll用 OllyDBG 或任何其他已知调试器捕获并调试所有事务。
如何跟踪创建的线程并调试它们?
我想在从应用程序调用 DLL 时对其进行调试。例如,当 Firefox 调用nss3.dll“ NSS Builtin Trusted Root CAs ”来检查 HTTPS 证书时,我想nss3.dll用 OllyDBG 或任何其他已知调试器捕获并调试所有事务。
如何跟踪创建的线程并调试它们?
在 OllyDBG 和 ImmunityDbg 中,在 Options->Debugging Options->Events 中有一个选项“Break on new module”。如果设置了此选项,则每当加载新的 DLL 时,Olly/Immdbg 都会中断并让您开展业务。
在 Windbg 中,按照 Debug-> Event Filters,在列表中您将找到 Load 模块,在侧面将选项设置为“已启用”和“已处理”,这将实现与上述相同的结果。
另一方面,如果您想中断特定函数,您可以检查 DLL 导出,其中列出了 DLL 导出的所有函数。加载 DLL 后,调试器按照前面提到的设置中断,然后您可以继续在各个函数上设置断点。