AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Lazarus, EXE groß

Ein Thema von Lyan · begonnen am 5. Okt 2012 · letzter Beitrag vom 7. Okt 2012
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.546 Beiträge
 
Delphi 12 Athens
 
#1

AW: Lazarus, EXE groß

  Alt 7. Okt 2012, 12:58
Weißt du wofür das Ding da ist?

Wenn Windows die Datei im Speicher verschieben muß, dann kann es darüber die Adressen anpassen.
Wird das nicht gemacht, dann funktioniert der Code nicht mehr und es passiert sonstwas Unschönes.

Ja, aktuell ist es so, daß Windows die EXE als Erstes in den Speicher läd, womit noch nirgendwo etwas belegt ist und die EXE (im Gegensatz zu einer DLL) nie verschoben werden muß.
Aber wer weiß ob Windows daran mal was ändert.
Und dann will man ja gleich noch mehr laden, also nutzt man UPX und Co., aber schon hat man ein grßes Problem, denn dann ist die "EXE" nicht mehr das Erste, denn der Preloader wird vorgeschaltet, welche die "EXE" dann entpackt und läd ... schwups, kann es sein, daß die "EXE" verschoben werden könnten und *peng*

Das war ein Beispiel dafür, was man machen könnte (wenn man weiß was man macht), aber was man nicht unbedingt machen sollte.
Stattdessen gibt es ja noch genügend "offizielle" Wege, wie man was loswerden könnte.
http://www.delphipraxis.net/170853-l...ml#post1185990
http://www.delphipraxis.net/170520-d...ml#post1183801
... (sowas Ähnliches wurde hier ja auch für Lazarus genannt)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.232 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Lazarus, EXE groß

  Alt 7. Okt 2012, 13:09
Ja, aktuell ist es so, daß Windows die EXE als Erstes in den Speicher läd, womit noch nirgendwo etwas belegt ist und die EXE (im Gegensatz zu einer DLL) nie verschoben werden muß.
Aber wer weiß ob Windows daran mal was ändert.
ist doch schon:

Zitat:
When running native 64-bit binaries on Windows Vista and above, ASLR (Address Space Layout Randomization) is mandatory, and thus relocation sections cannot be omitted by the compiler.
(Aus Wiki)
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.546 Beiträge
 
Delphi 12 Athens
 
#3

AW: Lazarus, EXE groß

  Alt 7. Okt 2012, 13:24
Cool, dann isses ja nun egal, daß fast alle bei den DLLs ständig vergessen die BaseAddress einzustellen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz