2011-09-17 10 views
5

Sto usando Windows 7 Home Premium x64. Mi chiedevo perché esattamente il campo IMAGE_MACHINETYPE nell'intestazione di ntoskrnl nella mia directory system32 specifica x86. IDA mi permetterà addirittura di smontarlo come x86 nativo.Perché il campo dell'intestazione IMAGE_MACHINETYPE NTOSKRNL.exe è impostato su x86 solo su determinate edizioni di Windows 7 x64?

Eppure sulla mia macchina Windows 7 pro, image_machinetype è x64. Mi manca solo qualcosa .. o perché è ntoskrnl 32 bit su un sistema operativo a 64 bit?

+0

Non riesco a rispondere al perché, ma si tenga presente che il caricatore che esegue il caricamento di ntoskrnl.exe può semplicemente ignorare questo bit e caricare il file così com'è ... Molto bello trovare però ... – damageboy

risposta

3

La mia ipotesi è su architettura x64 con un avvio del BIOS Il punto di ingresso principale() di ntoskrnl.exe viene chiamato prima del passaggio alla modalità lunga (64 bit). Quindi sarebbe un'applicazione x86 per quanto riguarda il suo punto di ingresso, ma il resto dell'immagine del kernel in exe sarebbe 64 bit.

Problemi correlati