Wie bauen sich PE Base Relocations auf?

8

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%     
John Smith 02.07.2013, 22:09
quelle

2 Antworten

16

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:

%Vor%

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.

    
Benny 19.03.2014, 17:36
quelle
4

aus irgendeinem Code .. aldo check out rectos:)

%Vor%     
Mike Guidry 03.08.2013 04:05
quelle