发布于 2015-06-22 10:45:07
如果只使用可执行代码,则无法判断是哪个代码,但如果其中附带有代理/存根dll,则可以假设它是DCOM。
可见的不同之处在于事物的注册方式。深入了解注册过程可能很容易,也可能不那么容易,这取决于注册是如何实现的。如果注册参数是手工粘贴在代码中,您将不得不反向工程,这是更困难的方式。如果注册使用存储在资源中的.rgs文件,您只需提取它并查看注册是如何完成的。无论如何,您最好的选择是使用VM并导出其注册表,然后注册组件,再次导出注册表并查看差异--添加了什么。
发布于 2015-06-19 15:07:53
哇,你在这里要变老了!
如果我没记错的话,任何有效的COM对象也可以参加DCOM。远程过程调用的连接不是在操作系统级别完成的吗?
来自https://msdn.microsoft.com/en-us/library/aa295360(v=vs.60).aspx
一旦调整了COM以跨网络工作,则任何不绑定到本地执行模型的接口(一些接口固有地依赖本地机器设施,例如那些绘制方法将设备上下文作为参数处理的接口)将具有被分发的能力:接口使用者将对给定接口提出请求;该接口可能由运行(或将运行)在不同机器上的对象的实例提供。COM内部的分发机制将使用者连接到提供者,从而使使用者发出的方法调用出现在提供者端,并在那里执行它们。然后,任何返回值都会被发回给使用者。对于所有意图和目的,分发行为对消费者和提供者都是透明的。 现在确实存在这样一种COM。DCOM (用于“分布式COM”)是从4.0版开始随Windows版本一起提供的。自1996年底以来,Windows 95及其衍生产品也开始使用它。在这两种情况下,DCOM都由一组替换和附加DLL组成,其中包含一些实用程序,这些实用工具提供本地和远程COM功能。因此,它现在是基于will 32平台的固有部分,随着时间的推移,其他组织将在其他平台上提供它。
https://stackoverflow.com/questions/30940889
复制相似问题