AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Was sind Relocation Pointer Table und Overlaynumber (EXE)?
Thema durchsuchen
Ansicht
Themen-Optionen

Was sind Relocation Pointer Table und Overlaynumber (EXE)?

Ein Thema von Dannyboy · begonnen am 15. Mär 2004 · letzter Beitrag vom 17. Jan 2018
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Dannyboy

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

Was sind Relocation Pointer Table und Overlaynumber (EXE)?

  Alt 15. Mär 2004, 10:06
Ich hoffe, dies hier ist die richtige Sparte für das Thema.

Da ich versuche ein sich selbst extrahierendes Archiv zu erstellen und mir empfohlen wurde, mich
erst einmal mit der EXE-Struktur zu befassen, stelle ich hier mal 2 konkrete Fragen dazu.

Im Voraus die Information an Euch, dass ich mich natürlich bereits mit der Materie befasst habe.
Unter www.wotsit.org habe ich z.B. die Struktur von EXE-Dateien studiert.
Nur leider werden hier einfach Tatsachen geschildert, ohne diese zu erklären. (Das erinnert uns
doch an so manchen Professor ).

Beim untersuchen von den EXE-Headern fiel mir auf, dass manche EXE-Dateien gar keine (null)
Einträge im Relocation Pointer Table haben. Es stellt sich mir ohnehin die Frage:

1) Wozu braucht man den Relocation Pointer Table, wenn doch der Einstiegspunkt der EXE mittels
CS:IP und der Stack mittels SS:SP ermittelt werden kann?

Und dann gibt es im EXE-Header noch die sogenannte Overlay Number, mit der ich auch gar
nichts anfangen kann, also stellt sich mir Frage Numero 2

2) Was ist die Overlay Nummer und wozu braucht man die?

Und damit ich solche Informationen gleich mal sammeln kann, kann mir der ein oder Andere von Euch
vielleicht noch einen guten URL geben, bei dem man solche spezifischen Dinge nachlessen kann?

Danke schon mal.

DANNYBOY
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
 
#2

Re: EXE mal wieder

  Alt 15. Mär 2004, 10:14
Wähle bitte ein aussagekräftigeres Topic. Unter "Exe mal wieder" kann sich niemand was vorstellen.

Aber wozu muss man das Exe Format kennen, um in SFXArchiv zu bauen? Häng die Dateien eine Exe dran und diese Exe mit den angehängten Dateien kopiert selbige dann auf die Festplatte. Sie dazu auch meine SFXTools, von meiner Homepage.
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
 
#3

Re: EXE mal wieder

  Alt 15. Mär 2004, 10:31
Zitat von Luckie:
Wähle bitte ein aussagekräftigeres Topic. Unter "Exe mal wieder" kann sich niemand was vorstellen.
Ok, stimmt.
Kann ich das im Nachhinein eigentlich ändern?

@Luckie: Danke für den Hinweis, ich sehe mir das mit dem SFXArchiv gern mal an.

Mich interessieren immer noch die Antworten auf meine Fragen.
Weiss das jemand vielleicht?
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
 
#4

Re: EXE mal wieder

  Alt 15. Mär 2004, 10:40
Exe Dateien benötigen keine Relocation Table, weil sie immer als erstes Modul in den virtuellen Addressraum geladen werden und daher immer an die bevorzugte Addresse geladen werden können, weil der Speicher noch frei ist. Bei DLL's ist das natürlich anders und in der Relocation Table sind die Addressen angegeben bei denen im Speicher die Differenz zwischen der optimalen Ladeaddresse und der tatsächlichen aufaddiert wird. Delphi fügt immer Relocations hinzu aber es gibt auch Tools mit denen man sie wieder entfernen kann damit die Exe Datei kleiner wird.
Overlays gibt es unter Windows nicht mehr.
Eine gute Beschreibung vom PE Format gibt es hier:
http://msdn.microsoft.com/msdnmag/is...03/PE2/toc.asp.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#5

Re: EXE mal wieder

  Alt 15. Mär 2004, 10:42
Zitat von Dannyboy:
Kann ich das im Nachhinein eigentlich ändern?
Ja. Du gehst auf den Schalter über Deinem ersten Beitrag und änderst den Titel.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Dannyboy

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

Re: EXE mal wieder

  Alt 15. Mär 2004, 10:56
Zitat von sakura:
Zitat von Dannyboy:
Kann ich das im Nachhinein eigentlich ändern?
Ja. Du gehst auf den Schalter über Deinem ersten Beitrag und änderst den Titel.
......
Gesagt, getan.

@LarsMiddendorf

Danke schon mal für die Erläuterung. Interessant daran ist, dass
man laut Deiner Aussage den Relocation Pointer Table gar nicht mehr
benötigt.

Könnte ich 100%ig davon ausgehen, dass die Datei noch
funktioniert, wenn ich den kompletten reloc. Table entfernen würde?
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
 
#7

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 15. Mär 2004, 11:33
Der Visual C++ Linker fügt beim Linken mit Release Einstellungen gar keine Relocations in die Exe Dateien ein. In der Datei Notepad.exe sind z.B. auch keine.
  Mit Zitat antworten Zitat
Dannyboy

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

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 15. Mär 2004, 11:42
Zitat von Dannyboy:
Beim untersuchen von den EXE-Headern fiel mir auf, dass manche EXE-Dateien gar keine (null) Einträge im Relocation Pointer Table haben.
DANNYBOY
@ LarsMiddendorf :
Yo, das habe ich auch entdeckt, aber könnte ich auch bereits bestehene Relocs. aus
der Exe entfernen oder wäre sie dann kaputt?
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
 
#9

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 15. Mär 2004, 12:02
Aus einer Exe ja. Aus einer DLL nein.

Link: http://www.jrsoftware.org/striprlc.php
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
 
#10

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 15. Mär 2004, 12:26
Zitat von Luckie:
Aus einer Exe ja. Aus einer DLL nein.
Ok danke, das probier' ich mal aus (ASM).
How much wood would a wood-chuck chuck if a wood-chuck would chuck wood?
Check this out.
DANNYBOY
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 17:57 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