2016-03-05 26 views
1

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

+0

目标进程是在同一台机器上还是另一台机器上? – jtpereyda

+0

你使用Windows进程监视器还是Unix进程? – jtpereyda

+0

它在不同的机器上,一个虚拟的图像。所有的盒子都运行Windows 7,32位。 –

回答

1

这已经有一段时间,因为我已经与过程监控工作,但这里是我的建议:

  1. 蒙塔有几个procmon中的错误,当我使用它。我在这里提出两个补丁:

    这些错误修正,可能与您的问题(硬与蒙塔架构来告诉)。我会给他们一个尝试。修正已应用于my fork,或者您可以手动将它们应用于您自己的分叉中。

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

  3. 如果你想报告更多的崩溃细节,请尝试将它们写入self.last_synopsis。请参阅ProcessMonitorPedrpcServer.get_crash_synopsis

快乐模糊!

+1

非常感谢!我会给它一个镜头。 –