Spiele vor dem Decompiler schützen

    • Tool

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Spiele vor dem Decompiler schützen

      Hallo zusammen,

      Der Decompiler war/ist ein großes Thema für viele GM-User und ich hoffe, dass ich für die meisten von euch endgültig Abhilfe schaffen kann. Foo hat mich gebeten, einen Link zu einem Tool zu posten, mit dem man seine Spiele schützen kann. Allerdings hätte dieser Link ohne Anleitung keinen Nutzen. In diesem Thread hier findet ihr also das benötigte Programm als Download, alle Arbeitsschritte und die Vorteile der Nutzung.

      Schritt 1: Ihr benötigt das Programm "Bat To Exe Converter" von f2ko.de. Einfach downloaden und entpacken.

      Schritt 2:
      Verwandelt euer GM Spiel in eine lauffähige EXE-Datei (File -> "Create Executable...")

      Schritt 3: Die erstellte EXE-Datei muss in eine Batch-Datei umbenannt werden. D.h.: Ändert die Dateiendung ".exe" in ".bat" um.

      Schritt 4: Startet das Tool und ladet die eben erstellte Batch-Datei. Dazu klickt ihr im obersten Feld ganz rechts auf den Button.

      Schritt 5: Klickt ganz unten in der Mitte auf den großen Button mit der Aufschrift "Kompilieren".

      Schritt 6: Wenn der Button wieder in seine Ursprungsform springt, ist der Prozess beendet und ihr könnt die erstellte EXE testen.


      Die Vorteile im Überblick:

      1. Der wohl größte Vorteil an der Sache ist, dass das Spiel nun vermutlich wirklich kompiliert ist (lasse mich aber gern eines besseren belehren).
      2. Eine weitere wunderbare Sache ist die nun geschrumpfte Dateigröße - vergleicht einfach die originale EXE mit der neuen.
      3. Im Normalfall geht das Icon verloren, aber wie ihr seht, könnt ihr eine Icon-Datei laden, die dann angezeigt wird (drittes Feld von oben - "Icondatei"). Ich vermute, dass sich hierdurch auch größere Icons verwenden lassen, was beim GM nicht funktioniert. Getestet habe ich das jedoch noch nicht.
      4. Auch Zusatzinfos lassen sich eintragen, wie man sieht. Eine Hilfe zum Tool befindet sich ebenfalls beim Download.

      Getestet habe ich den "Bat To Exe Converter" bisher an meinem Spiel reMEM und es funktioniert einwandfrei!


      Ich hoffe, dass ich euch mit diesem Beitrag helfen konnte! Sofern Fragen aufkommen und ich in der Lage bin, diese zu beantworten, werd ich das natürlich tun. Viel Spaß!
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von mauge ()

    • Foo schrieb:

      Nachteile:
      • Ist nur ein Wrapper - orginale Exe wird zur Laufzeit entpackt und auf der Platte abgelegt.
      • Manche Virusscanner melden einen Befall.
      Bitteschön! ;)
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • Sorry,

      wollte grad noch was dazu schreiben - aber da hast du schon geantwortet.

      Ich finde es gut das du uns an deinem Wissen teilhaben lässt und zusätzlich noch eine Anleitung für uns alle schreibst. Leider hat die Lösung die oben genannten Nachteile.
      Lustigerweise hat das jemand heute auch im Decomp-Thread vorgeschlagen.

      Im Prinzip würde ich es verwenden um eine zusätzliche Hürde aufzubauen - wäre da nicht die Sache mit den Virenscannern.
      On teh internet u pwn noobs - but in real life noobs own you.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Foo ()

    • Die Möglichkeit habe ich auch schon in betracht gezogen, jedoch handelt es sich - wie Foo bereits sagte - leider nur um eine weitere Hürde.
      Das eigentliche Spiel ist als ressource in die neue Exe includiert und muss zum benutzen in das arbeitsverzeichnis entpackt werden. Also ist wärend das Spiel läuft, eine originalversion der GM exe verfügbar. Leider hat man keinen einfluss darauf, wohin die exe entpackt wird. Weiterhin lässt sich auch diese exe ebenfalls decompilieren (allerdings mit einem weiteren tool).
      Das einige Virenscanner anschlagen hat den einfachen Grund, das bereits diverse Viren mit bat2exe erstellt wurden und der Headder als teil ihrer Signatur erkannt wird. Es handelt sich also um bilnden Alarm, der jeoch einfache user sofort abschrecken würde.
      Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
      GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
    • Schade eigentlich. Ich hab mich noch nicht wirklich viel mit Schutzmechanismen auseinandergesetzt, weil es mir eigentlich bei meinen bisher veröffentlichten Spielen egal war. Für kommende Projekte wäre eine funktionierende Methode allerdings ganz gut. Also, wenn jemand was weiß...
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • Hey! genau das habe ich gester vor dir geschriben ich hab euch doch im chat gefragt!!^^

      Game Maker Game Maker Exe Dekompiler in freier Wildbahn
      „Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“
      Albert Einstein
    • @mauge

      Ich analysiere momentan den Decompiler um seine Funktionsweise zu versehen - warum? - um ihn ins Leere laufen zu lassen - denn jeder Code hat seine Schwächen. Klar das wird dann ein Hase-Igel-Spiel - aber besser als nichts.

      Wobei ich kann nichts versprechen, werde dich aber unterrichten, falls ich was dagegen habe.
      On teh internet u pwn noobs - but in real life noobs own you.
    • dave schrieb:

      Hey! genau das habe ich gester vor dir geschriben ich hab euch doch im chat gefragt!!^^

      Game Maker Game Maker Exe Dekompiler in freier Wildbahn
      Keine Ahnung, wie du darauf kommst, ich bin eigentlich so gut wie nie im Chat und war auch gestern nicht da.

      Foo schrieb:

      @mauge

      Ich analysiere momentan den Decompiler um seine Funktionsweise zu versehen - warum? - um ihn ins Leere laufen zu lassen - denn jeder Code hat seine Schwächen. Klar das wird dann ein Hase-Igel-Spiel - aber besser als nichts.

      Wobei ich kann nichts versprechen, werde dich aber unterrichten, falls ich was dagegen habe.
      Glaub mir, das haben schon ganz andere Leute vor dir versucht. Trotzdem viel Glück.
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • Kein Thema - ich hab auch nie behauptet das dies was wird. Nur wenn du den Parser des Apps durcheinanderbringst hast du schon wieder ein Stück gewonnen. Ich versuche ja nicht, wie viele andere die Exe zu verschlüsseln, wrappen, etc - sondern ich setze an dem App selbst an.
      On teh internet u pwn noobs - but in real life noobs own you.
    • Ja ich weiß. Ich weiß auch von einigen anderen, dass sie den Decompiler studiert haben. Aber wie man sieht, hat sich noch nicht wirklich etwas getan. Ich würde mich natürlich freuen, wenn du bei deinen Experimenten erfolgreich bist.
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • Ich habe eine gute Lösung gefunden.
      Funktioniert soweit aber nur mit den GM6 GM61 EXEn. Ob es mit GM7 auch funktioniert weiß ich leider nicht. Im Programm steht zwar GM6 und 6.1 aber es kann ja auch veraltet sein.
      Jedenfalls ist es in erster Linie kein "Anti-dekompiler" Programm, sondern ein Vista Ready für Gamemaker 6.
      Damit lassen sich nämliche kompilierte EXEn vom GM6 unter Vista starten. Da die Exe soweit verändert wurde, hat ein oder zumindest Der Dekompiler keine Chance mehr.
      Ein winzigen Nachteil ist, dass die EXE um wenige Megabytes größer wird (ca. 2MB, jenachdem).
      Und hier ist der Link.
      GM Converter Game

      Bitteschön :)
      57 6F 77 2C 20 64 61 73 20 68 61 73 74 20 64 75 20 67 61 6E 7A 20 61 6C 6C 65 69 6E 20 67 65 73 63 68 61 66 66 74 2E 20
    • DanielGM61 schrieb:

      Ich habe eine gute Lösung gefunden.
      ...
      Bitteschön :)

      Interessant, das werde ich mir gleich mal ansehen. Ich habe mir den compiler ebenfalls verstärkt angesehen und versucht seine Funktion zu unterbinden, in dem ich die byteverschlüsselung der exe mit verschiedenen PE packer Bindern oder anderen Cloaking-Verfahren verändere. Leider musste ich feststellen, dass bei einer Umformatierung/Verschlüsselung die für den compiler ausreichend ist auch verhindert, das der Interpreter den code ausführt. Somit vermute ich, das die software die DanielGM61 gefunden hat, wie einige andere Lösungsansätze eine original exe des Spiels entpacken oder zumindest enthalten. Aber das kann man natürlich erst sagen wann man sich genauer damit beschäftigt.
      Ich bin gespannt, was der GM Converter kann :thumbsup:
      Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
      GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
    • Naja, das ist aber schon alt bekannt.

      Ein winzigen Nachteil ist, dass die EXE um wenige Megabytes größer wird (ca. 2MB, jenachdem).

      Exen aus dem GM7 sind auch größer als GM6 Exen. Das ist völlig normal, weil GM6 Exen irgentwie gezippte Exen sind, weiß aber nicht genau.

      Einfach in einen Zip Ordner packen und schon ist sie wieder so groß wie eine GM6 Exe ;)
    • Die Software, die DanielGM61 hier vorgestellt hat, ist doch nichts weiter, als der Vista-Patcher. Es ist allgemein bekannt, dass damit behandelte gm6 Files vom besagten Decompiler nicht geknackt werden. Gmk Files können damit leider nicht bearbeitet werden. Ich würde auch den GM6.1 und dieses Verfahren nutzen, aber mir sind z.B. Alphakanäle bei Grafiken unheimlich wichtig; und die werden erst seit GM7 unterstützt. Korrigiert mich, wenn ich da falsch liege.
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • Ich würde auch den GM6.1 und dieses Verfahren nutzen, aber mir sind z.B. Alphakanäle bei Grafiken unheimlich wichtig; und die werden erst seit GM7 unterstützt. Korrigiert mich, wenn ich da falsch liege.

      Also Alphakanäle werden auch schon vom GM 6.1 unterstützt, jedoch die Funktionen zum Laden von Grafiken mit Alphakanal gibt es erst seit Version 7. Sprich sprite_add_alpha und ähnliche zum Laden von Grafiken mit Alphakanal existieren erst seit GM7 aber sprite_set_alpha_from_sprite und ähnliche gibt es auch schon ab Version 6.1. D.h. wenn man nicht gerade Grafiken extern laden will ist man mit dem GM 6.1 nicht benachteiligt.
    • Es funktioniert also zu 100% nicht mit der 7er Version? Hat es jemand getestet?
      Ja, der GM7 hat natürlich schon einige Verbesserungen, klar. Ist ja die nächste Version. Aber ich warte dann lieber auf die 8ter Ausgabe. Ich kann nur hoffen, dass es diesmal keine Online aktivierung gibt. Aber da bleibt es bestimmt nur bei der Hoffnung. Nicht das ich dann nicht kaufen würde. Was sind schon 15 Euro, für ein echt gutes Programm? Nein, aber mich stört es einfach.

      Zum GM_Converter (Vista patcher):
      Die convertierten EXEn werden aber dennoch vom Dekomiler erkannt. Selbst die Version. Dekompiliert lassen sich diese aber zum Glück nicht. Dennoch müsste man jetzt herausfinden, ob diese Variante sicher ist.
      Eine Überlegung wäre jetzt zB.: "Wird an die EXE nur etwas drangehängt? Sodass man es einfach wieder mit'n Hexeditor entfernen kann und dekompilieren lässt."
      Das die Exe entpackt wird und dann gestartet wird, ist ja hier nicht der Fall.
      Ich fand es witzig, als mal jemand (ich glaube sogar es war hier), eine anscheinende Lösung hierfür gefunden hat. Aber nacher wurde die exe nur entpackt und hatte halt ne andere Endung und wurde gestartet (Temp) und danach wieder gelöscht. Noch witziger fand ich dann noch, dass dann diese "Exe" im selben Ordner erstellt wurde. Und war nahezu gleich groß als die ausgeführte exe. :) Wie dem auch sei ....

      Eigentlich kann man ja jede Datei, sei es EXE oder DLL, wieder dekompilieren. Entweder direkt oder mit viel Mühe.
      Aber dass einige oder fasst jeder dann usere Spiele dekompiliert ist schon schei..e.
      Immerhin hat man vielleicht etwas hinbekommen, das schwer zu erreichen war. oä.
      Auf der anderen Seite kann man ja, wie oben erwähnt, trotzdem unsere Spiele hacken.
      Und andere, die mit dem GM gerade anfangen und schon vom GM_Dekom. wind bekommen haben, würden da sowieso bestimmt nicht durchblicken. ^^ Und eigentlich liegt ja auf unseren Spielen oder EXEn standardgemäß kein copyright.
      Aber wie ich's oben geschrieben habe: Ich finde es echt schei..e. (Darf ich eig. schei..e schreiben? :D Ist doch heutzutage schon überhall erlaubt. ^^). Ne, wenn jemand wissen will wie was im Game funktioniert, soll er gefälligst uns befragen (gut, das geht nicht in jedem Fall - Aber dennoch ist man ja in den Credits erwähnt).

      Frage: Kann man eigentlich auch scripts extern speichern und wären die exe läuft laden?
      Mein Gedanke ist, dass man einfach alles "wichtige" extern verschlüsselt (und zwar gut) und dann laden. Aber man muss es natürlich auch schaffen dass das Passwort nicht in der Exe vorhanden ist. Natürlich ist die exe auch verschlüsselt.
      Eigentlich müsste man dann jeden Spiel online registrieren lassen. Oder besser nur online spielbar.
      Das sind grad nur spontane Ideen. Aber wenn ich so nachdenke, komme ich auch immer darauf zurück, das man alles hacken kann. Selbst wenn ich jetzt einen Server online stelle für mein Spiel und das Passwort irgendwie senden würde, könnte man das ja auch irgendwie entdecken. ^^ --- Das ist wieder so ein Thema, dass nie aufhört.
      57 6F 77 2C 20 64 61 73 20 68 61 73 74 20 64 75 20 67 61 6E 7A 20 61 6C 6C 65 69 6E 20 67 65 73 63 68 61 66 66 74 2E 20
    • DanielGM61 schrieb:

      Es funktioniert also zu 100% nicht mit der 7er Version? Hat es jemand getestet?
      [...]
      Nein, denn der Konverter ist nur für GM 6 und GM 6.1 und kann nur durch diesen beiden Versionen erzeugte Spiele patchen.

      DanielGM61 schrieb:


      Zum GM_Converter (Vista patcher):
      Die convertierten EXEn werden aber dennoch vom Dekomiler erkannt. Selbst die Version. Dekompiliert lassen sich diese aber zum Glück nicht. Dennoch müsste man jetzt herausfinden, ob diese Variante sicher ist.
      [...]
      Nein, die Exe wird nicht sicherer. Die Runtime am Anfang der Exe wird einfach durch eine größere, nicht entpackte Variante ersetzt. Die Spieldaten werden nicht angetastet. Der Dekompiler funktioniert mit diesen Exen nur nicht, weil diese beim Programmieren (noch?) nicht berücksichtigt wurden und er deswegen nicht die Stelle kennt, an der die Runtime aufhört und das Spiel anfängt. Bildlich gesprochen könnte er das Spiel in seine Bestandteile zerlegen, er weiß aber nicht wo er dazu anfangen muss.
      "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
      - Joseph Weizenbaum