我为自己设置了一个新任务,涉及“间谍”COM对象.
即使你不做COM,你也可能熟悉API钩子技术,你可以在调用原始函数之前挂钩导入的函数并执行你自己的代码. API挂钩有点复杂但如果你试图挂钩到COM对象方法,它会很快变得混乱(对于生产代码IMO而言太乱).
所以,目前,为了做“我的工作”,我为CoCreateInstance设置了一个API挂钩,并为我感兴趣的接口发送手写代理.现在这不是很多接口,但它不是最好的解决方案无论是.
有没有办法以更简洁的方式做到这一点,最好不使用API挂钩?
另一方面,这篇文章似乎是很棒的工作http://www.ddj.com/windows/184416546?pgno=5,但二进制文件不再起作用了(我猜它是围绕Win98编写的).有谁知道它的内部结构,并能指出我正确的方向让它再次工作?
谢谢
我绝对建议使用Keith Brown的’Universal Delegator’进行低级拦截. Kim Grasman提到的ComTrace工具使用它.它允许您将一个任意com对象包装在一个可以进行拦截,记录等的“shell”中.描述通用委托者的原始文章(带代码)是
here和
here.
如果你想监视任意进程中的com对象(你没有源代码),那么你还需要使用CreateRemoteThread()或类似的东西进行代码注入.有一篇文章here可能会让你开始,如果你以前没有这样做.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。