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 2 von 4     12 34      
NicoDE
(Gast)

n/a Beiträge
 
#11

Re: EXE mal wieder

  Alt 15. Mär 2004, 11:50
Zitat von Dannyboy:
Könnte ich 100%ig davon ausgehen, dass die Datei noch funktioniert, wenn ich den kompletten reloc. Table entfernen würde?
Zu 99%.
Wenn zum Beispiel jemand Dein Programm unter Wine ausführt, kann es in einigen Fällen dazu kommen, dass das Image nicht an die bevorzugte Adresse geladen werden kann. Das gleiche gilt für Adressen oberhalb von 2GB bzw. 3GB, die durch Systembibliotheken blockiert sein könnten (auf die Idee sollte man ohnehin nicht kommen, aber wer weiss )...
Im Normalfall kann man sowas aber vernachlässigen.


Gruss Nico
  Mit Zitat antworten Zitat
Dannyboy

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

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 15. Mär 2004, 14:25
@NicoDE

Ist Wine nicht ein Windows-Emulator für Unix/Linux?
Na ja, wenn da mein Exe-Komprimierer nicht laufen sollte, dann macht
das nix.

Und das mit der 3GB Grenze, na ja .... unwahrscheinlich.
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
 
#13

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 15. Mär 2004, 14:39
Zitat von Dannyboy:
Ist Wine nicht ein Windows-Emulator für Unix/Linux?
"Wine Is Not an Emulator"
http://www.winehq.com/site/myths
  Mit Zitat antworten Zitat
Dannyboy

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

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 15. Mär 2004, 14:47
Ok, dann nenn' ich es Implementator, da es die API implementiert. 8)
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
 
#15

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 15. Mär 2004, 17:34
Bei mir hat das irgend wie nie viel gebracht. Das höchste aller Gefühle waren mal 4 KB bei einer 794 KB großen Exe.
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
 
#16

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 16. Mär 2004, 09:20
Zitat von Luckie:
Bei mir hat das irgend wie nie viel gebracht. Das höchste aller Gefühle waren mal 4 KB bei einer 794 KB großen Exe.
Oh wow!
Dann müsste diese EXE ja 1024 Relocation Pointer Einträge gehabt haben. So wie ich das
verstanden habe sind diese Einträge immer ein vielfaches von der Zahl 4. Das sind 'ne
ganze Menge Einträge in Anbetracht der Tatsache, dass EXE-Dateien auch ohne sie funktionieren.
Betrachtet man aber die Größe Deiner EXE (794 KB), dann sind die 4 KB Verkleinerung sehr wenig,
klar.

@LarsMiddendorf:
Yup, das mit der Notepad-EXE stimmt tatsächlich! Siehe Bild (NOTEPAD.jpg) im Anhang.

Ich häng' hier gerade das Programm an, mit dem man EXE-Header lesen kann. Nix besonderes.
(Anhang)

Zitat von LarsMiddendorf:
Overlays gibt es unter Windows nicht mehr.
Da fällt mir ein, dass Delphi beim Compilieren die Overlaynumber auf 001AH setzt. (Siehe
Datei Delphi_Overlay.jpg im Anhang)

Ich dachte bisher, wenn die Overlaynumber Null ist, dann gilt die EXE als
Hauptprogramm (laut Definition), deshalb verstehe ich nicht, warum Delphi
die Overlaynumber setzt.
Warum setzt Delphi denn Overlays und was bewirkt das?
Worin macht sich der Unterscied bemerkbar?
Miniaturansicht angehängter Grafiken
delphi-overlay.jpg   notepad.jpg  
Angehängte Dateien
Dateityp: exe exe_reader.exe (312,5 KB, 7x aufgerufen)
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
 
#17

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 16. Mär 2004, 12:51
Zitat von Dannyboy:
Ich dachte bisher, wenn die Overlaynumber Null ist, dann gilt die EXE als Hauptprogramm (laut Definition)
Ist eher als Richtlinie/Anhaltspunkt zu verstehen.

Zitat von Dannyboy:
Warum setzt Delphi denn Overlays und was bewirkt das?
Die Frage kann Dir wahrscheinlich nur der Entwickler des Delphi-Linkers beantworten.
(Vielleicht ist es nur ein Zahlen-/Wortspiel - 0x1A = ACSII-Zeichen 'sub' -> s(t)ub )

Zitat von Dannyboy:
Worin macht sich der Unterscied bemerkbar?
Bemerkbar macht es sich sich nicht. Der Image-Loader geht dann anders mit der Größe der Datei auf der Platte und mit der Anzahl der Seiten im Header um. Es macht den Ladeprozess im ganzen nur etwas komplizierter - wenn der verwendete Image-Loader überhaupt mit Overlays umgehen kann. Bei solch einem kleinem Programm wie dem Stub ist es ohnehin unwichtig (ob die Nachricht, dass dieses Programm Windows benötigt, nun erscheint oder nicht, interessiert kaum jemand).
  Mit Zitat antworten Zitat
LarsMiddendorf

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

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 16. Mär 2004, 14:15
Du liest nur den Dos Header des Programms aus. Der Dos Teil gibt, wie schon gesagt, nur eine kurze Meldung aus. Der eigentliche Win32 PE Header folgt erst nach dem Dos Stub. Für diese kurze Meldung werden vermutlich niemals Relocations wirklich gebraucht. In dem Text, zu dem ich weiter oben den Link gepostet habe, ist beschrieben wie man den PE Header ausliest.
  Mit Zitat antworten Zitat
Dannyboy

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

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 16. Mär 2004, 14:52
O.k., ich danke Euch. Habe mir mal eben den wirklichen WIN32 PE HEADER angesehen ...
der ist ja krass komplex.
Wer soll denn da durchblicken, mal ganz abgesehen von den ganzen undefinierten Bytefolgen!
Sieht so aus, als müsste ich mich da erst einarbeiten, um mein erstes,
selbst-extrahierendes File zu schreiben.
Egal, wenigstens habe ich den Stub-Teil bereits hinter mir.
Danke noch mal an Euch alle,, ich werde mir nun den gesamten PE_HEADER Teil
zu Gemüte führen. Wenn ich Fragen hab', dann schrei' ich einfach.
Also dann.
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
 
#20

Re: Was sind Relocation Pointer Table und Overlaynumber (EXE

  Alt 16. Mär 2004, 15:10
Zitat von Dannyboy:
selbst-extrahierendes File zu schreiben.
Wie schon gesagt, wenn es nur das ist, brauchst du den ganzen PE_HEADER Kram nicht. Du kannst Dateien an eine Exe dranhängen und sie bleibt noch ausführbar. Und die Exe kann dann ihre Anhänge extrahieren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 00:34 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