Einzelnen Beitrag anzeigen

brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#19

Re: Speicherbereich einer Anwendung ermitteln

  Alt 27. Apr 2006, 00:17
Zitat von Frickeldrecktuxer_TM:
Rumgefummele mit Modulhandles würde ich beispielsweise nicht wagen, denn niemand garantiert mir, daß der numerische Wert des Handles die Basisadresse des Moduls ist.
Ja ne ist klar ^^. Wäre ja schlimm wenns nicht so wäre. ModuleHandle = BaseAdresse. Das ist bis XP 100% so.

@0x00400000
Die Applikation hat das im PE Header stehen. Dieser Wert wird vom compiler festgelegt. Bei Delphi kann man das unter Projekt -> Optionen -> Linker einstellen. Als Standard hat sich dise Adresse etabliert. Man kann auch jede andere wählen, sollte diese belegt sein (durch die kernel32.dll oder ntdll.dll oder unterhalb der 0x00100000 Grenze liegen) dann wird die EXE an einer anderen Stelle geladen und durch die Relocation Tabelle die Globalen Variablen usw. wieder richtig hergetsellt.
  Mit Zitat antworten Zitat