Поток pydbg отказывается печатать информацию журнала

Я использую инструмент фаззинга Sulley, который использует pydbg для отладки целевого процесса. Потоки pydbg создаются в модуле process_monitor.py среды Sulley. Моя проблема заключается в том, что когда тестовый случай (неправильно сформированный пакет) вызывает сбой процесса, поток отладчика продолжает работать, а следующий тестовый случай вызывает нарушение прав доступа. Затем он отправляется в модуль сеанса с сообщением о неправильном пакете, Второй тестовый случай вызвал нарушение прав доступа. Я пытаюсь распечатать информацию журнала из pydbg для отладки именно того, что радует, но ничего, что я делаю, похоже, не работает. Очевидно, что с этого потока у него нет консоли для печати, поэтому я пробовал много разных способов записи в файл. Даже очень прямой logFile = open('C:\sulley_build\sulley\logFile.txt', 'w') logFile.write("test") не будет создавать файл в этом месте. Я знаю, что создается поток pydbg, но даже помещение этого кода в функцию _init__ ничего не дает. Помогите?

1 ответ

Я давно работал с монитором процессов, но вот мой совет:

  1. У Салли было несколько ошибок procmon, когда я его использовал. Я представил два патча здесь:

    Эти исправления ошибок могут быть связаны с вашей проблемой (трудно сказать с архитектурой Салли). Я бы дал им попробовать. Исправления уже применены к моему форку, или вы можете вручную применить их на своем собственном форке.

  2. Похоже, что procmon не сообщает о сбое должным образом. Я отчетливо помню эту проблему, но не могу вспомнить, если указанные выше исправления решили ее. Если вы попытаетесь заставить его работать, ключевой метод ProcessMonitorPedrpcServer.post_send,

  3. Если вы хотите сообщить больше подробностей о сбое, попробуйте записать их в self.last_synopsis, Увидеть ProcessMonitorPedrpcServer.get_crash_synopsis,

Счастливого пуха!

Другие вопросы по тегам