我正在寻找一种解决方案来确定给定的可执行文件是64位还是32位。
正在测试的可执行文件可能是基于.NET的。
我见过多种不同的技巧,不确定哪种技术与另一种不同。
我见过的技术:
最强有力的做法是什么?
答案 0 :(得分:1)
我知道有两种方式:
1.如果需要在运行时检查它:使用IsWow64Process。
http://msdn.microsoft.com/en-us/library/windows/desktop/ms684139(v=vs.85).aspx?ppud=4
如果是x86进程 - 它将返回true,否则为false
2.如果您需要在运行时检查它,只需检查EXE PE格式
如果NT标题 - >可选标题 - > Magic == IMAGE_NT_OPTIONAL_HDR64_MAGIC
它是一个x64 exe / dll。