本來想寫一個U盤保存刪除過的程序,以為就只要修改IAT(PE的導入表就可以了),但發現exploere根本就沒有用直接調用文件操作API,
而且是通過GetProcessAddr 來獲得API 地址, 而且還是全局保存這個變量,因為我后面HOOK GetProcessAddr ,在explorer正常運行的時候去遠程注入進出,發現后面exploere根本就沒有調用了,所以推出應該用的全局變量。
后面在網上用VB HOOK exploere ,所以我沒有學過VB,但那個種高級語言,只要學過c語言的人基本上都能看的懂。原來就覆蓋API.
后面用VC實現了這個功能,不過沒有一點成就感,畢竟是看別人代碼寫的。
后面我一個方法:CreateProcess exploere然后 掛起,然后遠程注入 掛鉤GetProcess, 但是他要獲取文件操作的API 就是返回我的設置的API。如果不是就返回真真的GetProcessAddr
這樣確實檢測到exploere 確實調用那個API。但貌似還沒有攔截到文件操作 . 不知道為什么,思考了好幾天,沒有解決。出現了一些奇怪的想象。
看來操作這種系統有關的程序,還是比較困難。很多奇怪的現象會出現。
什么exploere不能夠恢復線程,什么exploere訪問異常。弄到最還是沒有通過自己方法解決,如果用覆蓋API方法,我就沒有想寫這個程序的沖動了。
不過寫這個程序,又重新學習了一下PE,對PE有一定理解。或許 應了那句生活處處有學問。
這幾天,看了ACE 1卷, 以前看在學校看不懂他在說什么,現在有了一定理解。也看了 我們c++ 博客園 陳碩 出版一本書 網絡的書籍。
寫蠻好,但比較散,不適合我這種沒有實際工作中開發網絡服務器。
有時間研究一下他庫,寫一個windows下這種庫。
我還是好好研究我一下網絡東西,專心搞一門。
上面說的環境XP。 WIN7 exploere 文件操作已經不一樣了用COM ,網上有類似的代碼。
posted on 2013-04-29 00:32
小魚兒 閱讀(547)
評論(0) 編輯 收藏 引用