修改SoftIce使其在2000/xp下躲過檢測
方法來自這裡http://www.woodmann.com/upload/showthread.php?s=&threadid=1806
在這裡我想說說自己的一點修改經驗,其實基本上和上面的帖子所說的內容相同。只是附加一點自己的解釋為了在2000/xp下躲過對SoftIce的檢測,我們需要修改三個檔案。其中NTICE.SYS和SIWVID.SYS位於%windir%/system32/drivers目錄下。NMTRANS.DLL位於SI的安裝目錄首先,我們要明白在2000/xp下有哪些手法來檢測SoftIce,最見的方法就是用CreateFileA的方式來檢測NTICE和SIWVIDSTART的存在,這是2000/xp下開啟裝置驅動的方法。還有就是利用INT
1和INT 3的方式和GF....MJ檢查。在這,我們只說怎麼躲過這些方法的監測。至於反單步跟蹤,那需要你自己的除錯技巧,不在本文範圍之類。
以下是如何修改那三個檔案,讓我們的SoftIce具有anti detect功能。
提醒!!
兩個驅動檔案NTICE.SYS和SIWVID.SYS被修改後一定要修正其效驗和checksum,這個可以使用lordpe完成。否則系統啟動將失敗!
NTICE.SYS的修改
1.查詢GFu*f串,修改為XFu*f,其後的MJ修改為XJ <其實隨便修改成什麼都可以>
2.查詢所有的Unicode字串\NTICE,修改為\XTICE <躲過NTICE檢測,注意前後一致>
3.查詢Unicode字串Bchkd,修改為Xchkd
<躲過SoftIce的Boundscheck後門檢測>
4.查詢字串\Driver\NTice,修改為\Driver\XTice
5.查詢Kernel32!UnhandledExceptionFilter,修改為user32!MessageBoxExW <這個是我的
修改方法,必須注意的是這樣做了後,SoftIce的Faults
On將失效。可以躲過一些INT 3檢測,自己選擇要不要修改吧>
SIWVID.SYS的修改
1.查詢所有的Unicode字串\SiwvidSTART,修改為\XiwvidSTART
<嗯嗯,躲過SIWVIDSTART檢測>
NMTRANS.DLL的修改
1.查詢字串\\.\NTICE,修改為\\.\XTICE至此我們所作的都已經做完。再次提醒一定要修正NTICE.SYS和SIWVID.SYS的效驗和!
經過上面的處理後,你的SoftIce的anti detect將大大加強。但是仍然躲不過INT 1的檢測方法。
躲過INT 1檢測SoftIce的方法如下:
在SoftICE裡鍵入IDT指令,我們將獲得IDTBase的值。在我的XP下總是8003F400。
然後d IDTBase,可以看到偏移為0DH處的字元是EE,我們將其修改為8E即可躲過INT
1的檢測
。
XP下的可以在SoftIce的啟動執行的指令里加上eb 8003F40D 8E,這樣每次SI啟動就自動具有了anti
INT 1檢測的功能。別的系統的話請多起啟動確認一下是否是固定的位。
如果不是,你只有每次手動修改了。