Reverse Engineering

  • Hay Community,


    ich habe mich mal ein bisschen durch das Thema "Reverse Engineering" durch gelesen und mir auch ein paar Tutorials angeguckt. (Wobei die Tutorials nur zeigen wie man einen Serial umgeht.)
    Mich interessiert dieses Thema sehr wodurch ich mich in dem Bereich ein bisschen weiter bilden möchte.


    Meine Frage nun ist: Was ist "Reverse Engineering" und wofür wird es in der Regel verwendet ?


    Mit freundlichen Grüßen


    Disaccept

  • Reverse Engineering die Rückgewinnung des Quellcode's eines Programmes.
    Man kann mit dem daraus gewonnen Quellcode ansetzen und erweiterungen schreiben oder nach Lücken in ihnen suchen.
    Ein Freund von mir benutzt seine RE-Kenntnisse im Bereicht Game Hacking und hat u.a. einen Sniffer(kommunikations-Protokollant) entwickelt, den man injecten konnte und ggf. Pakete abgeändert an den Server schicken konnte.


    Es kommt immer drauf an was du damit erreichen willst, jedoch ist das Anwenden von Reverse Engineering bei diversen Programmen lizenzbedingt verboten. :)



    Wenn ich irgendwie was falsch gesagt habe, schlagt mich und korrigiert mich dann.

  • Das bedeutet also, dass dieses Verfahren so gesehen alles in einen für uns Menschen verständlichen Code wiedergibt ?


    Nein, man kann nur Nachvollziehen wie das Programm Funktioniert um es NAchzubauen oder zu verändern oder Zusatzanwendungen zu schreiben (Wie Cheats etc.)

  • Es ist mit Reverse Engineering möglich, dass du wie für einen freigegebene Engiene "Hacks" oder Injectoren schreibst, allerdings kannst du auch die Pakete schniffen.


    Die ist bei vielen Shooter Spielen der Fall:


    Die Hacks ( auch ein paar von mir :P) senden ein "Schusssignal" zum Server wenn du Spawnst aber erst wenn du den Gegner siehst, wird der "Bestätigungsbefehl" gesendet und du kannst durch die Map rennen und alle töten, ohne dass du einen Schuss abgibst.

  • Achso.


    Aber beim Spiel verändert es konkret nix am Quellcode sondern dies läuft alles über externe Programme ?


    Nein..
    Du Injectest nur eine Datei (meistens .dll) in das Spiel, welches dann neue Schnittstellen für den Hack (das Programm) setzt oder setzt die Ausführung der Dll Datei in eine Funktion der Engine..
    Damit die dll Datei immer abgefragt bzw ausgeführt wird..


    So ist es z.b. bei CS:GO..

  • Aber beim Spiel verändert es konkret nix am Quellcode sondern dies läuft alles über externe Programme ?


    Der Quellcode wird nicht verändert nur der Code der ausgeführt wird.


    Im Grunde kannst du nach dem Reverse Engineering, bzw damit die gefunden Teile nach belieben im Speicher verändern, der compilierte Code - nicht der Quellcode, bleibt dabei erhalten.


    @BrotZeit: So ist es nicht nur bei CS:GO sondern praktisch überall.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Genau..


    Und dann gibt es noch die extremen, die versehen seinen Hack sogar mit einem geklauten Anti-Virus Zertifikat..
    So kann man VAC und viele Anti-Cheat Programme umgehen, welche alle denken, es sei ein Anti-Virus Programm..


    Wenn das Interesse groß ist, könnte ich ein Tutorial machen wie man Theoretisch einen TriggerBot für SA-MP erstellen könnte.

  • Wenn das Interesse groß ist, könnte ich ein Tutorial machen wie man Theoretisch einen TriggerBot für SA-MP erstellen könnte.


    Du kannst gerne Tutorials zum Thema Reverse Engineering machen. Doch keine Hacks oder ähnliches auch keine game Cracking. Sowas unterstützen wir nicht.
    Aber ich selbst bin auch sehr an dem Thema Interessiert.

  • Nein..
    Du Injectest nur eine Datei (meistens .dll) in das Spiel, welches dann neue Schnittstellen für den Hack (das Programm) setzt oder setzt die Ausführung der Dll Datei in eine Funktion der Engine..
    Damit die dll Datei immer abgefragt bzw ausgeführt wird..


    So ist es z.b. bei CS:GO..

    Schwachsinn, ich selber injecte nicht, ich schreibe meine Programme external, sie editieren Werte von Speicheradressen während dem Lauf des Spieles, ohne zu injecten.