hook api 对隐式联接的dll 不起作用

xt_jat 2005-08-25 06:53:56
我用了windows 核心编程中的 hook api 例子, 用setwindowshookex 来注入别的进程, 
可对隐式联接的dll 好象不起作用。 有哪位涉足过这一块的吗,给点建议

我要hook 系统目录下winmm.dll 中的midiOutOpen 函数
...全文
111 点赞 收藏 7
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wshcdr 2005-08-28
学习
回复
可能时你修改函数入口点的代码有问题
回复
老夏Max 2005-08-27
应该是可以的,不过是显式链接还是隐式链接,最终DLL都会被映射到进程空间中。只是隐式链接在Exe或者其他的程序被编译的时候会留下响应的信息,如DLL的名字,导出函数,默认的映射地址等等。
回复
DentistryDoctor 2005-08-26
注入目标进程再Hook?
回复
蒋晟 2005-08-26
调用DLL里面的函数有两种方法,一种是通过名字,一种是通过序号。
回复
xt_jat 2005-08-25
楼上的,winmm.dll 是系统的dll 别的程序可以通过loadlibrary来载入 也可以通过在编写程序时在VC的 LINK项里加入winmm.lib来隐式加载这个dll 在这种情况下,我的api hook 好象就hook 不到相应的api了,不知道是怎么回事,郁闷
回复
hook Dll隐式调用也只是你的启动程序能用,其他进程都是动态load的,要hook 变得进程中的api,首先要通过全局钩子将自己的修改api地址的代码注入到目标进程中,setwindowshookex 只是挂接钩子,将dll加载到其他进程是windows完成的,跟dll的加载方式没有关系
回复
发动态
发帖子
进程/线程/DLL
创建于2007-09-28

1.5w+

社区成员

VC/MFC 进程/线程/DLL
申请成为版主
社区公告
暂无公告