惡意樣本分析-Lab16-01 反調試1分析
這個樣本是隨書《惡意代碼分析實戰》第十六章的樣本,主要用來熟悉反調試的一些手段,這個算是樣本分析中需要掌握的基礎知識。這篇筆記會包含了靜態分析和靜態分析。基本要求
在分析這個樣本之前可以先看一下惡意樣本分析–16Windows中一些常用的反調試記錄
靜態分析
靜態分析就不做PE信息的分析,直接走IDA分析,這個過程儘量不走僞代碼分析,分析彙編指令,便於在x64dbg上分析時快速定位。
由於已經在第九章分析了,因此這裏關注到反調試手段。首先來到入口處看到關鍵指令
很明顯這個兩個檢測都是PEB
結構的變量的檢測,如果都不爲0,則會調用函數sub_401000
刪除樣本。
動態調試分析
使用x64dbg
加載來到入口位置(這裏注意如果程序放行就會停止同時樣本被刪除),
- 檢測BeingDebugged
第一個檢測返回狀態值不爲0,爲1
手動修改結果eax=0
修改完之後就手動過掉這個檢測。
-
測ProcessHeap
雙擊ZF就從0變爲1
這樣就過掉這個檢測。
-
檢測NtProcessFlag
這裏會檢測NtProcessFlag的值是否爲0x70
正常情況的是0,如果被調試可以看到這個狀態值是0x70
這裏同樣清掉這個值爲0即可。
這樣就過掉所有的檢測了
剩下的就是之前分析的不再繼續分析了。