留下点回忆
HOOK有很多种方法,修改导入节的指定API地址是一种方式,但这种方式有缺限,请看下面解释。一般的PE文件对于静态导入的文件在其导入节中指定对应的API地址,但WINDOWS中的很多库文件是以DLL的方式连接的,因此在PE的导入节中并没有该符号的定义,所以使用这种方式对于那些使用LOADLIBARY和GETPROCESS的PE文件就HOOK不成功了。这个时候应该使用其他的HOOK办法,例如:远程线程技术。
posted on 2006-03-06 16:59 笨笨 阅读(943) 评论(3) 编辑 收藏 引用
按照你前面说的,应该是HOOK API,只是我不知道你后来说远程线程是什么意思。远程线程只不过是一种Inject DLL的方式,至于你说的要HOOK API,一种解决方法就是在函数入口 Jmp detours function 回复 更多评论
我后来也看到了这个问题,远程线程是一方面,但修改导入节对于动态调用的方式是不行的,需要取得GetProcAddress来得到地址,且跳转。 回复 更多评论
呵呵,都不知道你反复提到远程线程是为什么,远程线程作为置入DLL的方法还是不错的,对于动态加载的DLL,修改导入节的方式当然是不行的,而且使用过程中会发现,很多人还是偏向于使用动态加载的,所以说,修改函数头才是王道啊.没见Detours用起来是那么的爽吗. 回复 更多评论
Powered by: C++博客 Copyright © 笨笨