AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Relocation Pointer Table aus EXE entfernen
Thema durchsuchen
Ansicht
Themen-Optionen

Relocation Pointer Table aus EXE entfernen

Ein Thema von Dannyboy · begonnen am 17. Mär 2004 · letzter Beitrag vom 19. Mär 2004
Antwort Antwort
Seite 1 von 2  1 2      
Dannyboy

Registriert seit: 4. Aug 2003
Ort: Delphi-Heaven
418 Beiträge
 
Delphi 7 Personal
 
#1

Relocation Pointer Table aus EXE entfernen

  Alt 17. Mär 2004, 09:50
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
How much wood would a wood-chuck chuck if a wood-chuck would chuck wood?
Check this out.
DANNYBOY
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#2

Re: Relocation Pointer Table aus EXE entfernen

  Alt 17. Mär 2004, 10:28
Meinst Du die Relocations des Dos-Stubs oder das Reloc-Segment des PE-Images?
FYI, http://www.jrsoftware.org/striprlc.php
  Mit Zitat antworten Zitat
Dannyboy

Registriert seit: 4. Aug 2003
Ort: Delphi-Heaven
418 Beiträge
 
Delphi 7 Personal
 
#3

Re: Relocation Pointer Table aus EXE entfernen

  Alt 17. Mär 2004, 10:34
Ich dachte da erst mal an das Einfachere. Also die des Dos-Stubs.
How much wood would a wood-chuck chuck if a wood-chuck would chuck wood?
Check this out.
DANNYBOY
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#4

Re: Relocation Pointer Table aus EXE entfernen

  Alt 17. Mär 2004, 10:41
Zitat von Dannyboy:
Ich dachte da erst mal an das Einfachere. Also die des Dos-Stubs.
Einfach würde ich das nicht nennen
Unter o.g. Link ist auch der Quelltext zu finden. Wenn Du die PE-Daqten verschiebst, darfst Du durch alle Sektionen und etliche PointerToXxx anpassen.
  Mit Zitat antworten Zitat
Dannyboy

Registriert seit: 4. Aug 2003
Ort: Delphi-Heaven
418 Beiträge
 
Delphi 7 Personal
 
#5

Re: Relocation Pointer Table aus EXE entfernen

  Alt 17. Mär 2004, 10:51
Zitat von NicoDE:
Einfach würde ich das nicht nennen
Unter o.g. Link ist auch der Quelltext zu finden. Wenn Du die PE-Daqten verschiebst, darfst Du durch alle Sektionen und etliche PointerToXxx anpassen.
Pssst, das habe ich bisher so schön verdrängt.
Ich seh' mir den Link gleich mal an. Thanx, NicoDE.
How much wood would a wood-chuck chuck if a wood-chuck would chuck wood?
Check this out.
DANNYBOY
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Relocation Pointer Table aus EXE entfernen

  Alt 17. Mär 2004, 11:32
Den selben Link habe ich dir übrigens auch schon in dem anderen Thread gegeben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Dannyboy

Registriert seit: 4. Aug 2003
Ort: Delphi-Heaven
418 Beiträge
 
Delphi 7 Personal
 
#7

Re: Relocation Pointer Table aus EXE entfernen

  Alt 17. Mär 2004, 12:00
Zitat von Luckie:
Den selben Link habe ich dir übrigens auch schon in dem anderen Thread gegeben.
Oooh!
How much wood would a wood-chuck chuck if a wood-chuck would chuck wood?
Check this out.
DANNYBOY
  Mit Zitat antworten Zitat
LarsMiddendorf

Registriert seit: 4. Sep 2003
Ort: Hemer
104 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Relocation Pointer Table aus EXE entfernen

  Alt 18. Mär 2004, 13:46
In dem Dos Stub werden nicht viele Relocations sein, so daß sich das vermutlich gar nicht lohnt in der Richtung überhaupt was zu machen.
  Mit Zitat antworten Zitat
Dannyboy

Registriert seit: 4. Aug 2003
Ort: Delphi-Heaven
418 Beiträge
 
Delphi 7 Personal
 
#9

Re: Relocation Pointer Table aus EXE entfernen

  Alt 18. Mär 2004, 13:49
Ja, ich hab's gestern bemerkt. Bisher bin ich auf keine EXE gestoßen, die
im DOS Stub mehr als 4 Relocations hatte.
Das wären ganze 16 Bytes.
How much wood would a wood-chuck chuck if a wood-chuck would chuck wood?
Check this out.
DANNYBOY
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#10

Re: Relocation Pointer Table aus EXE entfernen

  Alt 18. Mär 2004, 15:41
Da die meisten Linker trotzdem mehr Platz zwischen MZ- und PE-Header lassen, kannst Du ein paar Bates sparen, indem Du den Stub durch eine kleinere Variante ersetzt und den PE-Teil verschiebst und eventuell die Ausrichtungen der Sektionen optimierst...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz