2016-03-05 61 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

非常感謝!我會給它一個鏡頭。 –