Obscufator

    • Offizieller Beitrag

    Ich muss SEuBo zustimmen. Eine absolute Sicherheit gibt es nicht und die wird man mit AutoIt auch nicht erreichen können.
    Man kann es den Skript-Kiddies nur schwerer machen (obfuscaten).


    Dafür habe ich meinen Random-Obfuscator mal noch etwas erweitert (jetzt auch mit Random-Funktionsnamen):


    Aber auch der verhindert nicht, dass man entsprechende Informationen (zum hacken der HiScoreListe) aus dem Quelltext auslesen kann (genügend Geduld vorausgesetzt).

  • Aber auch der verhindert nicht, dass man entsprechende Informationen (zum hacken der HiScoreListe) aus dem Quelltext auslesen kann (genügend Geduld vorausgesetzt).


    Und selbst wenn er das würde, gäbe es immer noch genügend andere Methoden des Reverse Engineering, die zum Erfolg führen (können). Als Beispiel sei da nur mal das mitsniffen von Packeten, wie schon von Prog@ndy erwähnt, genannt.


    Mal ganz abgesehen davon, dass der Source für deinen Obfuscator offen zugänglich ist, und es damit jedem, der den Thread hier gelesen hat, möglich ist, die einzelnen Schritte des Verschleierns nachzuvollziehen und ein entsprechendes Programm zu schreiben, um diese Maßnahmen rückgängig zu machen.


    Eine absolute Sicherheit wird man m.E. nach nicht nur nicht mit AutoIt nicht erreichen können, sondern auch mit allen anderen Sprachen.
    Spätestens wenn ein Disassembler ins Spiel kommt, sind sie nämlich alle nur noch Assemblercode. Man bedenke, dass sogar Windows bei jedem Release innerhalb kürzester Zeit geknackt wird. Und ich finde, dass die Jungs bei WinzigWeich schon ganz fähige Programmierer sind. Es gibt ja auch genügend Hardwarebasierte Angriffsmöglichkeiten - da hilft Softwareschutz dann garnicht mehr.


    Ich weiß, das Thema gabs schon zu Genüge. Ich wollt es nur nochmal erwähnen.

    • Offizieller Beitrag

    Mal ganz abgesehen davon, dass der Source für deinen Obfuscator offen zugänglich ist, und es damit jedem, der den Thread hier gelesen hat, möglich ist, die einzelnen Schritte des Verschleierns nachzuvollziehen und ein entsprechendes Programm zu schreiben, um diese Maßnahmen rückgängig zu machen.


    Wie gesagt, beim Rest stimme ich Dir zu, aber das hier stimmt nicht, denn meine Random-Massnahmen kann man nicht rückgängig machen.
    Du kannst den Variablen und Funktionen vielleicht andere Namen geben, aber die ursprünglichen Namen sind futsch. Die lassen sich aus den Zufallswerten nicht wiederherstellen.

  • Hallo Oscar,


    Zitat

    Du kannst den Variablen und Funktionen vielleicht andere Namen geben, aber die ursprünglichen Namen sind futsch. Die lassen sich aus den Zufallswerten nicht wiederherstellen.


    Ja, so meinte ich das auch nicht. Mit "Maßnahmen rückgängig machen" meinte ich eher das umkehren der restlichen Schutzmechanismen.
    Ein Beispiel: Der Obfuscator den ich mal geschrieben hatte (Der mit StringEncrypt arbeitet(e)), hatte folgenden Aufbau:


    1. Includes ins Script einbinden
    2. Strings durch ... Chr(...) & Chr(...) & Chr(...) ... ersetzen.
    3. Funktionsnamen random ersetzen
    4. Variablennamen random ersetzen (außer Konstanten)
    5. Chr(...)-Gebilde, Funktionsaufrufe, If-Anweisungen werden in _StringEncrypt & Execute umgewandelt
    6. Zahlen werden durch _StringReverse & BinarytoString ( bin mir da garnich mehr so sicher :D) ersetzt
    7. Der Obfus verschiebt bestimmte Scriptteile
    8. Kommentare und #Region/#EndRegion werden entfernt.


    Bis auf die Punkte 3, 4 & 8 lässt sich alles rückgängig machen (mit entsprechendem Aufwand)

  • :D


    Ihr denkt das echt, oder?


    Es gibt nen bot auf elitepvpers ; geproggt mit AutoIt, und der ist zu 100 % Obfuscated und sicher !!!


    Das gibt es, der typ heist low ??? in skype ;)




    Und ich verwette 5 € drauf, dass er nicht lesbar ist (habe ihn selber decompiled)

  • Alles klar.


    Danke für eure Meinung und Hilfe.
    Inzwischen bin ich ganz zuversichtlich, dass wir den Code recht sicher bekommen, da man durch kombination verschiedener, hier nicht genannter Methoden zu einem Code kommt, der nur mit SEHR viel Zeitaufwand gekanckt werden kann.


    mfg Ubuntu

  • Ja alles ist möglich, aber man muss bei einem Störfaktor ansetzen.
    Und darüber zu dikutieren wie man den Code schützen kann ist Mist, da das doch jeder hier lesen kann und gegenmassnahmen ergreifen kann :pinch:


    Also wer was weiss soll mir ne pm schicken und das hat auch schon jemand getan.


    mfg Ubuntu

  • Könnte man nicht den MD5-Hash der orginalen, kompilierten Version auf dem Server speichern und immer an den Server den MD5-Hash der benutzten Datei übermitteln? Dann müsste man diese nur vergleichen.