为什么NTOSKRNL.exe IMAGE_MACHINETYPE标头字段仅在某些版本的Windows 7 x64上设置为x86?

时间:2011-09-17 19:37:07

标签: windows-7 kernel 64-bit

我正在使用Windows 7家庭高级版x64。我想知道为什么我的system32目录中的ntoskrnl标头中的IMAGE_MACHINETYPE字段指定了x86。 IDA甚至会让我把它拆解为原生x86。

然而在我的windows 7 pro机器上,image_machinetype是x64。我只是遗漏了什么......或者为什么64位操作系统上的ntoskrnl 32位?

1 个答案:

答案 0 :(得分:3)

我的猜测是在x64架构上使用BIOS启动ntoskrnl.exe的main()入口点在切换到长模式(64bit)之前被调用。因此,就其入口点而言,它将是一个x86应用程序,但exe中的内核映像的其余部分将是64位。