EXE die sich selbst umprogrammiert?

  • Hi,

    kann/könnte man eine EXE schreiben ,welche sich selbst umprogt oder Text in sich Speichert und diesen bei bedarf läd und ausgibt???

    Lg Pceumel

  • Sicher geht das, du musst nur den Compiler in irgenteiner Weise verfügbar machen, z.b. durch einen Include, im Ram ausführen etc.
    Der Compiler selbst ist dabei weitestgehend ein cmdline-Programm das du bereits hast, genannt aut2exe.exe

  • Natürlich geht das, sogar relativ einfach.
    Wenn es nur darum geht, Text zu ändern, dann die Datei laden, Text suchen, Text ersetzen. ACHTUNG! Da dem Text innerhalb der Datei ein bestimmter Platz zugewiesen ist, darf der ersetzte Text keinesfalls länger sein! Kürzere Ersetzungen dann mit Leerzeichen auffüllen! Das funktioniert natürlich nur bei nicht gepackten oder sonstwie modifizierten Dateien. Ggf also Compileroptionen ausschalten, die mit der Größe der Datei zu tun haben.
    Einfach mal die Datei mit einem Hexeditor nach Wahl bearbeiten.

    Genauso lässt sich auch Programmcode innerhalb der EXE bearbeiten/ersetzen, aber das ist nicht ganz so trivial.

    Etwas ganz anderes ist selbstmodifizierender Code. Dabei schreibt sich das Programm während der Laufzeit (d.h. im RAM) selbst um, hat man früher u.a. dafür benutzt um Speicher zu sparen, heutzutage gilt das als "schlechter Programmierstil" und wird von modernen Betriebssystemen teilweise auch verhindert (wtf!).
    Sehr beliebt, um Sprungadressen auf andere Bereiche zu "verbiegen", bei Passwortabfragen sehr beliebt, da kotzen dann die Scriptkiddies und Möchtegernhacker regelmäßig, denn die Adressen in der EXE umzuschreiben nützt da natürlich garnichts....Wenn der Programmierer dann auch noch während der Laufzeit seinen Code verifiziert, hats der Angreifer schwer....