phantom是ollydbg的一款外掛程式,可以用來繞過大多數的反除錯技術,功能十分強大,所以單獨對這個外掛程式進行使用總結。(ps:現在似乎不怎麼常用,在64位下的相容性比較差,現在比較常用的是sharpod,但因為在《惡意**分析實戰》接觸phantom較多,所以先對之進行總結)
這是外掛程式的介面。我們要了解外掛程式的功能,首先就要知道這些功能是對抗何種反除錯的。
可以用來解決反除錯windows api和反除錯資料結構,因為他們反除錯的基礎都是peb中的資料成員beingdebugged屬性、processheap屬性、ntglobalflag。
索引勾選這個選項就可以繞過此類反除錯技術。
2.protect drx
這個選項我沒用過,但是大體上應該是用來對抗通過硬體斷點來進行反除錯的技術,比較少見。
《惡意**》中一筆帶過:
3.fix odstring,fpu,import
4.hook blockinput
5.hook gettickcount
gettickcount()返回最近系統時間與當前時間的相差毫秒數。hook就可以繞過時鐘檢測。
6.hook getprocesstimes
7.remove ep break
8.custom handler exceptions
9.chance olly caption
10.patch numberofrvaandsizes
11.load diver
12.hide ollydbg windows
繞過視窗痕跡反除錯,隱藏od視窗資訊。
13.hook ntsetcontextthread
ntsetcontextthread設定當前執行緒上下文資訊,可能是通過設定暫存器資訊等,防止下硬體斷點。
14.hook rdtsc
對抗時鐘反除錯技術。
(以上很多功能我都沒有用到過,網上關於這方面資料很少,以後學習過程中,我會慢慢補齊。)
同時也可以看出hook技術相當的重要啊。
反除錯技術二
五 使用ntqueryinformationprocess函式 ntqueryinformationprocess函式是乙個未公開的api,它的第二個引數可以用來查詢程序的除錯埠。如果程序被除錯,那麼返回的埠值會是 1,否則就是其他的值。由於這個函式是乙個未公開的函式,因此需要使用loadlibra...
反除錯技術二
五 使用ntqueryinformationprocess函式 ntqueryinformationprocess函式是乙個未公開的api,它的第二個引數可以用來查詢程序的除錯埠。如果程序被除錯,那麼返回的埠值會是 1,否則就是其他的值。由於這個函式是乙個未公開的函式,因此需要使用loadlibra...
反除錯技術二
五 使用ntqueryinformationprocess函式 ntqueryinformationprocess函式是乙個未公開的api,它的第二個引數可以用來查詢程序的除錯埠。如果程序被除錯,那麼返回的埠值會是 1,否則就是其他的值。由於這個函式是乙個未公開的函式,因此需要使用loadlibra...