检查可移植可执行 (PE) 文件的 COM 签名

本文关键字:文件 COM 签名 PE 可移植 可执行 检查 | 更新日期: 2023-09-27 18:32:15

我需要以编程方式检查任意 Dll,以查看它们是否是非处理器 COM 服务器。换句话说,它们是否可以使用 regsvr32/DllRegisterServer 在当前系统上注册。

除了安迪对这个问题的建议之外,有没有办法弄清楚需要的东西,而不必:

  • 加载库并检查 DllRegisterServer/DllUnregisterServer 导出。
  • 尝试使用 regsvr32 注册,同时捕获异常?

PE 格式中必须有一些内容指示需要。我的假设是'regsvr32'已经在内部这样做了。将不胜感激任何意见。

检查可移植可执行 (PE) 文件的 COM 签名

No.使 DLL 成为 COM 对象的唯一原因是它导出DllGetClassObject 。唯一使其可注册的是它导出DllRegisterServer .