LordPE Code in Section umschreiben

Hi Leute,

Wenn ich eine EXE Datei habe ist die ja in verschiedenen Sektionen unterteilt...
kann ich diese Sektion umschreiben also an eine andere stelle?
Ich nenn mal ne Beispiel:

Der Programmcode fängt bei 6000H an ich will den jetzt aber nicht an der Stelle 6000H sonder an 4000H ist das möglich?
So das ich das mit LordPE und nem HEX Editor umschreiben kann? Danke für Antworten :-)
 
Sag doch besser, was Du wirklich machen willst, und nicht wie Du Dir die Umsetzung vorstellst ;).
Section Infos=mehr oder weniger logische Aufteilung, Informationen für den Win-PE Loader wie Charakteristiken(=Flags) der Speicherabschnitte, wo diese in der Executable anfangen und wohin sie in den Speicher kommen sollen.
Natürlich kannst Du diese Infos editieren - die Frage ist nur, ob die Exe danach auch valide ist (sprich: ob der Windows PE Loader sie akzeptiert) ;).
Wenn nun eine Section an der relativen virtuelle Adresse (Abgekürzt: RVA) 6000 anfängt, heißt es auch, dass davor eine andere Section ist. Setzt Du nun die Anfangsadresse auf 4000, gibt es eine Überschneidung mit der vorherigen und Du bekommst bei dem Versuch es auszuführen "dies ist keine gültige Win32 Exe bla" Meldung.
Wenn Du nur dafür sorgen willst, dass die Daten in der Section als Code behandelt werden können, kannst Du einfach die Charakteristiken (unter Lordpe - Rechtsklick auf Section ->Edit section header ->Flags) auf "executable" und "readable" setzen. Sonst musst Du die vorherigen Secitons soweit verkleinern, bis deren Startadresse+virtuelle Größe (=VOffset+VSize)<4000 ist.

Edit:
fast vergessen: viele machen am Anfang den Fehler, dass sie die Namen der Section allzu ernst nehmen. Namen sind "Schall und Rauch" ;) - andersgesagt: ein Sectionname darf 8 Zeichen lang sein und alles beinhalten, was der Linker/PE-Editierer dort reinschreibt. Die meisten Linker benennen die Sections zwar nach Funktion: (Code=.code/.text, daten=.data, uninitialisierte Daten=.rdata usw.). Allerdings sind nur die Sectionflags entscheidend. Ob die Section nun Code oder HELLO heißt, ändert nichts an der Funktionalität ;)
 
Zurück
Oben