Seite 2 von 2

Verfasst: 07.08.2008 17:59
von Thorium
Knight_Rider_2000 hat geschrieben: Wenn man die Daten ans ende der exe schreibt kommt es auch zwischendurch mal vor das windows dahinter die x vielen nullen schreibt die sonst am ende der exe stehen und man kommt so leicht nicht mehr an den datensatz heran
Das sollte nicht passieren. Einziges Szenario wo ich mir das vorstellen kann, ist wenn sich die Größenangabe der letzten Section ändert, aber das sollte ja nicht vorkommen.

Das die WinAPI die Möglichkeit zum austauschen von Ressourcen im Executable bietet, wusste ich garnicht. Sehr feine Sache, sollte in der Tat der beste Weg sein.

Verfasst: 07.08.2008 20:39
von Knight_Rider_2000
Windows interessiert die Datasection nicht
das mit den x nullen kenn ich auch nur aus erfahrung und hat mich lange zeit gekostet, das herauszufinden

Verfasst: 08.08.2008 05:56
von Thorium
Knight_Rider_2000 hat geschrieben:Windows interessiert die Datasection nicht
das mit den x nullen kenn ich auch nur aus erfahrung und hat mich lange zeit gekostet, das herauszufinden
Ich mein damit nicht die Datasection, sondern die Sections im PE. Windows Executables (PEs) sind in Sections aufgeteilt. Soweit ich weis sind die Größen der Sections an bestimmte Rahmengrößen gekoppelt. Also wenn ne Section z.b. normalerweise 0x0F65 Byte groß währe wird daraus beim linken eine Größe von 0x1000. Die Differenz zwischen den in diesem Fall 0x0F65 und 0x1000 wird mit Nullen aufgefüllt. Daher die Nullen, die man immer am Ende von Executables findet.

Vieleicht füllt Windows das auch mit Nullen unabhängig der Sectiongröße auf, wenn die Ressourcen durch die WinAPI manipuliert werden. Weil merkwürdig ist das schon, dass das einfach so mal passieren kann, glaube ich weniger. Da muss schon irgendwas an der exe gedreht werden.

Verfasst: 08.08.2008 10:00
von Knight_Rider_2000
mit der WinAPI loesung koennen einem die nullen egal sein