在之前的三篇文章,進行了繞過反調試技術的相關實驗,先對其進行總結。
如何繞過反調試技術——學習回顧(1)
如何繞過反調試技術——學習回顧(2)
如何繞過反調試技術——學習回顧(3)
一、繞過數據結構的反調試(實際上那些反調試API也是通過這些成員識別反調試)
例如BeingDubgged和NtGlobalFalg以及ProcessHeap的反調試技術。
1.使用插件phantOM
插件功能強大,可以繞過大多數此類的反調試技術
二、手動修改
在Common行中,dump到數據成員的位置,進行修改。
例如BeingDubgged=01的時候,被判定爲正在被調試,那麼我們可以將其修改爲00,繞開反調試。
NtGlobalFalg=0x70時,被認定爲反調試,那麼修改爲00,則可以繞過反調試。
二、繞過痕跡檢測
例如當前窗口信息等。
使用phantOM插件(牛逼)
三、繞過時鐘檢測
對於始終檢測,我們首先在IDA中找到時鐘檢測的位置,然後在OD中對跳轉的地方實現nop爆破,使之無論測試通過與否,都跳轉到正確的地方。
四、繞過TLS回調函數
TLS回調函數實際上也是通過以上的手段來進行反調試的,所以一般也是使用phantOM插件來繞過反調試。
還有一些情況留待總結