Die Frage: Kann man eine Compilte exe wieder zurück in eine au3 Datei verwandeln oder anderst an den Sourcecode kommen? Wenn ja wäre das ja ein erhebliches Sicherheitsproblem was zb. meinen MySQL Login angeht, wenn man dann die Zugangsdaten einsehen kann...
.exe zurück in .au3 umwandeln?
-
- [ gelöst ]
-
iFreak95 -
13. Juni 2012 um 20:15 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
Das ist (leider) prinzipbedingt bei einer interpretierten Sprache wie AutoIt kein (großes) Problem. Dagegen kannst du auch kaum etwas vernünftiges tun :/.
-
Es ist aber, zumindest bei dem AutoIt-Standard-Compiler, illegal.
Das wird zwar für die meisten keinen Unterschied machen, aber wenn du es rausbekommst, und weißt, wer es ist, kannst du was dagegen unternehmen.lg chess
-
Ja. Mit den richtigen Tools kann man "kompillierte" AutoIt Skripte wieder entwurschteln.
Dicherheit gibts somit keine.Mögliche Lösungen sind:
- Obfuscaten (kein Hindernis für jemanden der AutoIt kennt)
- Dll Schreiben (kann zwar auch zerlegt werden, ist aber erheblich mehr Arbeit)
- ASM schreiben (ohne Kommentare ist selbst ein gefuchster ASM spezialist ne Weile dran bis er versteht was der Code bewirkt)Im Computer ist nichts sicher. Es ist nur die Frage wie groß der Aufwand ist um irgendetwas zu entschlüsseln.
Bei AutoIt ist er leider sehr gering.lg
M -
Aber der "Hacker" muss wissen, das es mit AutoIT geschrieben wurde, oder?
PS: Viel Glück heut Abend beim tippen ;P
-
Ja, das lässt sich ganz leicht machen. Man braucht dazu einen sogenannten Decompliter. Die findet man einfach per Google. Mit grafischer Oberfläche usw. sind die Dinger absolut idiotensicher und jeder DAU kann die bedienen. Von daher: Nie Passwörter in eine EXE stecken, die du publizieren willst!
-
Und wie soll ich dann zu nem Server Connecten? Ohne Passwörter in der Exe..
-
Aber der "Hacker" muss wissen, das es mit AutoIT geschrieben wurde, oder?
Das findet er haraus. Z.B. so: Lade dir Resouce Hacker runter (kostenlos und legal) und klicke dich ein wenig durch die Baumstruktur am linken Rand. Irgendwann stößt du dann z.B. auf so einen Eintrag:
Code
Alles anzeigenSTRINGTABLE LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK { 101, "(Paused) " 102, "AutoIt Error" 103, "AutoIt has detected the stack has become corrupt.\n\nStack corruption typically occurs when either the wrong calling convention is used or when the function is called with the wrong number of arguments.\n\nAutoIt supports the __stdcall (WINAPI) and __cdecl calling conventions. The __stdcall (WINAPI) convention is used by default but __cdecl can be used instead. See the DllCall() documentation for details on changing the calling convention." 105, "Badly formatted \"Func\" statement." 107, "Missing right bracket ')' in expression." 108, "Missing operator in expression." 109, "Unbalanced brackets in expression." 110, "Error in expression." 111, "Error parsing function call." }
Der sagt doch alles, oder?Und wie soll ich dann zu nem Server Connecten? Ohne Passwörter in der Exe..
Wie wäre es mit einem PHP-Script, an welchs du Werte per URL übergibst und welches dann die Datenbankabfrage durchführt und diese dann zurückgibt? Dann könntest du die Daten per InetRead ("deinserver.de/deinscript.php?wert=blablabla") abfragen.
-
Ist es auch illegal, wenn ich meine eigenen .exen in den Quellcode dekompilieren will?
-
Rechtlich gesehen: Ja.
Code, der mit dem AutoIt-Compiler (Also dem von Jonathan Benneth + Team) kompiliert wurde, darf nicht dekompiliert werden, egal, von wem der Code stammt.lg chess
-
Nein, wenn es wirklich dein Code ist, ist es auch definitiv nicht illegal...
Da gibt es kein Gesetz, das das Dekompilieren eigener Programme beschränkt oder verbietet, auch die AutoIt Nutzungsbedingungen können einem das nicht verbieten...Edit:
Naja jedenfalls meiner Meinung nach nicht...
Ich kann natürlich auch falsch liegen, korrigiert mich dann bitte, interessiert mich nämlich auch. -
Also meinem Wissenstand nach, ist der Urheber oder das Copyright des Codes vollkommen egal, denn die Nutzungsbedingungen des Compilers sind, dass mit eben diesem, von Jonathan Benneth & Team geschriebenem Compiler kompilierter Code NICHT dekompiliert werden darf.
Das Vorhaben scheitert also nicht erst an den Rechten usw. an den Scripten, sondern schon an der Rechtslage des Compilers.
Wenn man jetzt einen eigenen AutoIt-Compiler schreibt oder einen anderen, schon existierenden Compiler nimmt, bei dem es erlaubt ist, die erstellten Dateien zu dekompilieren, dann dürftest du (zumindest deinen eigenen) Code wieder dekompilieren. Aber auch das nur, wenn die *.exe mit dem anderen Compiler erstellt wurde!
So kenne ich das zumindest, lasse mich aber auch gerne verbessern.
lg chess
-
Pack die LoginDaten doch einfach in ein PHP Script ?
So kann auch keiner die SQLs modifizieren und du rufst lediglich das PHP Script auf.
MfG -
Ich habe gerade was interessantes gefunden: https://bitbucket.org/hyperzap/bleb-autoit-compiler/overview
Das scheint AutoIt-Code in C-Code umzuwandeln (Oder so ähnlich, ich habs mir nicht genauer angeschaut).
Vielleicht kann ja der ein oder andere was damit anfangen.^^lg chess
-
- Offizieller Beitrag
Wenn es dir darum geht, jederzeit wieder den Sourcecode zur Verfügung zu haben, kannst du diesen doch beim Kompilieren in der EXE speichern ("Resource Update" - Checkbox "Save a copy of the Scriptsource in the output program resources.")
Dann brauchst du nicht dekompilieren und kannst jederzeit völlig legal deinen Sourcecode einsehen (natürlich auch jeder andere).