VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 2695|回复: 5

[讨论] 怎么去hook只定义函数呢!附上HOOK api 函数的模块!

[复制链接]
发表于 2012-6-25 17:51:16 | 显示全部楼层 |阅读模式



这个是HOOK api 的 两个模块 但如果我要hook 一个之定义函数地址的话却不是单单修改地址这么简单


虽然我有写过 但是非常麻烦 求大家给优化 优化!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
发表于 2012-6-25 18:19:34 | 显示全部楼层
哦哦哦 ! 看到我亲爱的模块了。。。

点评

大大 我现在用的基本都是你写的东西哦!  发表于 2012-6-25 18:23
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-25 18:23:58 | 显示全部楼层
哈哈 楼上大大  求优化一个呗!

点评

没看明白你什么意思  发表于 2012-6-25 18:26
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-25 18:48:34 | 显示全部楼层
那个模块 只是hook api的 但如果我要hook 一个指定游戏里面的一个函数 要怎么改啊
我把  DllFunAddr 的地址改成要hook 地址的头部却不行 后来发现是修改头部问题 应该怎么改啊
回复 支持 反对

使用道具 举报

发表于 2012-6-25 21:30:07 | 显示全部楼层
qq275158045 发表于 2012-6-25 18:48
那个模块 只是hook api的 但如果我要hook 一个指定游戏里面的一个函数 要怎么改啊
我把  DllFunAddr 的地址 ...

那是跳转地址的问题。。
HookApi时 因为被Hook的函数在Dll中 所以地址重新计算
看以下代码
    '计算 我们的函数地址
    JmpAddr = JmpFunAddr - DllFunAddr - 5
    '/计算 空壳函数的地址
    JmpBackAddr = DllFunAddr - BackFunAddr - 5

就是这两个地址。。 修改下。。Ok了

点评

楼主意思是遇到hook处指令长度不是5字节长度的问题了吧  发表于 2012-6-26 22:47
可以修改成一个通用模块吗?  发表于 2012-6-25 23:04
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-6-27 22:55:33 | 显示全部楼层
学飞大大说的有理  不过后来发现了一个比较严重的问题 MySemaphore 这个函数如果hook了指定的函数后 不能 rent 返回到被HOOK的函数中 却是返回到 ntll 中 很奇怪!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-10-6 04:42

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表