Antwort: Man kann ein AutoIt-Script auswählen. Anschließend wird eine Kopie davon erstellt und diese Kopie vom Obfuscator verschleiert. Alle Variablen werden durch Hashs (z.B. $_DE6858087697668DE) ersetzt. Dadurch wird es denjenigen , die den Sourcecode sehen wollen sehr schwer gemacht den Code zu verstehen (Es ist nicht unmöglich aber sehr viel schwerer als ohne Obfuscator) .
Die erstellte Datei hat den Dateinamen: Dein_Skript_Name-obfuscated.au3
Du willst dein AutoIt-Code noch besser schützen?
Dann schau dir das an:
Ein weiterer neuerer Obfuscator von mir:
Autoit-Obfuscator (Outdated, better use Obfuscator written in C++ for AutoIt)
Er ist zwar schlechter als der Obfuscator mit C/C++ (auch in diesem Post) und war auch mein erster Versuch was Obfuscatoren angeht, kann aber trotzdem genug um viele "Skriptkiddies" zum Verzweifeln zu bringen. Da ich den Obfuscator schon lange fertig machen wollte (obwohl ich kaum noch mit Autoit arbeite) hatte ich mich hingesetzt und überlegt wie man denn am besten einen Obfuscator machen kann, der nicht so leicht deobfuscated werden kann.
Pro :
-Variablen und Funktionen werden gehasht (also sind sie schwer zurück "übersetzbar")
-Funktionen, Variablen, normale Autoit Befehle und Strings werden obfuscatet .
-Ihr bekommt den Sourcecode
-Auch bei größeren Projekten (ca 500 Zeilen) braucht Autoit nicht länger als 5 sec zum obfuscaten ( normalerweise ist Autoit nicht gerade die beste Sprache wenn es um Schnelligkeit geht)
-Die Variablennamen sind mit dem Shadowhash alle ziehmlich ähnlich (sorgt für zusätzliche Verwirrung)
Kontra
-Das uncompilierte Skript wird ungefähr 12x so groß (aber wer auf größe setzt der sollte sowieso nicht mit AutoIT coden)
Der selbe Code nachdem ich ihn durch meinen Obfuscator gejagt habe :
PHP Code:
Msgbox(0,"test","123456test1235461E170312481413011C1D48501715604913490112135A0F174949MMM")
Execute(BinaryToString("0x5F5050"&Stringlen("WNN")&"0"&Stringlen("DGMKLTI")&((6+3)^2)-73&"3"&((6+3)^2)-73&"393"&Stringlen("n")&"393536"&Stringlen("WZJC")&Stringlen("n")&"3"&Stringlen("DGMKLTI")&"3"&Stringlen("WZJC")&"4537334"&Stringlen("jT")&"3530373"&Execute(Binarytostring('0x696E7428436F732853696E2028333430372E333739313134373539313529295E2D3129'))&"45433"&Execute(Binarytostring('0x696E7428436F732853696E2028333430372E333739313134373539313529295E2D3129'))&"4"&Stringlen("jT")&"4544393"&Execute(Binarytostring('0x696E7428436F732853696E2028333430372E333739313134373539313529295E2D3129'))&"353742353342422829"))
$_P0x23B6FD2F6CF8D9CDDBBFFF432DCC14A2=Execute(BinaryToString("0x"&Stringlen("BMTK")&"96E"&Stringlen("PBPPXYV")&"0"&Stringlen("PBPPXYV")&"5"&Stringlen("PBPPXYV")&Stringlen("BMTK")&"4"&Stringlen("nX")&"6F"&Stringlen("PBPPXYV")&((6+3)^2)-73&Stringlen("nX")&((6+3)^2)-73&Stringlen("nX")&"4505F50"&Stringlen("NJU")&"07"&((6+3)^2)-73&Stringlen("NJU")&"3334"&Stringlen("q")&"344344433730393736453"&Stringlen("q")&"44314"&Stringlen("nX")&"3943303435333838363036393834372C24505F503078464443433146353632383935324436303537443436313536334539424643314429"))
$_P0xFB7A9A62BA1BC9B9FC3E15E9E76A4F5C=Execute(BinaryToString("0x"&Stringlen("NPII")&"96E"&Stringlen("WNEKUKB")&"0"&Stringlen("WNEKUKB")&"5"&Stringlen("WNEKUKB")&"44"&Stringlen("rF")&"6F7"&((6+3)^2)-73&Stringlen("rF")&((6+3)^2)-73&Stringlen("rF")&"4505F50"&Stringlen("UIG")&"07"&((6+3)^2)-73&Stringlen("UIG")&"3334"&Stringlen("z")&"34434443373039373645314431423943303435333838363036393834372C24505F503078453942323446303335304146323333344637394538384445363232423245354229"))
$_P0x1D3E35E33FB3DDEEDC083353FF46EA87=Execute(BinaryToString("0x"&Stringlen("REYA")&"D"&Stringlen("WTWOLMU")&Stringlen("RWP")&"6"&Stringlen("WTWOLMU")&Stringlen("REYA")&Stringlen("cR")&"6F"&Stringlen("WTWOLMU")&((6+3)^2)-73&Stringlen("cR")&((6+3)^2)-73&Stringlen("RWP")&"0"&Stringlen("cR")&"C2"&Stringlen("REYA")&"505F5030"&Stringlen("WTWOLMU")&"8383036354"&Stringlen("i")&"39433"&Execute(Binarytostring('0x696E7428436F732853696E2028363732312E343137353838333338323629295E2D3129'))&"38464530424346424"&Execute(Binarytostring('0x696E7428436F732853696E2028363732312E343137353838333338323629295E2D3129'))&"32343"&Execute(Binarytostring('0x696E7428436F732853696E2028363732312E343137353838333338323629295E2D3129'))&"4"&Execute(Binarytostring('0x696E7428436F732853696E2028363732312E343137353838333338323629295E2D3129'))&"393"&Execute(Binarytostring('0x696E7428436F732853696E2028363732312E343137353838333338323629295E2D3129'))&"33463642433644453"&Execute(Binarytostring('0x696E7428436F732853696E2028363732312E343137353838333338323629295E2D3129'))&"2C5F503078363"&Execute(Binarytostring('0x696E7428436F732853696E2028363732312E343137353838333338323629295E2D3129'))&"423236334639463434323939393930463933424346303"&Execute(Binarytostring('0x696E7428436F732853696E2028363732312E343137353838333338323629295E2D3129'))&"3634333543344"&Execute(Binarytostring('0x696E7428436F732853696E2028363732312E343137353838333338323629295E2D3129'))&"28245F503078323342364644324636434638443943444442424646463433324443433"&Execute(Binarytostring('0x696E7428436F732853696E2028363732312E343137353838333338323629295E2D3129'))&"344"&Execute(Binarytostring('0x696E7428436F732853696E2028363732312E343137353838333338323629295E2D3129'))&"322C245F5030784642374"&Execute(Binarytostring('0x696E7428436F732853696E2028363732312E343137353838333338323629295E2D3129'))&"394"&Execute(Binarytostring('0x696E7428436F732853696E2028363732312E343137353838333338323629295E2D3129'))&"3632424"&Execute(Binarytostring('0x696E7428436F732853696E2028363732312E343137353838333338323629295E2D3129'))&"3"&Execute(Binarytostring('0x696E7428436F732853696E2028363732312E343137353838333338323629295E2D3129'))&"4243394239464333453"&Execute(Binarytostring('0x696E7428436F732853696E2028363732312E343137353838333338323629295E2D3129'))&"3545394537364"&Execute(Binarytostring('0x696E7428436F732853696E2028363732312E343137353838333338323629295E2D3129'))&"344635432929"))
Func _P0x61B263F9F44299990F93BCF016435C4A($_P0xFDAD7174750D261551491209FDC6A81D,$_P0xA63404A76C3BCBF15574D934A9DAE334)
$_P0xEA5D6738C681BA8CFB1EF03D7808FF75=Execute(BinaryToString("0x"&Stringlen("vY")&Stringlen("LKSP")&"5F50"&Stringlen("ICT")&"0"&Stringlen("SGVYRNN")&((6+3)^2)-73&"46444"&Stringlen("p")&"44"&Stringlen("ICT")&Stringlen("SGVYRNN")&Stringlen("ICT")&Stringlen("p")&"3"&Stringlen("SGVYRNN")&"34373530443"&Stringlen("vY")&"36313535313439313"&Stringlen("vY")&"303946444336413"&((6+3)^2)-73&"3144"&Stringlen("vY")&"6245F503078413633343034413736433342434246313535373444393334413944414533333426245F5030784644414437313734373530443236313535313439313230394644433641383144"))
return $_P0xEA5D6738C681BA8CFB1EF03D7808FF75
EndFunc
Func _P0xE06FF8CD0B8BCA44393779373A1E3677($_P0x1C95D16FE949A8499638B2B35FD11EC0)
$_P0x06BFD9AFBE9A666045F58942E2BB7D2B=Execute(BinaryToString("0x5"&Stringlen("MVH")&Stringlen("FYFIBVF")&Stringlen("WAJM")&Stringlen("FYFIBVF")&Stringlen("sY")&"696E6"&Stringlen("FYFIBVF")&"53"&Stringlen("FYFIBVF")&"06C697"&Stringlen("WAJM")&Stringlen("sY")&((6+3)^2)-73&Stringlen("sY")&"45F50307"&((6+3)^2)-73&"3"&Stringlen("x")&"433935443"&Stringlen("x")&"364645393439413"&((6+3)^2)-73&"3439393633384232423335464431314543302C222229"))
$_P0x1C95D16FE949A8499638B2B35FD11EC0=Execute(BinaryToString("0x"&Stringlen("NLTC")&"5"&Stringlen("DSWHUFP")&((6+3)^2)-73&"656"&Stringlen("FUT")&Stringlen("DSWHUFP")&"57"&Stringlen("NLTC")&"65"&Stringlen("qG")&((6+3)^2)-73&Stringlen("qG")&"7"&Stringlen("NLTC")&Stringlen("qG")&"696E6"&Stringlen("o")&"7279546F5"&Stringlen("FUT")&"7472696E672"&((6+3)^2)-73&"22"&Stringlen("FUT")&"07"&Execute(Binarytostring('0x426974584F522836392C373729'))&"2226537472696E676C656E2"&Execute(Binarytostring('0x426974584F522836392C373729'))&"22444D59222926223022292729"))
For $_P0x85010A521E22C4D4EC5566024CF77959=1 To UBound($_P0x06BFD9AFBE9A666045F58942E2BB7D2B)-1
$_P0x1C95D16FE949A8499638B2B35FD11EC0=Execute(BinaryToString("0x"&Stringlen("jA")&Stringlen("HZAT")&"5F50"&Stringlen("MIA")&"0"&Stringlen("QGKPKOS")&((6+3)^2)-73&"3"&Stringlen("n")&Stringlen("HZAT")&"33935"&Stringlen("HZAT")&"43"&Stringlen("n")&"3646453934394"&Stringlen("n")&"3"&((6+3)^2)-73&"3439393633384"&Stringlen("jA")&"3"&Stringlen("jA")&"4"&Stringlen("jA")&"3335464431314543302B245F5030"&Stringlen("QGKPKOS")&"8303642464439414642453941363636303435463538393432453242423"&Stringlen("QGKPKOS")&"4432425B245F5030"&Stringlen("QGKPKOS")&"838353031304135323145323243344434454335353636303234434637373935395D"))
Next
return $_P0x1C95D16FE949A8499638B2B35FD11EC0
EndFunc
Func _PP0x891956A74E73B5071EC1BED9157B53BB()
Global $P_P0xE9A355C970FA6628B7FCA758B3EA6EF6
Execute(BinaryToString("0x"&Stringlen("NKWI")&Stringlen("g")&Stringlen("XXUDEKS")&Stringlen("VAN")&"7"&Stringlen("VAN")&"69676E"&Stringlen("sN")&((6+3)^2)-73&Stringlen("sN")&"2505F50"&Stringlen("VAN")&"078"&Stringlen("NKWI")&"539"&Stringlen("NKWI")&Stringlen("g")&"333535"&Execute("_P0xE06FF8CD0B8BCA44393779373A1E3677(10*9)-5")&"3393730"&Execute("_P0xE06FF8CD0B8BCA44393779373A1E3677(10*9)-5")&"64"&Stringlen("g")&"3636323842374643413735384233454136454636222C2022746573742229"))
Global $P_P0x68E57EC02B4958E4A4B2BDEE95E03EA6
Execute(BinaryToString("0x"&Stringlen("MPHV")&Stringlen("x")&Stringlen("PFFGHQI")&Stringlen("NTR")&Stringlen("PFFGHQI")&"369676E"&Stringlen("xW")&((6+3)^2)-73&Stringlen("xW")&Stringlen("xW")&"505F50307"&((6+3)^2)-73&"3638"&Stringlen("MPHV")&"53537"&Execute("_P0xE06FF8CD0B8BCA44393779373A1E3677(3*9)-5")&"5"&Execute("_P0xE06FF8CD0B8BCA44393779373A1E3677(3*9)-5")&"3303"&Stringlen("xW")&Execute("_P0xE06FF8CD0B8BCA44393779373A1E3677(3*9)-5")&"234393538453441344232424445453935453033454136222C202274657374322229"))
Global $P_P0x33A4CDC70976E1D1B9C0453886069847
Execute(BinaryToString("0x"&Stringlen("WHVQ")&Stringlen("h")&Stringlen("ZEGSHYO")&Stringlen("GET")&"7369676E"&Stringlen("bX")&((6+3)^2)-73&Stringlen("bX")&Stringlen("bX")&"505F50307"&((6+3)^2)-73&"3333"&Stringlen("WHVQ")&"13"&Execute("_P0xE06FF8CD0B8BCA44393779373A1E3677(1*9)-5")&"4344433730393736453144314"&Stringlen("bX")&"3943303435333"&((6+3)^2)-73&"3836303639383437222C202248692229"))
Global $P_P0xFDCC1F5628952D6057D461563E9BFC1D
Execute(BinaryToString("0x"&Stringlen("QHPB")&Stringlen("c")&Stringlen("IUGZYFJ")&Stringlen("QPE")&Stringlen("IUGZYFJ")&Stringlen("QPE")&"696"&Stringlen("IUGZYFJ")&"6E"&Stringlen("lP")&((6+3)^2)-73&Stringlen("lP")&"2505F5030"&Stringlen("IUGZYFJ")&((6+3)^2)-73&Stringlen("QHPB")&"6"&Execute("_P0xE06FF8CD0B8BCA44393779373A1E3677(5*9)-5")&Execute("_P0xE06FF8CD0B8BCA44393779373A1E3677(5*9)-5")&"43433"&Stringlen("c")&"4635363238393532443630353"&Stringlen("IUGZYFJ")&"4434363135363345394246433144222C20224769622065747761732065696E202229"))
Global $P_P0xE9B24F0350AF2334F79E88DE622B2E5B
Execute(BinaryToString("0x"&Stringlen("IVCA")&Stringlen("f")&Stringlen("OBFOBKC")&Stringlen("LOW")&Stringlen("OBFOBKC")&Stringlen("LOW")&"696"&Stringlen("OBFOBKC")&"6E"&Stringlen("hO")&((6+3)^2)-73&Stringlen("hO")&"2505F50"&Stringlen("LOW")&"078"&Stringlen("IVCA")&"53942323446303335304"&Stringlen("f")&"463233333446373945383844453632324232453542222C2022476962206E6F6368206574776"&Stringlen("f")&"732065696E202229"))
Global $P_P0x8065A9C18FE0BCFBA241A913F6BC6DE1
Execute(BinaryToString("0x"&Stringlen("CQYL")&Stringlen("x")&Stringlen("HDNTZZX")&Stringlen("SSF")&Stringlen("HDNTZZX")&"3696"&Stringlen("HDNTZZX")&"6E"&Stringlen("uG")&((6+3)^2)-73&Stringlen("uG")&"2505F5030"&Stringlen("HDNTZZX")&Execute(Binarytostring('0x426974584F522833372C343529'))&"3"&Execute(Binarytostring('0x426974584F522833372C343529'))&"303635"&Stringlen("CQYL")&Stringlen("x")&"39433"&Stringlen("x")&"3"&Execute(Binarytostring('0x426974584F522833372C343529'))&"4645304243464241323431413931334636424336444531222C202245696E6765676562656E65206B6F6D62696E69657274203A202229"))
EndFunc
Natürlich hängt es von euerem Schlüssel ab , wie Obfuscated wird .
Das Skript ist nur ein mögliches Beispiel von vielen , um zu zeigen wie der obfuscatete Code ausschauen könnte , wie er dann in der Realität ausschaut hängt vom Schlüssel und vom Hash bzw Verschlüsselung ab , die ihr benutzt habt .
Ich freue mich auf Anregungen und Kritik (aber bitte neutrale Kritik , die mir beim "verbessern" helfen soll/kann , auch wenn ihr das Skript noch so sche*** findet !)
Edit :
Der ganze Obfuscator ist in Autoit geschrieben (steht ja eig schon oben) , das beweist mal wieder wie "viel" man mit AutoIT machen kann .
Copyright :
Es steht euch frei das Skript zu verändern , zu kopieren
oder erneut hochzuladen , solange ihr erwähnt , dass das eigentliche Skript von mir ist . Es steht euch unter keinen Umständen zu das Skript zu verkaufen !
v1.1.7
-Illegal Charakter Errors entfernt
-Undefined Function Errors entfernt
-Warning Anzahl minimiert
-Errors kommen nur noch sehr selten vor
-Benutzerfreundlichkeit erhöht
-Copyright eingefügt
-Variablen mit Nummern im Namen werden nun richtig gehasht
-Ungenutzte Funktionen aus dem Skript entfernt
-Stärke der Obfuscation von AutoIT Befehlen erhöht
-Shadowhash verbessert
-Neues GUI eingebaut
-Mehr Hashfunktionen
-Mehr Features
-MD5-Hash hinzugefügt
-Kleine Bugs ausgebessert
-Includes können mit eingebunden werden (manchmal nötig , damit der Code funktioniert , dauert aber leider sehr lange)
v1.1.8
-Kleine Bugs ausgebessert
v1.1.9 & v1.1.10
-Obfuscation stärke verbessert
-Shadowhash verbessert
-Mehrfach hash möglich
-Bugs entfernt , die das obfuscatete Skript ohne Fehlermeldung abstürzen haben lassen .
v1.2.0
-Includes werden jetzt sehr viel schneller eingebunden als in den Versionen davor
-Kleinigkeiten verändert , die den Obfuscation Vorgang beschleunigen sollten
v1.3.0
-Einen Fehler , der mit der Funktion Quersumme zusammenhing und das Skript ohne Warnung abstürtzen hat lassen , beseitigt
-Strings werden jetzt durch Variablen ersetzt und per Assign deklariert , dadurch wird es um einiges schwerer den Code zu lesen und zu verstehen
v1.3.1
-Bugs , die mit der neuen Funktion zusammenhingen entfernt
v1.3.2
-Mehrzeilige Befehle werden nun richtig Obfuscatet
v1.3.4
-Obfuscator sollte sich nicht mehr beim Includes-Einbinden aufhängen
-Abbruchfunktion eingebaut (einfach F6 drücken)
-Kommentare werden entfernt
v1.3.5
-Bessere Obfuscation von Arrays hinzugefügt
v1.3.6
-Funktionsnamen , die in andere Funktionsnamen vorkommen werden nun nicht mehr falsch obfuscatet
Ein Einbinden der Includes funktioniert, so wie ich es momentan gemacht habe, nur bedingt, deswegen habe ich es auskommentiert.
Bei diesem Obfuscator kam es mir nicht nur darauf an, dass der Code möglichst schwer für Menschen lesbar ist, sondern auch darauf, dass der Code möglichst schwer durch fremde Programme deobfuscatet werden kann.
Ich denke das ist durch die generierten Funktionen und andere Späßchen ganz gut erschwert worden.
Besonderheiten, die vorhanden sind:
- Variablennamen werden zu Variablen, die nur aus 0en und Os bestehen (dadurch sieht der Source-Code umso lustiger aus)
- Variable Ver-/Entschlüsselungsroutinen wurden hinzugefügt, um das Obfuscaten durch externe Programme zu erschweren (Ver- und Entschlüsselungsroutinen sind in ASM geschrieben)
- Alle Zeichenketten werden in eine externe Datei ausgelagert, in welcher sie verschlüsselt stehen.
- Der Obfuscator unterstützt in geringen Maßen 2-Kern-Prozessoren (wird aber in den meisten Fällen eh unnötig sein)
- Es werden eigene Funktionen erstellt, die das deobfuscaten erschweren sollen
- Es werden Funktionen zum Skript hinzugefügt, die nach dem Obfuscaten nicht ausgeführt werden, aber ausgeführt werden, sobald das Skript deobfuscatet ist. Damit kann der Code, sollte einmal doch jemand sich die Mühe machen ihn zu deobfuscaten, trotzdem unausführbar bleiben, sollte diejenige Person unachtsam sein.
- Der Zerstörungsgrad der Skripts ist extrem gering
Außerdem liegt der C/C++ Source bei.
Der Code darf natürlich wieder verändert/kopiert werden, solange ihr erwähnt, dass der eigentliche Code von mir ist.
Verkauft werden darf er unter keinen Umständen!
Ein Skript zum Obfuscaten könnt ihr so auswählen:
Ihr kopiert die Obfuscator.exe und die .au3 Datei in ein und den selben Ordner, startet die Obfuscator.exe und gebt den Namen der Au3 Datei ein. Der Name der Au3-Datei darf keine Leerzeichen oder sonstige Sonderzeichen enthalten.
weil er gui event close nicht erkennt und dann auf einmal der button nicht kommt wenn man das mit gui event close behebt ... hab nicht draufgeguckt warum aber wenn du willst kannst du ja die fehler beheben wenn du es machst krigst du n´thx !!!
weil er gui event close nicht erkennt und dann auf einmal der button nicht kommt wenn man das mit gui event close behebt ... hab nicht draufgeguckt warum aber wenn du willst kannst du ja die fehler beheben wenn du es machst krigst du n´thx !!!
Trotzdem SUper arbeit !!!
Danke du hast mich auf ein Gebiet aufmerksam gemacht , an das ich noch garnicht gedacht habe , Macros und vordefinierte Variablen
Sollte jetzt funktionieren , die anderen vordefinierten Variablen und Macros muss ich noch einbinden , heute aber warscheinlich nicht mehr
Dankeschön für deine Hilfe
Edit :
Quote:
Originally Posted by SCORNI
Sry für doppelpost aber hier hab ein GUI gemacht wenns dir gefällt kannst du es ja benutzten wenn nicht dann nicht.
Super !
Habe es gleich "eingebaut" .
Dankeschön
Werde aber später noch ein "richtiges" Gui machen ,
in welchem man dann zwischen verschiedenen Hashes usw. wählen kann .
Ich würde mir gut überlegen, ob ich den Source frei zeige.
Da man den Source hat, ist es ein leites, einen Deobfuscator zu machen. Oder zumindest leichter.
Ich würde mir gut überlegen, ob ich den Source frei zeige.
Da man den Source hat, ist es ein leites, einen Deobfuscator zu machen. Oder zumindest leichter.
Den Source bekommt man doch innerhalb von höchstens einer stunde locker hin (gibt doch schon genug decompiler)
Zudem kommt gehashte Funktionen und Variablen --> Kein Deobfuscation möglich (zumindest kann man nicht sagen wie genau die Variablen hießen , also ist hier schonmal ein Problem)
Auserdem braucht es doch einiges an Arbeit und
Zeit um einen Deobfuscator für die normalen AutoIT-Befehle zu machen .
Hinzu kommt , dass der Code eigentlich recht unübersichtlich ist (finde zumindest ich XD)
Zu guter letzt , kann es mir sowieso egal sein , da ich warscheinlich nicht mehr so viel mit Autoit arbeiten werde , dass ich einen Obfuscator brauchen werde .
habs jetzt mal mit ettlichen meiner scripte probiert, jedesmal kam ne leere datei bei herraus die 4 bytes groß war.
Ehm ?
Das ist extrem komisch ...
hast du die "Kommentare entfernen" Checkbox benutzt ?
Weil diese "Funktion" funktioniert noch nicht ganz bei mir kam auch ähnliches raus wenn ich die Funktion benutzt habe , benutze sie einfach mal nicht , sollte dann gehen , es könnte höchstens noch ein paar Errors geben
Edit :
Falls es trotzdem nicht funktionieren sollte gib mir bitte (meinetwegen auch über PM) das Skript , das diese Probleme macht .
eh ja ok liegt an den kommentaren, jetzt gehts soweit bei allen scripten die ich getestet habe.
allerdings sind die alle danach unbrauchbar weil includes teilweise umbenannt wurden usw. ich schick dir einfach mal nen beispiel per pm.
btw solltest du nochn fileclose nach dem erstellen der datei einbauen, denn die erstellte datei lässt sich nicht löschen bevor das programm beendet wurde.
eh ja ok liegt an den kommentaren, jetzt gehts soweit bei allen scripten die ich getestet habe.
allerdings sind die alle danach unbrauchbar weil includes teilweise umbenannt wurden usw. ich schick dir einfach mal nen beispiel per pm.
btw solltest diu nochn fileclose nach dem erstellen der datei einbauen, denn die erstellte datei lässt sich nicht löschen bevor das programm beendet wurde.
Ja das problem habe ich auch schon festgestellt , die Variablen werden ja gehasht und dadurch erkennt Autoit bspw. GUI_CHECKED nicht mehr , lässt sich aber ganz leicht ausbessern , indem man sagt , dass er es einfach überspringen soll .
Bei selbstgemachten Includes und variablen gibt es hingegen Probleme , das beste wäre wann man statt der Include einfach die Befehle Funktionen usw. rein kopiert ...
Eine einfachere Lösung wäre ja alle Includes vom Programm einbinden zu lassen und die Funktionen + Variablen in den Includes mit zu hashen , aber ich habe einfach Angst vor den ganzen Möglichen Fehlern , denn da kommt man dann auf ein paar Tausend Zeilen und da ist das Fehlerpotenzail sehr hoch ...
Btw Ich habe die eine Include datei GWCA .... nicht
ist ja vom prinzip her egal, war eh nur nen beispiel. also ist es für mich so gut wie unbrauchbar weil eigentlich alle meine scripte auf externe funktionssammlungen aufbauen.
naja wünsche trotzdem noch viel spass beim weiterentwickeln
Ehm ich habe da ein problem.
Wen ich versuche mein teste Script zu Obfuscatoren dann geht das Script einfach aus.
Und wen ich Include dingengs dazumache (das letzte) dann steht da "*** von 0"
Bitte helfen
AutoIt Obfuscator - Verschlüsselung 09/06/2009 - AutoIt - 7 Replies Hey,
Bin dank einem guten Freund, der mich darauf hingewiesen hat, auf diesen nützlichen Tool gestoßen:
AutoIt Obfuscator
Was macht er:
English:
Obfuscator doesn't make your source safe!
Suche v1.0.24.14 vom Obfuscator von Autoit 09/17/2008 - Guild Wars - 2 Replies Hi,
hat die vielleicht noch jemand oder habt ihr auch alle nur die neue version ??
Falls jemand noch die alte hat würde ich mich freuen wenn man die hie hochladen oder mir schicken könnte
Mfg
emtec