2011-09-17 11 views
5

Estoy usando Windows 7 Home Premium x64. Me preguntaba por qué exactamente el campo IMAGE_MACHINETYPE en el encabezado de ntoskrnl en mi directorio system32 especifica x86. IDA incluso me dejará desarmarlo como nativo x86.¿Por qué el campo de encabezado IMAGE_MACHINETYPE NTOSKRNL.exe está establecido en x86 solo en ciertas ediciones de Windows 7 x64?

Sin embargo, en mi máquina pro de Windows 7, image_machinetype es x64. ¿Me estoy perdiendo algo ... o por qué ntoskrnl es de 32 bits en un sistema operativo de 64 bits?

+0

No puedo responder al porqué, pero tenga en cuenta que el cargador que realiza la carga de ntoskrnl.exe simplemente puede ignorar este bit y cargar el archivo como está ... Muy bien, busque ... – damageboy

Respuesta

3

Supongo que se trata de una arquitectura x64 con un arranque de BIOS El punto de entrada main() de ntoskrnl.exe se invoca antes del cambio al modo largo (64 bits). Por lo tanto, sería una aplicación x86 en lo que respecta a su punto de entrada, pero el resto de la imagen del núcleo en el exe sería de 64 bits.

Cuestiones relacionadas