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