pydbg 线程拒绝打印日志信息



我正在运行 Sulley 模糊测试工具,该工具使用 pydbg 来调试目标进程。pydbg 线程在 Sulley 环境的 process_monitor.py 模块中生成。我的问题是,当一个测试用例(格式错误的数据包)导致进程崩溃时,调试器线程继续运行,并且下面的测试用例触发访问冲突,然后发送到会话模块说错误的数据包,第二个测试用例导致访问冲突我正在尝试从pydbg打印日志信息以准确调试正在发生的事情,但我所做的似乎没有任何工作。显然,由于这是一个线程,它没有控制台可以打印到,所以我尝试了许多不同的写入文件的方法。即使是非常直接的logFile = open('C:\sulley_build\sulley\logFile.txt', 'w')logFile.write("test")不会在该位置创建文件。我知道 pydbg 线程已经生成,但即使将该代码放在 _init__ 函数中也没有任何作用。帮助?

自从我使用进程监视器以来已经有一段时间了,但这是我的建议:

  1. 当我使用它时,Sulley有几个procmon错误。我在这里提交了两个补丁:

    • https://github.com/OpenRCE/sulley/pull/94
    • https://github.com/OpenRCE/sulley/pull/83

    这些错误修复可能与您的问题有关(很难与 Sulley 的架构分辨)。我会试一试。修复程序已经应用于我的分叉,或者您可以在自己的分叉中手动应用它们。

  2. 听起来procmon没有正确报告崩溃。我清楚地记得这个问题,但不记得上面提到的修复程序是否解决了它。如果您确实尝试使其工作,则关键方法是 ProcessMonitorPedrpcServer.post_send .

  3. 如果要报告更多崩溃详细信息,请尝试将它们写入 self.last_synopsis 。请参阅ProcessMonitorPedrpcServer.get_crash_synopsis

祝你模糊不清快乐!

最新更新