|
You last visited: Today at 22:35
Advertisement
Autoit Lizenssystem bzw. Server
Discussion on Autoit Lizenssystem bzw. Server within the AutoIt forum part of the Coders Den category.
08/27/2012, 13:42
|
#1
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Autoit Lizenssystem bzw. Server
Hi,
ich bin gerade dabei mit zu überlegen ob man nicht ein Lizenssystem mit Autoit schreiben könnte. Ich hab mir gedacht das man dafür wohl nen Server braucht damit man das nicht so einfach umgehen kann.
So nun wollte ich euch fragen wie würdet ihr anfangen? Ist das realisierbar?
Ist es sinnvoll - oder einfach zu leicht zu knacken?
MfG Ludder231
|
|
|
08/27/2012, 14:40
|
#2
|
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
|
Warum sollte es denn nicht realisierbar sein?
Ob es letzendlich leicht zu reserven ist, hängt ganz vom Programmierer ab. Bist du geschickt und schlau wird es nicht so leicht.
|
|
|
08/28/2012, 14:19
|
#3
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Und wie soll ich das machen. Im internet gibts auch nicht viel drüber...
|
|
|
08/28/2012, 14:38
|
#4
|
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
|
Du kannst mich gerne in Skype (Logtetsch) kontaktieren. Dort könnte ich dir besser helfen.
|
|
|
08/28/2012, 16:16
|
#5
|
elite*gold: 400
Join Date: Nov 2008
Posts: 67,905
Received Thanks: 19,505
|
MySQL Datenbank anlegen in der Lizenzen stehen (gegebenenfalls HWIDs an dennen diese hängen)
über eine *.php Datei und get parametern wird dann die Datenbank ausgelesen (keine Datenbankconnection über AutoIT!) z.B. über "Lizenz.php?hwid=[HWID]"
das ist im Grunde relativ einfach
|
|
|
08/28/2012, 16:33
|
#6
|
elite*gold: 19
Join Date: Sep 2007
Posts: 1,525
Received Thanks: 1,058
|
Nur kann man das ganze einfach dekompilieren bzw. den Server emulieren. Müsste verschlüsselt ablaufen, am besten mit nem Timestamp.
Dennoch, Dekompilieren einer AutoitExe ist trotz Obfuscator recht einfach.
|
|
|
08/28/2012, 16:54
|
#7
|
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
|
Die wichtigsten Schwachstellen sind folgende:
1. Decompilen.
Benutze einen Packer, der möglichst schwer zu entpacken ist (z.B. Themida). Standard UPX ist keine Hürde.
Zusätzlich zum Packer noch nen Obfuscator nutzen, um das decompilete Script möglichst unbrauchbar zu machen, falls jemand es schafft, das Prog zu entpacken.
2. Auslesen des PWs.
Wenn du einfach ne Liste online stellst, in der die Lizenzen/PWs/HWIDs roh stehen, oder wenn irgendwo das richtige PW im Script steht, könnten die relativ leicht ausgelesen werden.
Sinnvoller wäre, die md5 Hashwerte o.ä. der gültigen PWs online zu speichern und abzufragen, ob der Hash des eingegebenen PWs enthalten ist. Selbst wenn jemand den gültigen Hash herausfindet, kann er daraus nicht einfach ein gültiges PW herleiten.
3. if Abfragen.
Abfragen wie 'if $pw = "abc" then' können leicht reversed werden. In OllyDbg ist das oft nur ein conditional jump, der durch ein NOP oder jmp ersetzt wird. Da würde auch ein Hashwert nicht helfen. Oder das PW wird direkt per HexEditor/Olly ausgelesen. In diesem Fall würde ein Hashwert es dem Hacker allerdings deutlich schwieriger machen.
Besser wäre, entscheidende Scriptbestandteile mit dem richtigen PW zu ver- und mit dem eingegebenen zu entschlüsseln. In nem Trainer wären das z.B. Offsets, Prozessnamen etc.
So steht das richtige PW nicht im Script, kann also nicht ausgelesen werden und es gibt keine einfache Fehlermeldung, die man umgehen kann bei falschem PW, sondern das Prog läuft, aber ist vollkommen unbrauchbar.
Wenn du diese 3 Punkte umsetzt, ist es zwar nicht unmöglich zu knacken, aber zumindest die ganzen Möchtegern Hacker, die hier rumlaufen, werden sich die Zähne dran ausbeißen.
Edit:
4. Einen Timestamp zu benutzen, wie von Alisami vorgeschlagen, würde die Sicherheit auch definitiv erhöhen.
|
|
|
08/28/2012, 19:32
|
#8
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Ah danke, dann werd ich mich mal bisschen informieren über hashes undsowas, danke euch
|
|
|
08/28/2012, 21:26
|
#9
|
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403
|
Quote:
Originally Posted by -STORM-
Die wichtigsten Schwachstellen sind folgende:
2. Auslesen des PWs.
Wenn du einfach ne Liste online stellst, in der die Lizenzen/PWs/HWIDs roh stehen, oder wenn irgendwo das richtige PW im Script steht, könnten die relativ leicht ausgelesen werden.
Sinnvoller wäre, die md5 Hashwerte o.ä. der gültigen PWs online zu speichern und abzufragen, ob der Hash des eingegebenen PWs enthalten ist. Selbst wenn jemand den gültigen Hash herausfindet, kann er daraus nicht einfach ein gültiges PW herleiten.
3. if Abfragen.
Abfragen wie 'if $pw = "abc" then' können leicht reversed werden. In OllyDbg ist das oft nur ein conditional jump, der durch ein NOP oder jmp ersetzt wird. Da würde auch ein Hashwert nicht helfen. Oder das PW wird direkt per HexEditor/Olly ausgelesen. In diesem Fall würde ein Hashwert es dem Hacker allerdings deutlich schwieriger machen.
Besser wäre, entscheidende Scriptbestandteile mit dem richtigen PW zu ver- und mit dem eingegebenen zu entschlüsseln. In nem Trainer wären das z.B. Offsets, Prozessnamen etc.
So steht das richtige PW nicht im Script, kann also nicht ausgelesen werden und es gibt keine einfache Fehlermeldung, die man umgehen kann bei falschem PW, sondern das Prog läuft, aber ist vollkommen unbrauchbar.
|
Man könnte mit dem Lizenzschlüssel / Passwort das gesamte AutoIt Script verschlüsseln  . Somit wäre es (vorausgesetzt, das Passwort ist gut) unmöglich, das Programm ohne gültige Lizenz zu nutzen. Benutzt man dann noch einen guten Obfuscator, wäre der Aufwand, um an den Source zu kommen, bei einem größeren Script sehr hoch.
MfG
|
|
|
08/29/2012, 13:18
|
#10
|
elite*gold: 0
Join Date: Apr 2012
Posts: 319
Received Thanks: 54
|
Quote:
Originally Posted by Achat
Man könnte mit dem Lizenzschlüssel / Passwort das gesamte AutoIt Script verschlüsseln  . Somit wäre es (vorausgesetzt, das Passwort ist gut) unmöglich, das Programm ohne gültige Lizenz zu nutzen. Benutzt man dann noch einen guten Obfuscator, wäre der Aufwand, um an den Source zu kommen, bei einem größeren Script sehr hoch.
MfG
|
Da binn ich auch interessiert.
Also Extra eine "Starter-Datei" erstellen, Auf lizenzeintrag warten und dann das originale script von FileInstall aus Starten oder wie?
|
|
|
08/31/2012, 20:25
|
#11
|
elite*gold: 26
Join Date: Jun 2009
Posts: 972
Received Thanks: 228
|
Wie schon erwähnt wurde, es ist sehr einfach möglich, jedoch ist es genauso möglich dieses Lizenssystem zu umgehen. Sinnvoller wäre es sowas über c++ o.ä. zu machen. Da wäre es zumindest schon mal unmöglich innerhalb von 5 sekunden den quellcode zu bekommen. Aber eine 100% Sicherung wirst du nie bekommen, es ist nur eine Frage der Zeit bis man das System gecrackt hat.
|
|
|
All times are GMT +1. The time now is 22:36.
|
|