如何繞過反調試技術——學習回顧(1)

之前總結了一些常見的反調試技術,反調試技術是程序作者用來保護程序不被調試,以此來保護自己的祕密,但是逆行分析人員也有自己的破解反調試的方法,就是“反反調試”。
記錄學習過程,以待後來溫習。
反調試技術的總結:https://blog.csdn.net/weixin_43742894/article/details/105278690
主要是通過學習《惡意代碼分析實戰》這本書的課後題,來進行繞過反調試的學習。
資源在這:鏈接:https://pan.baidu.com/s/11eObiXjcv2_QdC3BjlHXDw
提取碼:pis9

0x00 實驗要求

本次學習的是實驗一,實驗一的要求如下:
在這裏插入圖片描述
下面進行練習。
首先實驗一的程序是一個exe文件。
在這裏插入圖片描述

0x01 實驗工具:

IDA Pro
OllyDbg

0x02 分析過程

首先使用PEiD進行查殼,發現無殼,這個實驗作爲繞過反調試練習,無殼是可以理解的。就好比踢足球不帶扳手一樣合理🐶。
在這裏插入圖片描述
我們將文件放進IDA裏進行靜態分析。發現這個main函數中有很多fs:30h和sub_401000。並且在驗證後會有倆種可能,這裏執行的就是反調試的測試。
在這裏插入圖片描述
其二,又有很多call sub_401000。
進入sub_401000函數,此函數的最後是一個退出整個程序的_exit,然後查看sub_401000的交叉引用,發現調用sub_401000一共有79個,我們就可以判斷,sub_401000是在反調試不通過後退出程序的函數。
在這裏插入圖片描述
在這裏插入圖片描述
在OD裏查看,發現這個函數也是執行退出刪除的功能。
在這裏插入圖片描述

繞過反調試

第一判斷處:我們知道fs段寄存器偏移0x30h,可以找到PEB。第一個fs:[30h]+2指向了PEB的BeingDubgged,這是檢驗反調試的一種技術。BeingDubgged=1的時候就是被調試,這裏是第一處反調試。
在這裏插入圖片描述

ntdll!_PEB
   +0x000 InheritedAddressSpace : UChar
   +0x001 ReadImageFileExecOptions : UChar
   +0x002 BeingDebugged    : UChar
   +0x003 BitField         : UChar
   +0x003 ImageUsesLargePages : Pos 0, 1 Bit
   +0x003 IsProtectedProcess : Pos 1, 1 Bit
   +0x003 IsLegacyProcess  : Pos 2, 1 Bit

第一處繞過反調試:
適用於繞過PEB結構的反調試成員。
1.手動dump fs:[30]+2找到BeingDebugged,把01修改爲00,即可繞過BeingDebugged的反調試,下面PEB結構中的反調試,手動方法一致。
2.使用插件:PhantOM,勾選hide from PEB。
在這裏插入圖片描述
第二處:[fs:[30h]+18]+10,ProcessHeap也是用來測試反調試的的標誌,這是第二處反調試

   +0x014 SubSystemData    : Ptr32 Void
   +0x018 ProcessHeap      : Ptr32 Void
   +0x01c FastPebLock      : Ptr32 _RTL_CRITICAL_SECTION

第三處:fs:30h+68,NtGlobalFlag 反調試。

   +0x064 NumberOfProcessors : Uint4B
   +0x068 NtGlobalFlag     : Uint4B
   +0x070 CriticalSectionTimeout : _LARGE_INTEGER

0x03 總結:

1.使用了那些反調試技術:
手動檢測數據結構
1 檢測BeingDebugged屬性
2 檢測ProcessHeap屬性
3 檢測NTGlobalFlag
2.反調試技術成功後,會執行什麼操作
會執行sub_401000,刪除自身退出程序。
3.如何應對這些反調試技術
使用phantOM插件。
4.如何手動修改繞過反調試
使用COMMON,dump命令找到數據結構進行修改。
5.使用什麼插件可以繞過反調試
PhantOm

寫在最後:
“路漫漫其修遠兮,吾將上下而求索。”
反調試和反反調試技術是逆向分析中非常重要的部分,在之前的學習中爲了追求速度,學的粗枝大葉,到頭來又得花時間重新回顧,所以學習知識時,一定要腳踏實地,不能只學表面,不過如今複習,到也有“溫故而知新”的樂趣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章