修改SoftIce使其在2000/xp 
 

修改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檢測的功能。別的系統的
話請多起啟動確認一下是否是固定的位。 
如果不是,你只有每次手動修改了。