Domanda

Sto cercando di fare un piccolo aggancio in esploratore.exe.Specifiche: Windows 7 x64, Visual C ++.L'ho fatto in un punto in cui sono in grado di leggere i dati Thunk da qualsiasi eseguibile della mia scelta tranne per c: \ windows \ explorer.exe.Quando eseguo il mio programma contro di ciò ricevo una violazione di accesso nella lettura della memoria da quella eseguibile.Tuttavia, quando lo eseguo su c: \ windows \ system32 \ explorer.exe e c: \ windows \ syswow64 \ explorer.exe non ho problemi.Perchè è questo?È c: \ windows \ explorer.exe una sorta di collegamento simbolico a uno degli altri explorer.exe?Cosa potrebbe tenermi di leggere questo file?

È stato utile?

Soluzione

Sul mio sistema Windows 7 X64 C:\windows\explorer.exe è un formato binario di PE32+ Binary a 64 bit, mentre c:\windows\syswow64\explorer.exe è un formato binario a 32 bit, PE32.La tua applicazione è progettata per leggere i formati PE32 e PE32+?

e quando si apre C:\Windows\System32\Explorer.exe da un processo a 32 bit che è un reindirizzamento della copia c:\windows\syswow64\explorer.exe.Da un processo a 64 bit c:\windows\system32\explorer.exe non esiste.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top