求COM大人解答~~

C++语言 码拜 6年前 (2015-05-11) 291次浏览 0个评论
 

背景是这样的:
已知有个软件系统内部的两个程序间是用COM通信的,现需要我们替换一端的程序。
通过网上找的反汇编工具、Depends,Resource hacker等工具能查到COM对象的名称、ClassID等。
有如下问题:
1、能否知道我的一些操作调用了哪些COM对象的哪些方法。
2、能否使用COM注入、拦截等手段,进行重定向?拦截等?(类似DLL的同名DLL,覆盖代码等)

20分
1. 反编译外部接口

2. 可以,使用DLL劫持

20分
http://www.codeproject.com搜“COM Hook”
http://www.codeproject.com/Articles/153096/Intercepting-Calls-to-COM-Interfaces
这篇文章介绍了两种方法,稍微了解了一点
1、代理程序
2、修改虚函数表
不过为啥下载下来的例子不好用?我已经将注册表的AppInit_DLLs修改成了相应的DLL名字啊
引用 2 楼 zhao4zhong1 的回复:

在http://www.codeproject.com搜“COM Hook”

大大帮看看呀。

说句掏心窝子的话:“我也没亲自动手搞过。”
推荐阅读《COM本质论》
WinAPIOverridehttp://jacquelin.potier.free.fr/winapioverride32/

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明求COM大人解答~~
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!