目前,我只有一个解决方案:从指定文件中读取PE Header,并从中获取“Machine”字段。
(规格: Microsoft Portable Executable and Common Object File Format Specification (.docx文件)见“3.3。COFF文件头(对象和图像)”)
此字段最多可包含约20个值。其中三个是:
IMAGE_FILE_MACHINE_I386 ( == 32bit ) IMAGE_FILE_MACHINE_IA64 ( == 64bit ) IMAGE_FILE_MACHINE_AMD64 ( == 64bit )
我的问题:
1) “机器”到比特映射正确吗?还是我错过了什么?还有其他注意事项吗?
GetBinaryType(...) 回报 SCS_32BIT_BINARY 适用于基于Windows的32位应用程序 和 SCS_64BIT_BINARY 对于基于64位Windows的应用程序。
SCS_32BIT_BINARY
SCS_64BIT_BINARY
http://msdn.microsoft.com/en-us/library/windows/desktop/ms680339%28v=vs.85%29.aspx