kostenloser Webspace werbefrei: lima-city


HEX-Code bzw. Assembler (Null Bytes)

lima-cityForumProgrammiersprachenSonstige Programmiersprachen

  1. Autor dieses Themas

    stef264

    stef264 hat kostenlosen Webspace.

    Ich habe mal so eine kleine Frage und zwar habe ich ein kleines Hallo Welt Programm in C++ geschrieben. Nun habe ich dieses Programm mit einem Hex-Editor (zeigt auch Assembler an) geöffnet und wollte mal so paar kleine Sachen ausprobieren. Den String Hallo Welt kann ich mit leichtigkeit ändern aber nur wenn der neue String in den bereich passt Also genug bytes vorhanden sind. Der Editor bietet mir nun an dazwischen null-bytes einzufügen d.h. ich kann länger Strings hineinsetzen doch dannach funktioniert das programm nicht. Woran liegt das? und wie kann man Länger Strings einfügen ?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    stef264 schrieb:
    d.h. ich kann länger Strings hineinsetzen doch dannach funktioniert das programm nicht. Woran liegt das?
    Das liegt daran, dass es sich um ein compiliertes Programm handelt, bei dem die Länge des Datensegments beispielsweise im Header gespeichert wird.

    Du darfst auch die Offsets der Strings nicht ändern, auch nicht der Variablen nach dem String, sonst findet das Programm nicht mehr die richtigen Daten. Die Offsets dazu sind übrigens im gesamten Programm verteilt in den Assembler-Befehlen gespeichert... das zu ändern ist nicht das Einfachste.

    stef264 schrieb:
    und wie kann man Länger Strings einfügen?
    2 Varianten:
    1) vergessen und im Quellcode ändern, das ist wohl das Sinnvollste und Einfachste, wenn du den Quellcode hast
    2) du disassemblierst das Programm in Code und Daten, änderst die Daten, veränderst den Programmcode und trägst die neuen Offsets überall ein und speicherst beides zusammen wieder als Programm ab.
  4. Autor dieses Themas

    stef264

    stef264 hat kostenlosen Webspace.

    2 Varianten:
    1) vergessen und im Quellcode ändern, das ist wohl das Sinnvollste und Einfachste, wenn du den Quellcode hast
    2) du disassemblierst das Programm in Code und Daten, änderst die Daten, veränderst den Programmcode und trägst die neuen Offsets überall ein und speicherst beides zusammen wieder als Programm ab.


    Danke für die schnelle Antwort. werde mich für lösung 2 entscheiden da ich grade ein bisschen reverse engineering lerne und das ein gute übung ist.

    MFG Stef
  5. Hallo stef264,

    darf man Fragen, welcher Hex-Editor das ist? Vor Jahren hatte ich mal so einen für die Konsole mit dem man auch Patchen (Assembler Befehle austauschen) konnte. Aber ich finde einfach nichts vernünftiges mehr.

    Beitrag zuletzt geändert: 14.6.2012 22:09:53 von darkpandemic
  6. Autor dieses Themas

    stef264

    stef264 hat kostenlosen Webspace.

    http://www.wxhexeditor.org/ Der hier.. finde den echt gut aber ist noch in der Beta.
  7. Hallo stef264,

    Der Editor sieht auf den ersten Blick ganz ordentlich aus.
    Da werde ich wohl mal schauen, was sich damit so alles anstellen lässt.
    Herzlichen Dank.
  8. :singer: Ich möchte nur kurz anmerken, daß das Reverse-Engineering leicht in den illegalen Bereich abrutschen kann, wenn du Programme analysieren willst, deren Lizenz genau das untersagt...
  9. h******d

    Hier wäre IDA angemessener als ein einfacher Hex Editor. Weiterhin ist es absolut nicht illegal sein eigenes Programm zu reversen.
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!