【问题标题】:How can we check that a binary EXE (PE) is COM Exe or Win32 Exe?我们如何检查二进制 EXE (PE) 是 COM Exe 还是 Win32 Exe?
【发布时间】:2011-03-10 15:01:15
【问题描述】:

我需要以编程方式检查给定的 EXE 二进制文件是 COM、EXE 还是 Win32.exe,这可以通过导入表实现吗?我应该在注册表的哪个位置查找是否为 COM 注册了二进制文件?这是特定于 EXE 的,因为 DLL 对我来说不是问题。

http://en.wikipedia.org/wiki/Component_Object_Model

【问题讨论】:

  • 从现在开始,我将把它当作练习。但我没有得到上述问题的任何答案。
  • 哈,我读了这篇文章并认为这是一个关于这个的问题:en.wikipedia.org/wiki/COM_file。那没关系。

标签: com dll winapi exe portability


【解决方案1】:

如果你有一个 DLL,你可以要求它的 DllGetClassObject(AFAIK 进程内 COM 服务器需要导出这个函数)。

对于前任,恐怕你不能,至少不能 100% 确定。您只能应用启发式方法,例如检查 exe 是否在其资源中具有类型库(但请记住,这不是必需的)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-12
    • 2010-11-01
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多