天天看點

Icelight驅動部分完整逆向(源代碼)

 by achillis

Icelight(一線光)是個安全小工具,整體功能比較一般,但自我保護還不錯,比較全面吧.

前幾天不能上網,無聊之中看到Icelight的驅動不大(14k),于是就把它給逆了一下,也是我第一次完整逆一個驅動.

驅動中Hook時用了兩個反彙編引擎(搞不懂為什麼用兩個),其中一個是LDasm,就直接拿來用了.

另一個水準有限,還原成的C版不準确導緻有時候結果不正确,無奈之下用了原版彙編~~

對應的程式版本:1.8.802

TimeDateStamp:4886978D

驅動源碼編譯通過,可以替換原驅動正常工作~~

裡面用的相關技術沒有很特别的,但是應該說比較實用,至少有以下看點:

1.SSDT Hook 保護程序(Hook函數寫的很ws哈)

2.SSDT Shadow Hook(有8個相關函數,比較全了)

3.強制删除檔案(這個作者也說了,是參考自網上一份代碼)

4.一位元組兩次跳轉法Hook PspTerminateThreadByPointer保護自己線程

5.直接投遞Apc殺線程(為殺線程準備了兩個ApcRoutine,擷取PsExitSpecialApc失敗就用自帶的)

5.強制殺程序(自己周遊ThreadList然後逐個投遞Apc殺之)

需要以上代碼執行個體的盡可來A~~

不足之處:

1.有一個反彙編引擎沒有還原成C(之前還原成C版的了,但是用的時候結果不完全正确,隻好先用原版彙編的保證準确度)

2.程式退出後,驅動解除安裝之後會有一些遺留問題,程序無法打開,關于視窗的部分操作不正常,這個我找不出原因來,大牛幫解決下...

這個驅動的DeviceIoControl例程中對于使用者層傳入的參數不論是讀還是寫都不作任何檢查,是以想搞個BSOD相當容易

大家寫驅動時不要犯這樣的錯誤了...

不說了,有興趣的自己看代碼吧 上傳的附件

Icelight驅動部分完整逆向(源代碼)
ILDriver完整逆向.rar (2009-01-01 20:30, 264.0 KB, 141 次下載下傳)

繼續閱讀