我正在运行Sulley fuzzing工具,它使用pydbg来调试目标进程。 pydbg线程在Sulley环境的process_monitor.py模块中生成。我的问题是,当测试用例(格式错误的数据包)导致进程崩溃时,调试器线程继续运行,并且以下测试用例会触发访问冲突。然后,这会被发送到会话模块,说出错误的数据包,第二个测试用例导致访问冲突。 我正在尝试从pydbg打印日志信息以准确调试正在发生的事情,但我所做的一切似乎都在起作用。显然,因为这个线程没有可以打印的控制台,所以我尝试了很多不同的写入文件的方法。 即便是非常直截了当 logFile = open(' C:\ sulley_build \ sulley \ logFile.txt',' w') logFile.write("测试&#34) 不会在该位置创建文件。我知道pydbg线程已经生成,但即使将该代码放在_init__函数中也没有做任何事情。 帮助
答案 0 :(得分:1)
自从我使用过程监控器以来已经有一段时间了,但这是我的建议:
当我使用它时,Sulley有几个procmon bug。我在这里提交了两个补丁:
这些错误修复可能与您的问题有关(很难说Sulley的架构)。我会试一试。修复程序已应用于my fork,您也可以在自己的分支中手动应用它们。
听起来procmon没有正确报告崩溃。我清楚地记得这个问题,但不能回想一下上面提到的修复是否能解决它。如果您确实尝试使其正常工作,则关键方法为ProcessMonitorPedrpcServer.post_send
。
如果您想报告更多崩溃详情,请尝试将其写入self.last_synopsis
。请参阅ProcessMonitorPedrpcServer.get_crash_synopsis
。
快乐模糊!