Dict.CN 在线词典, 英语学习, 在线翻译

学海苦作舟,书山勤为径

留下点回忆

常用链接

统计

积分与排名

Denoise

English study

Web技术

数据压缩

一些连接

最新评论

采用修改导入节的HOOK方式使用范围

HOOK有很多种方法,修改导入节的指定API地址是一种方式,但这种方式有缺限,请看下面解释。
一般的PE文件对于静态导入的文件在其导入节中指定对应的API地址,但WINDOWS中的很多库文件是以DLL的方式连接的,因此在PE的导入节中并没有该符号的定义,所以使用这种方式对于那些使用LOADLIBARY和GETPROCESS的PE文件就HOOK不成功了。
这个时候应该使用其他的HOOK办法,例如:远程线程技术。

posted on 2006-03-06 16:59 笨笨 阅读(943) 评论(3)  编辑 收藏 引用

评论

# re: 采用修改导入节的HOOK方式使用范围 2006-03-07 20:05 code4fun

按照你前面说的,应该是HOOK API,只是我不知道你后来说远程线程是什么意思。远程线程只不过是一种Inject DLL的方式,至于你说的要HOOK API,一种解决方法就是在函数入口 Jmp detours function  回复  更多评论   

# re: 采用修改导入节的HOOK方式使用范围 2006-03-07 21:40 笨笨

我后来也看到了这个问题,远程线程是一方面,但修改导入节对于动态调用的方式是不行的,需要取得GetProcAddress来得到地址,且跳转。  回复  更多评论   

# re: 采用修改导入节的HOOK方式使用范围 2006-04-01 17:33 Leon

呵呵,都不知道你反复提到远程线程是为什么,远程线程作为置入DLL的方法还是不错的,对于动态加载的DLL,修改导入节的方式当然是不行的,而且使用过程中会发现,很多人还是偏向于使用动态加载的,所以说,修改函数头才是王道啊.没见Detours用起来是那么的爽吗.  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理