留下點回憶
HOOK有很多種方法,修改導入節(jié)的指定API地址是一種方式,但這種方式有缺限,請看下面解釋。一般的PE文件對于靜態(tài)導入的文件在其導入節(jié)中指定對應的API地址,但WINDOWS中的很多庫文件是以DLL的方式連接的,因此在PE的導入節(jié)中并沒有該符號的定義,所以使用這種方式對于那些使用LOADLIBARY和GETPROCESS的PE文件就HOOK不成功了。這個時候應該使用其他的HOOK辦法,例如:遠程線程技術。
posted on 2006-03-06 16:59 笨笨 閱讀(974) 評論(3) 編輯 收藏 引用
按照你前面說的,應該是HOOK API,只是我不知道你后來說遠程線程是什么意思。遠程線程只不過是一種Inject DLL的方式,至于你說的要HOOK API,一種解決方法就是在函數(shù)入口 Jmp detours function 回復 更多評論
我后來也看到了這個問題,遠程線程是一方面,但修改導入節(jié)對于動態(tài)調(diào)用的方式是不行的,需要取得GetProcAddress來得到地址,且跳轉(zhuǎn)。 回復 更多評論
呵呵,都不知道你反復提到遠程線程是為什么,遠程線程作為置入DLL的方法還是不錯的,對于動態(tài)加載的DLL,修改導入節(jié)的方式當然是不行的,而且使用過程中會發(fā)現(xiàn),很多人還是偏向于使用動態(tài)加載的,所以說,修改函數(shù)頭才是王道啊.沒見Detours用起來是那么的爽嗎. 回復 更多評論
Powered by: C++博客 Copyright © 笨笨