首页
社区
课程
招聘
Inline HOOK的问题
发表于: 2014-2-27 13:48 3270

Inline HOOK的问题

2014-2-27 13:48
3270
本人目前在编写一个R3层的HOOK类,碰到一个小问题求教。
我的类的HOOK成员函数其中有一个参数类型是函数指针,用于传入自定义函数。(HOOK函数之后的中间代码处理就存放在自定义函数中)
为了堆栈、寄存器等保持原貌,我为自定义函数添加了 __declspec(naked)的前缀。众所周知,加了这个前缀之后编译后的函数中将不会产生其它额外代码,只会有我自已写的代码,但需要自已在函数尾部添加jmp或ret等返回指令。
此时问题就出现了,返回指令如果写在了自定义函数中,就破坏了HOOK类良好的封装性,我希望自定义函数中只关心中间处理逻辑,返回指令等最好是能在类中自动添加。请教看雪的各位高手,有没有什么好的办法处理这个问题?
分实在不多了,实在不好意思。

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 22
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不要用开发的思维指导安全

安全关注的是实现和兼容性

而不是oop
2014-2-27 13:55
0
雪    币: 293
活跃值: (287)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
你用detours库写下代码,然后跟下代码,看别人hook是怎么做的,那个 __declspec(naked) 完全是多余的,代码中根本就不需要出现汇编代码,直接C就可以搞定了
2014-2-27 13:56
0
雪    币: 1392
活跃值: (4867)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
4
detours搞定。再写个封装
2014-2-27 14:08
0
游客
登录 | 注册 方可回帖
返回
//