社区
ATL
帖子详情
com hook问题,jameshoo请进
rageliu
2009-12-21 02:36:32
jameshoo兄,我记得你发过帖说成功hook了com。好象你说不同实例都会进到你的hook 函数,this指针不同,想和你确定下这个问题
...全文
164
14
打赏
收藏
com hook问题,jameshoo请进
jameshoo兄,我记得你发过帖说成功hook了com。好象你说不同实例都会进到你的hook 函数,this指针不同,想和你确定下这个问题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jameshooo
2009-12-28
打赏
举报
回复
今天被人提醒了一下,才发现有人向我提问,但ID名写错了,所以我没有收到。
话说当年搞这个HOOK确实成功了,但关键之处不是我搞成功的,而是 zhoujianhei(好像就是这个ID),当时的试验环境是:
系统创建了一个接口实例,我HOOK了其中一个接口方法(其它方法不理),这个容易成功。我希望验证一下同一个接口的其它实例是不是也自动被我HOOK了。按照C++原理,同一个类是共享相同虚表的,HOOK一个虚表对所有实例都有效,但在COM环境中不能成立,原因就在于,组件是在其它的模块中实现的,即使是同一个接口定义,在不同模块中都会有各自的虚表地址,所以它可能会指向不同模块中的虚表。换句话说,两个模块提供的同一种接口类型实际上是两种不同的类型。
其实里面的机制我还没完全搞明白,因为在特定环境下,获得的COM接口只是一个代理接口,代理接口是如何产生这个虚表的,我也没明白,现在也懒得去深究了。
zhd6392
2009-12-25
打赏
举报
回复
com不是提供了二进制层次上的封装,它也能被hook么?学习...
我在地球
2009-12-22
打赏
举报
回复
好好学习,天天向上
珍惜生命远离CPP
2009-12-21
打赏
举报
回复
我之前写的,Hook COM
http://blog.csdn.net/akirya/archive/2009/04/13/4070681.aspx
zoulie
2009-12-21
打赏
举报
回复
貌似有这个帖子讲过HOOK COM的, 坐等jameshoo
雪影
2009-12-21
打赏
举报
回复
mk
他的这篇文章我也没看过。
谁给个链接?
rageliu
2009-12-21
打赏
举报
回复
本来准备问点现成的资料,就不用再写测试了,结果jameshoo没来,呵呵
ahao
2009-12-21
打赏
举报
回复
还用这个表啊,会有什么附加操作呢?
珍惜生命远离CPP
2009-12-21
打赏
举报
回复
[Quote=引用 5 楼 rageliu 的回复:]
我没说明白,第一个实例的时候,虚表里的地址已经有。以后创建其他实例的时候,是直接用这个已经有的表还是有一定的附加操作。我测试看到有操作。
[/Quote]
虚表是属于类的,所有对象共享一个虚表。
rageliu
2009-12-21
打赏
举报
回复
我没说明白,第一个实例的时候,虚表里的地址已经有。以后创建其他实例的时候,是直接用这个已经有的表还是有一定的附加操作。我测试看到有操作。
ahao
2009-12-21
打赏
举报
回复
[Quote=引用 3 楼 rageliu 的回复:]
我测试了下,确实是不同实例使用了同一个虚表
[/Quote]
不同实例本来就用同一个虚表
rageliu
2009-12-21
打赏
举报
回复
没来啊。
我测试了下,确实是不同实例使用了同一个虚表
sjdev
2009-12-21
打赏
举报
回复
去年的事情了吧,我记得。
等老胡出来……
ziplj
2009-12-21
打赏
举报
回复
sf
键盘监控范例程序
利用
Hoo
k
技术实现键盘监控
Windows
Hoo
k
经验总结之四:
COM
组件
Hoo
k
原理及实践
前面已经介绍过API的
hoo
k
方法及具体实践,本文则讲述
COM
组件的
Hoo
k
方式。
COM
组件可简单理解为一个二进制可执行程序或DLL,内部包含一系列的接口和函数。
Hoo
k
COM
本质上也是进行函数地址切换,让它跳到我们自定义的函数执行我们想要的功能。但这一切同样是发生在系统架构下,自定义函数的执行时机不由我们触发。 一次完整的
Hoo
k
流程包括以下三步:定位
COM
,确定自己需要
hoo
k
的目标。可以从...
游戏逆向安全之
HOO
K
变态功能实现
游戏逆向安全之
HOO
K
变态功能实现
Inline
Hoo
k
之(监视任意函数)
前面已经写过两次inline
hoo
k
的博文了,第一篇为:《C/C++
HOO
K
API(原理深入剖析之-LoadLibraryA)》,这篇博文的方法是通过修改任意函数的前面N个字节,实现跳转并进入到我们自定义的
hoo
k
函数里,执行完毕我们的
hoo
k
函数之后,再直接调用被
hoo
k
的函数。第一篇的方法没有考虑多线程的情况,所以在多线程环境下会有
问题
。第二篇为:《Inline
HOO
K
API 改进版(hot-patching)》,这篇的初衷是为了解决多线程的
问题
,因为这种方式是一直
hoo
k
的,直到程序结束。
关于PyTorch中的register_forward_
hoo
k
()函数未能执行其中
hoo
k
函数的
问题
关于PyTorch中的register_forward_
hoo
k
()函数未能执行其中
hoo
k
函数的
问题
Hoo
k
是 PyTorch 中一个十分有用的特性。利用它,我们可以不必改变网络输入输出的结构,方便地获取、改变网络中间层变量的值和梯度。这个功能被广泛用于可视化神经网络中间层的 feature、gradient,从而诊断神经网络中可能出现的
问题
,分析网络有效性。
Hoo
k
函数机制:不改变主体,实现额外的功能,像一个挂件一样;
Hoo
k
函数本身不是本文介绍的重点,本文主要是记录一下笔者在使用
hoo
k
函数时
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章