Ich habe momentan Probleme zu verstehen, wie PE-Basisverlagerungen aufgebaut werden.
Ich verstehe, dass es mehr als einen Umzug geben kann, ich verstehe auch warum und wie das gemacht wird, aber ich verstehe es einfach nicht programmatisch:
Welche der folgenden Aussagen ist wahr (IMAGE_BASE_RELOCATION in WinNT.h)?
%Vor%Oder
%Vor%Oder sind beide falsch? Wie muss ich alle Basisverlagerungen programmgesteuert durchlaufen?
Momentan habe ich diesen Code, scheint irgendwo falsch zu sein:
%Vor%Keine der Optionen, die Sie angegeben haben, ist vollständig korrekt / wahr.
Dieses hervorragende Tutorial zu Wie man Code eingibt Eine PE-Datei zeigt, dass die tatsächliche IMAGE_BASE_RELOCATION
-Struktur lautet:
Die Abschnitte 4.2 und 5.6 dieses Dokuments beschreiben Sie die Struktur. Die SizeOfBlock-8
gibt tatsächlich an, wie viele WORD TypeOffset
nach den VirtualAddress
und SizeOfBlock
folgen.
Ich denke, Sie wären auch an Tabelle 7 des Tutorials interessiert, die die Struktur der Blöcke aus der Verschiebungstabelle zeigt. Ich kopiere die Tabelle hier zur Schnellreferenz.
Tags und Links executable relocation portability