64位窗口 - 我需要使用IMAGE_NT_HEADERS64吗?

时间:2013-01-03 00:33:19

标签: c++ windows visual-studio 64-bit 32bit-64bit

我正在尝试在Windows 64环境中读取某些进程的PE头,并且由于我的代码只是通过读取32位和64位可执行文件的IMAGE_NT_HEADERS结构而工作,我想知道:我是否需要编写类似的内容

if executable is 64 bit
 use IMAGE_NT_HEADERS64
else
 use IMAGE_NT_HEADERS

?我的代码似乎只对64位和32位进程使用IMAGE_NT_HEADERS,我错过了什么?

1 个答案:

答案 0 :(得分:2)

显然,区别在于OptionalHeader的某些领域。例如,64位版本的ImageBase是64位大小。如果您的代码在ImageBase(包括)之后不使用任何字段 - 您的代码将通过测试。