Section Zugriff ändern

Vom Assembler/Compiler werden die Zugriffsrechte der Code- und auch der Importsection standardmäßig ja auf readonly gesetzt. Während der Laufzeit gibt es also keinen schreibenden Zugriff auf den PE Header oder auf die IAT.
Kann man diese Rechte während der Laufzeit auch ändern? Eine möglichkeit wäre sicher ein FileMapping mit schreibendem Zugriff. Wenn ich aber meinen eigenen Adressraum mappen würde wär das ziemlich naja, seltsam irgendwie. Gibts da noch ne andere Möglichkeit die Section einfach rwx zu setzen?
 
Wenn ich aber meinen eigenen Adressraum mappen würde wär das ziemlich naja, seltsam irgendwie.
wäre imho auch nicht so ganz schön, da es Probleme mit älteren OS geben könnte ;)
Aber probier mal vor dem Schreiben ein VirtualProtectEx anzuwenden auf den Speicherbereich (bzw. wenns Dein eigener Prozess ist, reicht auch VirtualProtect)

Oder Du editierst einfach die Section-Flags (in manchen Docs auch "Charakteristics" genannt) per PE-Editor (z.B LordPE).
 
Original von CDW
Oder Du editierst einfach die Section-Flags (in manchen Docs auch "Charakteristics" genannt) per PE-Editor (z.B LordPE).
Ja, so hab ichs bisher gemacht, nur wenn ich Code in nem fremden, bereits laufendem Prozess ausführe, fällt das weg.

Also VirtualProtect macht genau das was ich will, danke!
 
Zurück
Oben