黃荷潔,康 緋,舒 輝
(解放軍信息工程大學數學工程與先進計算國家重點實驗室,鄭州450000)
基于動態數據流分析的虛擬機保護破解技術
黃荷潔,康 緋,舒 輝
(解放軍信息工程大學數學工程與先進計算國家重點實驗室,鄭州450000)
由于虛擬機采用虛擬化技術和代碼混淆技術,采用傳統的逆向分析方法還原被虛擬機保護的算法時存在較大困難。為此,提出一種基于動態數據流分析的虛擬機保護破解方法。以動態二進制插樁平臺Pin作為支撐,跟蹤記錄被虛擬機保護的算法在動態執行過程中的數據流信息,對記錄的數據流信息進行整理分析,獲取虛擬機指令的解釋執行軌跡,還原程序的控制流圖,根據軌跡信息對數據生成過程進行分層次、分階段還原,并由分析人員結合控制流圖和數據生成過程進行算法重構。實驗結果證明,該方法能夠正確還原程序的控制流和數據生成過程,輔助分析人員完成被保護算法的重構。
數據流分析;虛擬機保護;控制流還原;算法還原
軟件核心算法的逆向分析在網絡協議逆向、惡意代碼機理分析、協議特征提取等安全應用中發揮著重要的作用。目前惡意軟件廣泛采用虛擬機保護等抗分析技術對核心算法進行保護,使得已有的逆向分析方法面臨新的挑戰。
虛擬機保護技術[1]是指將基于x86指令系統的可執行代碼轉換為字節碼(Pcode)并加入虛擬機解釋器,程序運行時,由虛擬機解釋器對轉換后的Pcode進行解釋執行?!?br>