Hey,
ich habe mir eine
Unit geschrieben, die die
PE Header eine EXE Datei ausliest und die Sections parst. Dies funktioniert wunderbar, sowohl mit 32 als auch mit 64 Bit EXEn. Weitergehend habe ich die
Unit jetzt so erweitert, dass ich die Resourcen, die sich in der .rsrc Section befinden manuell auslesen kann. Die Strukturen dazu habe ich in einem offiziellen Dokument von Microsoft gefunden.
http://www.microsoft.com/whdc/system...re/PECOFF.mspx
Wenn ich meinen Code an einer 32 Bit EXE ausprobiere, so klappt alles wunderbar. Lese ich jetzt eine 64 Bit EXE ein, so gibt es schon Probleme beim Auslesen der ersten Resource Directory Struktur. Die Felder im Record enthalten unsinnige Werte und dies obwohl der anhand der
PE Header ermittelte Begin der Resource Table korrekt zu sein scheint.
Meine Fragen:
Gibt es Unterschiede zwischen den Resource Sturkturen? (Der
PE Header selbst unterscheidet sich ja nicht sichtbar bei 32 und 64 Bit Dateien)
Wenn ja, wie erkenne ich eine 64 Bit EXE direkt am
PE Header?
Könnte mir vorstellen, dass in der 64 Bit EXE die Integer Typen einfach doppelt so groß sind, was ja auch einer der Unterschiede zwischen 32 und 64 Bit Code ist.
Gruß Zacherl