Hal(l)o zusammen,
Ich möchte versuchen aus einer EXE-Datei den Relocation-Pointer Table
zu entfernen und entwickele hierzu gerade ein Konzept. Mir fehlen
noch ein paar Schritte. Also, hier mal die notwendigen Schritte in NICHT chronologischer
Reihenfolge:
1) Einstiegspunkt muss neu berechnet werden: CS:
IP; SS:SP
2) Relocation-Pointer Entries werden auf Null gesetzt
3) Daten werden hinter der Table um <relocation pointer entries * 4> nach links verschoben
4) Lastpage Size wird um <relocation pointer entries * 4> reduziert
5) Page count muss ggf. geändert werden (eher unwahrscheinlich, aber dennoch möglich)
Da bleiben jetzt noch 3 Fragen.
A) Steht die Relocation Table unmittelbar vor dem Loadmodule oder vor dem
PE Header?
B) Wenn ich alles hinter dem Relocation Table um <relocation pointer entries * 4> Bytes
nach links verschiebe, dann muss ich am Ende der Datei die <relocation pointer entries * 4>
Bytes abschneiden. Wie mache ich das in Assembler?
Würde ich die Überbleibsel mit NOPs auffüllen, dann würde die Datei nicht kleiner werden.
C) Was muss ich noch alles beim
PE Header modifizieren?
Luckie hat das, glaube ich, schon mal gemacht.
Thanx. DANNYBOY