patch programmieren?



  • hi leute,

    habe noch eine frage.
    unzwar würde ich gerne wissen was ich lernen muss um eine patch zu programmieren?

    z.b möchte ich ein programm das "hallo welt" ausgibt zu "hallo schöne Welt" ändern?



  • Erstmal sollte man definieren, was du eigentlich mit Patch meinst. Hier einfach wieder geraten, du möchtest das fertige Executable verändern? Das geht aber nicht so einfach. Einfach geht nur ein Text zu ersetzen, der die maximale Länge des Originaltextes nicht überschreitet. Sprich der umgekehrte Weg deiner Ersetzung würde gehen. Dazu kannst du einfach einen Hexeditor nehmen und die Zeichen ändern. Aber eben keine Bytes hinzufügen oder entfernen. In deinem Fall könnte man aber einfach brauchbare Ergebnisse erhalten, wenn man das File disassembliert, den String ändert und wieder assembliert. Dabei werden die ganzen Offsets neu geschrieben.



  • achso okay.

    also wäre das garkeine patch oder doch?

    das heisst ich müsste das per hand machen, also
    ich müsste wissen welche zahl was bedeutet? wie finde ich das herraus?
    mit nem disassembler oda?

    und was muss ich lernen um die file zu disassemblieren zu können und wieder neu zu assemblieren?

    und eine patch tut die exe doch immer verändern oder?



  • metapoint2011 schrieb:

    also wäre das garkeine patch oder doch?

    Doch das wäre ein Patch.

    metapoint2011 schrieb:

    und eine patch tut die exe doch immer verändern oder?

    http://de.wikipedia.org/wiki/Patch_(Software)

    metapoint2011 schrieb:

    das heisst ich müsste das per hand machen, also
    ich müsste wissen welche zahl was bedeutet? wie finde ich das herraus?

    Nein du musst einfach nur im Hex-Editor die Zeichen ändern. Besorg dir mal einen Hexeditor, dann siehst du das schon.

    metapoint2011 schrieb:

    mit nem disassembler oda?

    Damit könntest du Ressourcen, wie Strings, komplett austauschen.

    metapoint2011 schrieb:

    und was muss ich lernen um die file zu disassemblieren zu können und wieder neu zu assemblieren?

    Eigentlich nicht mehr, als du bisher auch wissen müsstest. Einfach nur wie man ein Programm bedient. Wenn du im Disassembly aber Daten austauschen willst solltest du aber schon wissen was du machst. Nicht dass das kompliziert wäre, einfach Text zu ersetzen.



  • is wie ich sehe ein großes thema.

    danke für deine hilfe.

    ich werde mir das alles mal raussuchen.


Anmelden zum Antworten