【问题标题】:pydbg thread refuses to print log informationpydbg线程拒绝打印日志信息
【发布时间】:2016-06-19 13:17:16
【问题描述】:

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

【问题讨论】:

  • 目标进程是在同一台机器上还是不同的机器上?
  • 您使用的是 Windows 进程监视器还是 Unix 进程监视器?
  • 它在不同的机器上,一个虚拟镜像。所有盒子都运行 Windows 7、32 位。

标签: fuzzing pydbg


【解决方案1】:

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

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

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

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

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

模糊测试愉快!

【讨论】:

  • 非常感谢!我试试看。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-17
  • 1970-01-01
  • 1970-01-01
  • 2022-12-07
  • 1970-01-01
相关资源
最近更新 更多