Frage

Ich versuche, ein wenig IAT-Hooking in explorer.exe durchzuführen.Spezifikationen:Windows 7 x64, Visual C++.Ich habe es so weit geschafft, dass ich Thunk-Daten aus jeder ausführbaren Datei meiner Wahl lesen kann, mit Ausnahme von C:\Windows\Explorer.exe.Wenn ich mein Programm dagegen ausführe, erhalte ich eine Zugriffsverletzung beim Lesen des Speichers dieser ausführbaren Datei.Wenn ich dies jedoch gegen C:\Windows\system32\Explorer.exe und C:\Windows\sysWOW64\Explorer.exe ausführe, treten keine Probleme auf.Warum ist das?Ist C:\Windows\Explorer.exe eine Art symbolischer Link zu einer der anderen explorer.exe?Was könnte mich davon abhalten, diese Datei zu lesen?

War es hilfreich?

Lösung

Auf meinem Windows 7 x64-System C:\windows\explorer.exe ist eine 64-Bit-Binärdatei, PE32+ Format, während c:\windows\syswow64\explorer.exe ist eine 32-Bit-Binärdatei, PE32 Format.Ist Ihre Anwendung darauf ausgelegt, beides zu lesen? PE32 Und PE32+ Formate?

Und beim Öffnen C:\Windows\System32\Explorer.exe von einem 32-Bit-Prozess, der eine Weiterleitung zum ist c:\windows\syswow64\explorer.exe Kopieren.Aus einem 64-Bit-Prozess c:\windows\system32\explorer.exe existiert nicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top