Programm mit Key Sichern

  • Hi @ all,
    Ich habe mal ein Skript gemacht das den Leuten mit
    Programmen im betastadium zuhilfe sein kann.
    Das Script holt sich keys aus dem Netz
    liest einen dieser keys mit FileReadline und erfragt nach diesem key mit einer InputBox.
    Der Einzige Nachteil:
    Wen man z.B 5 Keys machen will muss man das Script 5 Verschiedene male Compilieren da jedes programm einen eigenen Key bekommt.

    Nun zum Code:

    [autoit]

    $IniRead=IniRead(@ScriptDIr&"\settings.ini","Keys","Schlüssel","notloaded");Liest die Ini bei start des programms. Steht nichts in der Ini so wird "notloaded" eingeschrieben.
    $Schluesselload=INetGet("http://keyhost.pytalhost.com/Keys.txt",@TempDir&"\keys.txt");Ladet sich die Keys(Schlüssel) für das Programm aus dem Internet und speichert sie im Temp(orären) ordner.
    $Schluesselopen=FileOpen(@TempDir&"\keys.txt",0);Die Datei wird Geöffnet und bekommt Leserechte(0)
    $SchluesselRead=FileReadLine($SchluesselOpen,2);Die Zeile Zwei aus der Datei wird gelesen(somit key zwei)
    #Region GUI
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit][autoit][/autoit][autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 633, 447, 192, 124)
    $Button1 = GUICtrlCreateButton("Button1", 120, 112, 75, 25, 0)
    If $IniRead="notloaded"Then
    GUISetState(@SW_Hide,$Form1);Versteckt die GUI wen notloaded aktiv ist
    ElseIF $IniRead=$SchluesselRead Then
    GuiSetState(@SW_SHow,$Form1);Wen der key in der ini steht wird die gui sichtbar
    EndIF
    #EndRegion ### END Koda GUI section ###
    #EndRegion GUI

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    If $IniRead="notloaded" Then;Checkt ob "notloaded" oder ein Orginal Key vorhanden ist.
    $Check=InputBox("Key eingabe","Gib bitte deinen 14 Stelligen Code ein");Wen "notloaded" eingeschrieben wurde öffnet sich eine Box die den Schlüssel aus Zeile zwei der keys.txt braucht.
    If $Check=$SchluesselRead Then;Checkt ob der Key in der InputBox($Check) mit dem aus Zeile Zwei der keys.txt($FileRead) Übereinstimmt.
    MsgBox(0,"Erfolg","Erfolg. Du kannst das Programm jetzt ohne Probleme Nutzen");Wen Ja öffnet sich eine MSGBox
    IniWrite(@ScriptDir&"\settings.ini","Keys","Schlüssel",$Check);Der Code wird in die Ini Geschrieben
    GuiSetState(@SW_SHow,$Form1);Lässt die GUI Erscheinen
    Else
    MsgBox(0,"Fehler","Du hast den Falschen Code eingegeben")
    IniWrite(@ScriptDir&"\settings.ini","Keys","Schlüssel","notloaded")
    Exit
    EndIf
    EndIF
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit][autoit][/autoit][autoit]

    EndSwitch
    WEnd

    [/autoit]

    Die keys die ich Verwende in diesem Beispiel lauten

    W7DHQ2N4LOX0Y5
    H4FT734ZM9BEC3
    Z3NWP7X1YD12V1
    R4N6CTR9MKL1ZQ
    M4RT6UVN9Q1WP0
    Den Key H4FT734ZM9BEC3 ist der Key den ich im Beispiel verwende.

    Zum Aufbau der Keys Noch etwas:

    • Der Key kann auch länger oder kürzer als 14 zeichen sein nur sölltet ihr die InputBox dann auch anpasen
    • In der Text datei muss Pro Key eine Zeile angelegt werden.

    Gruß Roggazzz

  • hi...

    bitte berichtige mich aber das ist keine Sicherheit.... ?(
    wenn ich den link von dir aufrufe bekomme ich doch alle keys...
    auch wenn das programm kombiliert wäre könnte ich mit nem sniffer die verbindung mitsniffen uns wüsse so die adresse...

    leider ist es immer noch möglich ( elegal ) Autoitprogramme so zu decombilieren das man den Quelltext lesen kann... daher ist es schwer in Autoit von Sicherheit zu sprechen....

    es gibt im Englischen forum ne UDF zum Thema Sicherheit.... aber auch die ist natürlich nicht 100% sicher... link

    MFG chris :D

  • Oo Gibt es nicht NICHTS was wer knacken kann??
    Ich denke für den Privat gebrauch oder für bekannte etc was auch immer ist es ok,
    das es natürlich welche gibt die es knacken können, ok, aber dennoch weiter so =)