5 Stimmen

Welche Bedeutung hat der Abschnitt mit den Umzugsinformationen im COFF-Dateiformat?

Ich lese gerade über COFF-Dateiformate, die üblicherweise zur Erstellung von ausführbaren Dateien verwendet werden (es gibt auch einige Varianten).

Bei der Lektüre stieß ich auf den Abschnitt "Umzug" des Formats. Wie wird dieser Relocation-Abschnitt zur Erstellung einer ausführbaren Datei verwendet?

Es wäre sehr hilfreich, wenn Sie mich auf einige Links verweisen könnten, die mir weiterhelfen.

8voto

Scott Wisniewski Punkte 23882

Bei COFF gibt es eigentlich 2 Arten von Umzugsinformationen:

  1. COFF Umzugsunterlagen
  2. Der Verschiebungsabschnitt in einem ausführbaren Image.

Sie haben ähnliche, aber unterschiedliche Ziele. Die Relocation-Informationen in einer ausführbaren Datei weisen auf Dinge hin, die zum Zeitpunkt des Ladens korrigiert werden müssen, falls das ausführbare Image an einer anderen als der bevorzugten Adresse geladen wird.

COFF Relocation Records identifizieren Dinge, die zur Link-Zeit korrigiert werden müssen, wenn ein Abschnitt in einer Objektdatei einem Offset in einem ausführbaren Image zugewiesen wird.

4voto

Oliver Mellet Punkte 2359

Relokation wird verwendet, um ausführbaren Code in seinem eigenen Speicherbereich in einem Prozess zu platzieren. Wenn Sie beispielsweise versuchen, zwei DLLs zu laden, die beide dieselbe Basisadresse (d. h. dieselbe Stelle im Speicher) anfordern, muss eine der DLLs an eine andere Adresse verlagert werden. NTCore ist eine nützliche Seite zur Erkundung von Portable Executable (PE)-Dateien, wie COFF jetzt genannt wird. Ici ist eine weitere Website, die den Umzug recht gut erklärt.

2voto

Cthulhon Punkte 607

Eine unbeabsichtigte zusätzliche Verwendung von Relocation ist die (De-)Verschleierung von Binärdateien zur Laufzeit ohne zusätzlichen Entpackungscode. Siehe dieses Papier .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X