紫水晶编程技术论坛 - 努力打造成全国最好的编程论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 44191|回复: 136

[原创]WIN64上一种只需修改函数6个字节的INLINE HOOK方法

  [复制链接]

854

主题

3481

帖子

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

Rank: 125Rank: 125Rank: 125Rank: 125Rank: 125

积分
36100
发表于 2014-8-15 22:55:13 | 显示全部楼层 |阅读模式
我在教程里,公布了一种修改函数14个字节的INLINE HOOK方法。不得不说,这是一种很糟糕的HOOK法,因为需要太多空间了。这样子甚至难以实现安全HOOK,因为InterlockExchange系列函数顶多能一次性修改8个字节。

其实稍微改造一下代码,即可实现修改函数6字节的HOOK法。

以KeQueryPerformanceCounter为例,看看此函数头之前是什么样子的:
  1. lkd> u hal!kequeryperformancecounter-8
  2. hal!HalpScaleQueryPerformanceCounter+0x40:
  3. fffff800`01e0a6ec 90              nop
  4. fffff800`01e0a6ed 90              nop
  5. fffff800`01e0a6ee 90              nop
  6. fffff800`01e0a6ef 90              nop
  7. fffff800`01e0a6f0 90              nop
  8. fffff800`01e0a6f1 90              nop
  9. fffff800`01e0a6f2 90              nop
  10. fffff800`01e0a6f3 90              nop
复制代码

前面是8个NOP,正好足够放下一个64位的地址。那么思路就是:
游客,如果您要查看本帖隐藏内容请回复
具体实现的代码就自己动手写吧。
头像被屏蔽

0

主题

29

帖子

0

精华

金牌会员

Rank: 4Rank: 4Rank: 4Rank: 4

积分
976
发表于 2014-8-15 23:01:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

0

主题

14

帖子

0

精华

铂金会员

Rank: 5

积分
2276
发表于 2014-8-15 23:02:33 | 显示全部楼层
哈哈,学习一下

0

主题

24

帖子

0

精华

铜牌会员

Rank: 2Rank: 2

积分
165
发表于 2014-8-16 11:08:54 | 显示全部楼层
学习了

0

主题

30

帖子

0

精华

铜牌会员

Rank: 2Rank: 2

积分
124
发表于 2014-8-17 12:02:16 | 显示全部楼层
支持一下。。看下6字节的inlinehook

273

主题

3287

帖子

1

精华

管理员

嗷嗷叫的老马

Rank: 125Rank: 125Rank: 125Rank: 125Rank: 125

积分
17057

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2014-8-17 17:11:36 | 显示全部楼层
{:soso_e179:}看见汇编头就痛啊
我就是嗷嗷叫的老马了......

1

主题

78

帖子

0

精华

铂金会员

Rank: 5

积分
1972
发表于 2014-8-18 11:19:29 | 显示全部楼层
thanks。学习了

854

主题

3481

帖子

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

Rank: 125Rank: 125Rank: 125Rank: 125Rank: 125

积分
36100
 楼主| 发表于 2014-8-18 13:58:17 | 显示全部楼层


你的鼠标发疯了么?一连发了10个贴。。。

1

主题

78

帖子

0

精华

铂金会员

Rank: 5

积分
1972
发表于 2014-8-19 00:08:36 | 显示全部楼层
Tesla.Angela 发表于 2014-8-18 13:58
你的鼠标发疯了么?一连发了10个贴。。。

。。。论坛有时候卡的很,一下谈不出来,可能多点了吧

1

主题

83

帖子

0

精华

铜牌会员

Rank: 2Rank: 2

积分
156
发表于 2014-8-25 21:33:40 | 显示全部楼层
看看看看楼主的方法
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

手机版|Archiver|紫水晶工作室 ( 粤ICP备05020336号 )

GMT+8, 2024-4-20 05:14 , Processed in 0.027783 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表