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相當容易
大家寫驅動時不要犯這樣的錯誤了...
不說了,有興趣的自己看代碼吧
上傳的附件
文件類型: rar ILDriver完整逆向.rar (2009-01-01 20:30, 264.0 KB, 141 次下載)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章