Mazewalker的目標是通過自動化運行時數據收集和更好的可視化來減少惡意軟件分析時間,最終可以幫助研究人員專注於靜態分析,而不是其動態部分。

包裝的代碼- MazeWalker監視執行代碼執行的所有內存區域,以便稍後重建整個執行。如果已經監視的區域(運行時代碼解密)發生了代碼更改,則將保存新版本,以供以後分析。這種方法似乎對於一般代碼解開包裝很有用。
位置獨立代碼- 解決間接控制流動變化問題( jmp eat , call [eax]等),指令參考地址和控制流量變化目標地址將在靜態階段進行以後使用。
系統API-這不是秘密,了解執行過程中使用的系統API參數可能有助於理解惡意軟件內部設備和整體目的。因此,MazeWalker具有基於Python的API呼叫站點分析,以節省或更改所使用的API參數。可以在專用Wiki頁面上閱讀更多內容。
代碼覆蓋範圍- MazeWalker在所有受監視過程中收集了執行的所有基本塊的列表。該信息用於通過標記IDA數據庫中的控制流程圖來協助代碼導航。
代碼分散- 當今大多數惡意軟件都將使用代碼注入並將自己分配到系統上的不同過程中。 Mazewalker能夠遵循這些注入路徑並在所有過程中收集數據,以顯示樣本行為的更清晰圖片。
環境檢測- 許多反研究技術都是基於各種系統API收集的信息。由於MazeWalker的API截距能力是基於腳本的,因此添加新的反抗研究對策(Wiki)非常容易。
可視化- 所有收集的運行時信息均由IDApython插件處理,並以更多(希望)有意義的方式呈現。可視化的新方法,考慮了運行時信息,並顯示了代碼如何執行人均視圖。這種方式在邏輯上有助於了解程序的設計,並進一步關注特定任務。


Mazewalker基於Intel的PIN框架,用於運行時數據收集和IDAPYTHON用於IN-IDA IN-IN-IN-IN-IN-IN-IN-IN-IN-IN-IN-IN-IN-IN-INICATION。

請參閱Wiki以獲取詳細說明。