BETA - Probezeit-Script (Seriennummer + Aktivierungscode)

  • Habe ein Script geschrieben, dass bei Start eine Seriennummer generiert. Die Produkt muss erst aktiviert werden, bevor man ein Programm vollständig nutzen kann (ohne Probezeit).
    Das könnte man z.B. dazu verwenden, wenn man wirklich mal ein Script verkaufen will. Man muss es dann nur ein wenig umschreiben, dass dem Script eben von Anfang an eine Seriennummer zugeschrieben ist, die man dann durch das Aktivieren noch bestätigen muss.

    Wenn es nicht aktiviert wird, befindet man sich in der Probezeit und kann das Programm nur 50x benutzen.

    Seriennummer, Aktivierungscode und Restliche Probezeit werden in der Registry gespeichert.

    Das Script ist an sehr vielen Ecken noch Verbesserungswürdig. Vorallem, die Methode der Aktivierung lässt zu wünschen übrig. Einen Sinn hat das Script im aktuellen Zustand nicht wirklich, das weis ich auch... ^^ Aber man kann ihm einen Sinn geben.

    serial.au3

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
    #include <ButtonConstants.au3>
    #include <Inet.au3>
    #include <IE.au3>

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

    Global $ran[16]
    Global $key[16]
    Dim $lefttime

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

    Opt("GUIOnEventMode", 1)
    $ser = GUICreate("Serial Beta Programm", 306, 186, 193, 125)
    $Label1 = GUICtrlCreateLabel("Bevor sie das Programm nutzen können, müssen sie es aktivieren.", 8, 8, 292, 41)
    $Label2 = GUICtrlCreateLabel("Ihre Seriennummer lautet: XXXXX - XXXXX - XXXXX", 8, 162, 292, 33)
    $Label5 = GUICtrlCreateLabel("Seriennummer aktivieren?", 80, 52, 150, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $Button3 = GUICtrlCreateButton("Aktivieren.", 80, 68, 145, 25, 0)
    $Label4 = GUICtrlCreateLabel("Produkt kostenlos testen? ", 88, 100, 130, 17)
    $Button2 = GUICtrlCreateButton("Produkt jetzt kostenlos testen.", 40, 124, 225, 25, 0)
    GUISetState(@SW_SHOW)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    GUICtrlSetOnEvent($Button2, "freetest")
    GUICtrlSetOnEvent($Button3, "act")

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

    Opt("GUIOnEventMode", 1)
    $serform = GUICreate("Aktivierungsformular", 274, 184, 193, 126)
    $Group1 = GUICtrlCreateGroup("", 120, 0, 145, 141)
    $name = GUICtrlCreateInput("Hans", 128, 16, 129, 21)
    $nachname = GUICtrlCreateInput("Mustermann", 128, 40, 129, 21)
    $street = GUICtrlCreateInput("Musterstraße 1", 128, 64, 129, 21)
    $ort = GUICtrlCreateInput("Musterhausen / 12345", 128, 88, 129, 21)
    $serialinput = GUICtrlCreateInput("xxxxx - xxxxx - xxxxx", 128, 112, 129, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("", 2, 10, 117, 27)
    $namelabel = GUICtrlCreateLabel("Vorname", 8, 18, 53, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("", 2, 34, 117, 27)
    $nachnamelabel = GUICtrlCreateLabel("Nachname", 8, 42, 64, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group4 = GUICtrlCreateGroup("", 2, 81, 117, 27)
    $ortlabel = GUICtrlCreateLabel("Wohnort / PLZ", 8, 89, 89, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group5 = GUICtrlCreateGroup("", 2, 57, 117, 27)
    $streetlabel = GUICtrlCreateLabel("Straße", 8, 65, 41, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group6 = GUICtrlCreateGroup("", 2, 106, 117, 27)
    $seriallabel = GUICtrlCreateLabel("Seriennummer", 8, 114, 100, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group7 = GUICtrlCreateGroup("", 2, 140, 269, 41)
    $sendbutton = GUICtrlCreateButton("Abschicken", 6, 154, 123, 21, 0)
    $abortbutton = GUICtrlCreateButton("Abbrechen", 142, 154, 123, 21, 0)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked3")
    GUICtrlSetOnEvent($abortbutton, "CLOSEClicked3")
    GUICtrlSetOnEvent($sendbutton, "sendact")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_HIDE)

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

    $serialop = IniRead("settings.ini", "Settings", "Opt1", "error")
    If $serialop = "error" Then
    MsgBox(64, "Schwerwiegender Fehler aufgetreten!", "Die Datei 'settings.ini' ist entweder beschädigt oder wurde gelöscht!"&@CRLF&"Sie können das Programm nur noch im Probemodus ausführen!")
    Else
    GUICtrlSetData($Label2, "Ihre Seriennummer lautet: "&$serialop)
    GUICtrlSetData($serialinput, $serialop)
    InetGet("http://serialsql.se.ohost.de/serials/"&$serialop&".ini", @AppDataDir&$serialop&".ini")
    $inetactcheck = IniRead(@AppDataDir&$serialop&".ini", "Serials", "actkey", "actlost")
    FileDelete(@AppDataDir&$serialop&".ini")
    If $inetactcheck = "actlost" Then
    MsgBox(64, "Produktaktivierung", "Sie haben das Programm noch nicht aktiviert und befinden sich derzeit in der Probezeit!")
    Else
    $sread = $serialop
    For $i = 0 To 15
    $s = $i + 1
    $ran[$i] = StringMid($sread, $s, 1)

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

    If $ran[$i] = "A" Or $ran[$i] = "2" Or $ran[$i] = "7" Then
    $ran[$i] = "C"
    ElseIf $ran[$i] = "B" Or $ran[$i] = "U" Or $ran[$i] = "W" Then
    $ran[$i] = "6"
    ElseIf $ran[$i] = "T" Or $ran[$i] = "9" Or $ran[$i] = "0" Then
    $ran[$i] = "Z"
    ElseIf $ran[$i] = "Q" Or $ran[$i] = "5" Or $ran[$i] = "V" Then
    $ran[$i] = "X"
    ElseIf $ran[$i] = "4" Or $ran[$i] = "3" Or $ran[$i] = "H" Then
    $ran[$i] = "J"
    ElseIf $ran[$i] = "E" Or $ran[$i] = "N" Or $ran[$i] = "8" Then
    $ran[$i] = "P"
    ElseIf $ran[$i] = "C" Or $ran[$i] = "X" Or $ran[$i] = "Y" Then
    $ran[$i] = "8"
    ElseIf $ran[$i] = "G" Or $ran[$i] = "F" Or $ran[$i] = "1" Then
    $ran[$i] = "V"
    ElseIf $ran[$i] = "O" Or $ran[$i] = "Z" Or $ran[$i] = "W" Then
    $ran[$i] = "I"
    ElseIf $ran[$i] = "6" Or $ran[$i] = "D" Or $ran[$i] = "I" Then
    $ran[$i] = "K"
    ElseIf $ran[$i] = "J" Or $ran[$i] = "K" Or $ran[$i] = "L" Then
    $ran[$i] = "F"
    ElseIf $ran[$i] = "M" Or $ran[$i] = "P" Or $ran[$i] = "R" Then
    $ran[$i] = "5"
    ElseIf $ran[$i] = "S" Then
    $ran[$i] = "G"
    EndIf
    Next
    $actcheckwithinet = $ran[0]&$ran[1]&$ran[2]&$ran[3]&$ran[4]&$ran[5]&$ran[6]&$ran[7]&$ran[8]&$ran[9]&$ran[10]&$ran[11]&$ran[12]&$ran[13]&$ran[14]&$ran[15]
    If $inetactcheck = $actcheckwithinet Then
    GUISetState(@SW_HIDE, $ser)
    Run("notepad.exe")
    FileDelete(@AppDataDir&$serialop&".ini")
    Exit
    Else
    MsgBox(0, "Schwerwiegender Fehler!", "Der uns gespeicherte Aktivierungs-Code stimmt nicht mit der ihrer Seriennummer überein! Bitte wenden Sie sich an den Support!")
    EndIf
    EndIf
    EndIf

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

    Func freetest()
    $testseterror = InetGet("http://serialsql.se.ohost.de/serials/"&$serialop&".ini", @AppDataDir&$serialop&".ini")
    FileDelete(@AppDataDir&$serialop&".ini")
    If $testseterror = 0 Then
    $timeusable = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\SERIALACT", "Time")
    If @error Then
    $timeusable = 0
    Else
    $timeusable += 1
    EndIf
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\SERIALACT", "Time", "REG_SZ", $timeusable)
    $resttime = 30 - $timeusable
    If $resttime <= 0 Then
    MsgBox(64, "Probezeit abgelaufen", "Bitte aktivieren sie das Produkt! Ihre Probezeit ist abgelaufen.")
    Else
    MsgBox(64, "Produkt nicht aktiviert", "Ihr Produkt ist nicht aktiviert! Sie können es nur noch "&$resttime&"-Mal benutzen.")
    FileDelete(@AppDataDir&$serialop&".ini")
    Exit
    EndIf
    Else
    FileDelete(@AppDataDir&$serialop&".ini")
    Run("notepad.exe")
    EndIf

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

    EndFunc

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

    Func act()
    $inetseterror = InetGet("http://serialsql.se.ohost.de/serials/"&$serialop&".ini", @AppDataDir&$serialop&".ini")
    FileDelete(@AppDataDir&$serialop&".ini")
    If $inetseterror = 0 Then
    GUISetState(@SW_SHOW, $serform)
    Else
    MsgBox(64, "Fehler aufgetreten", "Das Produkt wurde bereits aktiviert.")
    EndIf
    FileDelete(@AppDataDir&$serialop&".ini")
    EndFunc

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

    Func sendact()
    $name2 = GUICtrlRead($name)
    $nachname2 = GUICtrlRead($nachname)
    $street2 = GUICtrlRead($street)
    $ort2 = GUICtrlRead($ort)
    $serialinput2 = GUICtrlRead($serialinput)

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

    For $i = 0 To 15
    $s = $i + 1
    $ran[$i] = StringMid($serialinput2, $s, 1)
    If $ran[$i] = "A" Or $ran[$i] = "2" Or $ran[$i] = "7" Then
    $ran[$i] = "C"
    ElseIf $ran[$i] = "B" Or $ran[$i] = "U" Or $ran[$i] = "W" Then
    $ran[$i] = "6"
    ElseIf $ran[$i] = "T" Or $ran[$i] = "9" Or $ran[$i] = "0" Then
    $ran[$i] = "Z"
    ElseIf $ran[$i] = "Q" Or $ran[$i] = "5" Or $ran[$i] = "V" Then
    $ran[$i] = "X"
    ElseIf $ran[$i] = "4" Or $ran[$i] = "3" Or $ran[$i] = "H" Then
    $ran[$i] = "J"
    ElseIf $ran[$i] = "E" Or $ran[$i] = "N" Or $ran[$i] = "8" Then
    $ran[$i] = "P"
    ElseIf $ran[$i] = "C" Or $ran[$i] = "X" Or $ran[$i] = "Y" Then
    $ran[$i] = "8"
    ElseIf $ran[$i] = "G" Or $ran[$i] = "F" Or $ran[$i] = "1" Then
    $ran[$i] = "V"
    ElseIf $ran[$i] = "O" Or $ran[$i] = "Z" Or $ran[$i] = "W" Then
    $ran[$i] = "I"
    ElseIf $ran[$i] = "6" Or $ran[$i] = "D" Or $ran[$i] = "I" Then
    $ran[$i] = "K"
    ElseIf $ran[$i] = "J" Or $ran[$i] = "K" Or $ran[$i] = "L" Then
    $ran[$i] = "F"
    ElseIf $ran[$i] = "M" Or $ran[$i] = "P" Or $ran[$i] = "R" Then
    $ran[$i] = "5"
    ElseIf $ran[$i] = "S" Then
    $ran[$i] = "G"
    EndIf
    Next

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

    $activateerror = InetGet("http://serialsql.se.ohost.de/serials/"&$serialinput2&".ini", @AppDataDir&$serialinput2&".ini")
    FileDelete(@AppDataDir&$serialinput2&".ini")
    If $activateerror = 0 Then
    $activate = $ran[0]&$ran[1]&$ran[2]&$ran[3]&$ran[4]&$ran[5]&$ran[6]&$ran[7]&$ran[8]&$ran[9]&$ran[10]&$ran[11]&$ran[12]&$ran[13]&$ran[14]&$ran[15]
    $oIE = _IECreate("http://serialsql.se.ohost.de/serials/serials.php?file="&_INetExplorerCapable($serialinput2)&"&serial="&_INetExplorerCapable($serialinput2)&"&actkey="&_INetExplorerCapable($activate)&"&name="&_INetExplorerCapable($name2)&"&nachname="&_INetExplorerCapable($nachname2)&"&wohnort="&_INetExplorerCapable($ort2)&"&street="&_INetExplorerCapable($street2), 0, 0 )
    _IELoadWaitTimeout( 3000 )
    _IELoadWait( $oIE )
    _IEQuit( $oIE )
    If @error = 1 Or @error = 3 Or @error = 4 Or @error = 6 Or @error = 8 Or @error = 9 Then
    MsgBox(0, "Fehler aufgetreten!", "Es konnte keine Verbindung mit dem Server hergestellt werden! Bitte kontrollieren Sie, dass sie mit dem Internet verbunden sind und schalten Sie Ihre FireWall vorrübergehend aus!")
    Else

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

    MsgBox(64, "Aktivierungscode", "Vielen Dank für ihre Geduld! Ihre Software wurde aktiviert!")
    EndIf
    Else
    MsgBox(64, "Fehler aufgetreten", "Das Produkt wurde bereits aktiviert.")
    EndIf
    FileDelete(@AppDataDir&$serialop&".ini")

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

    EndFunc

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

    Func CLOSEClicked()
    FileDelete(@AppDataDir&$serialop&".ini")
    Exit
    EndFunc

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

    Func CLOSEClicked3()
    FileDelete(@AppDataDir&$serialop&".ini")
    GUISetState(@SW_HIDE, $serform)
    EndFunc

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

    While 1
    Sleep(100)
    WEnd

    [/autoit]

    Externer Aktivierungscode-Generator:

    generator.au3

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
    #include <ButtonConstants.au3>

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

    Global $ran[16]
    Global $key[16]

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

    Opt("GUIOnEventMode", 1)
    GUICreate("Activation Generator", 186, 146, 193, 125)
    GUICtrlCreateLabel("Serienummer hier eingeben:", 8, 8, 161, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $sernum = GUICtrlCreateInput("Seriennummer...", 8, 32, 169, 21)
    GUICtrlCreateLabel("Aktivierungs-Key:", 8, 96, 103, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $actkey = GUICtrlCreateInput("Aktivierungskey wird hier erstellt", 8, 112, 169, 21)
    $gener = GUICtrlCreateButton("Aktivierungs-Key generieren!", 8, 64, 169, 25, 0)
    GUISetState(@SW_Show)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    GUICtrlSetOnEvent($gener, "generate")

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

    For $i = 0 To 15
    $ran[$i] = Random(0, 9, 1)
    $key[$i] = Random(1, 26, 1)
    If $key[$i] = 1 Then
    $key[$i] = "Q"
    ElseIf $key[$i] = 2 Then
    $key[$i] = "W"
    ElseIf $key[$i] = 3 Then
    $key[$i] = "E"
    ElseIf $key[$i] = 4 Then
    $key[$i] = "R"
    ElseIf $key[$i] = 5 Then
    $key[$i] = "T"
    ElseIf $key[$i] = 6 Then
    $key[$i] = "Z"
    ElseIf $key[$i] = 7 Then
    $key[$i] = "U"
    ElseIf $key[$i] = 8 Then
    $key[$i] = "I"
    ElseIf $key[$i] = 9 Then
    $key[$i] = "O"
    ElseIf $key[$i] = 10 Then
    $key[$i] = "P"
    ElseIf $key[$i] = 11 Then
    $key[$i] = "A"
    ElseIf $key[$i] = 12 Then
    $key[$i] = "S"
    ElseIf $key[$i] = 13 Then
    $key[$i] = "D"
    ElseIf $key[$i] = 14 Then
    $key[$i] = "F"
    ElseIf $key[$i] = 15 Then
    $key[$i] = "G"
    ElseIf $key[$i] = 16 Then
    $key[$i] = "H"
    ElseIf $key[$i] = 17 Then
    $key[$i] = "J"
    ElseIf $key[$i] = 18 Then
    $key[$i] = "K"
    ElseIf $key[$i] = 19 Then
    $key[$i] = "L"
    ElseIf $key[$i] = 20 Then
    $key[$i] = "Y"
    ElseIf $key[$i] = 21 Then
    $key[$i] = "X"
    ElseIf $key[$i] = 22 Then
    $key[$i] = "C"
    ElseIf $key[$i] = 23 Then
    $key[$i] = "V"
    ElseIf $key[$i] = 24 Then
    $key[$i] = "B"
    ElseIf $key[$i] = 25 Then
    $key[$i] = "N"
    ElseIf $key[$i] = 26 Then
    $key[$i] = "M"
    EndIf
    $koz = Random(0, 1, 1)
    $kozcheck = $koz + $ran[$i]
    If $kozcheck = $ran[$i] + 1 Then
    $ran[$i] = $key[$i]
    Else
    $ran[$i] = $ran[$i]
    EndIf
    Next
    $serialop = $ran[0]&$ran[1]&$ran[2]&$ran[3]&$ran[4]&$ran[5]&$ran[6]&$ran[7]&$ran[8]&$ran[9]&$ran[10]&$ran[11]&$ran[12]&$ran[13]&$ran[14]&$ran[15]
    GUICtrlSetData($sernum, $serialop)
    IniWrite("settings.ini", "Settings", "Opt1", $serialop)

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

    While 1
    Sleep(100)
    WEnd

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

    Func CLOSEClicked()
    Exit
    EndFunc

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

    Func generate()
    Local $ran[16]
    $sread = GUICtrlRead($sernum)
    For $i = 0 To 15
    $s = $i + 1
    $ran[$i] = StringMid($sread, $s, 1)

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

    If $ran[$i] = "A" Or $ran[$i] = "2" Or $ran[$i] = "7" Then
    $ran[$i] = "C"
    ElseIf $ran[$i] = "B" Or $ran[$i] = "U" Or $ran[$i] = "W" Then
    $ran[$i] = "6"
    ElseIf $ran[$i] = "T" Or $ran[$i] = "9" Or $ran[$i] = "0" Then
    $ran[$i] = "Z"
    ElseIf $ran[$i] = "Q" Or $ran[$i] = "5" Or $ran[$i] = "V" Then
    $ran[$i] = "X"
    ElseIf $ran[$i] = "4" Or $ran[$i] = "3" Or $ran[$i] = "H" Then
    $ran[$i] = "J"
    ElseIf $ran[$i] = "E" Or $ran[$i] = "N" Or $ran[$i] = "8" Then
    $ran[$i] = "P"
    ElseIf $ran[$i] = "C" Or $ran[$i] = "X" Or $ran[$i] = "Y" Then
    $ran[$i] = "8"
    ElseIf $ran[$i] = "G" Or $ran[$i] = "F" Or $ran[$i] = "1" Then
    $ran[$i] = "V"
    ElseIf $ran[$i] = "O" Or $ran[$i] = "Z" Or $ran[$i] = "W" Then
    $ran[$i] = "I"
    ElseIf $ran[$i] = "6" Or $ran[$i] = "D" Or $ran[$i] = "I" Then
    $ran[$i] = "K"
    ElseIf $ran[$i] = "J" Or $ran[$i] = "K" Or $ran[$i] = "L" Then
    $ran[$i] = "F"
    ElseIf $ran[$i] = "M" Or $ran[$i] = "P" Or $ran[$i] = "R" Then
    $ran[$i] = "5"
    ElseIf $ran[$i] = "S" Then
    $ran[$i] = "G"
    EndIf
    Next
    $activate = $ran[0]&$ran[1]&$ran[2]&$ran[3]&$ran[4]&$ran[5]&$ran[6]&$ran[7]&$ran[8]&$ran[9]&$ran[10]&$ran[11]&$ran[12]&$ran[13]&$ran[14]&$ran[15]
    GUICtrlSetData($actkey, $activate)
    EndFunc

    [/autoit]

    serials.php (Nur benötigt wenn ihr es auf eurem server testen wollt. Dazu muss der Code angepasst werden)

    Spoiler anzeigen

    Wäre cool, wen ihr dabei helfen könntet das Script auszubauen und zu vervollständigen.
    Wer das wirklich nutzen möchte, sollte die Art und Weise, wie der Aktivierungscode generiert wird verändern, ansonsten macht das wenig Sinn.

    ### Updates/Fixes.................................................

    * 21.06.2008:

    • Es wurde ein Fehler behoben, der ein doppeltes einschreiben in die *.ini auf dem Webspace ermöglichte.
    • Es wurde ein Form-Fehler behoben.
    • Es wurde ein Fehler behoben, der das Script nach Ablauf der 30 Probe-Tests nicht richtig deaktiviert hat.


    * 20.06.2008:

    • Die Aktivierungsdaten werden nun in einer, durch eine *.php Datei erstellte *.ini Datei, auf einem WebSpace gespeichert.
    • Arbeitsprinzip überarbeitet.

    ...................................................................###

    ## Info: Wenn ihr das Script aktiviert, sind eure eingegebenen Daten auf: http://serialsql.se.ohost.de/serials/ frei zugänglich.

    6 Mal editiert, zuletzt von Wambo (21. Juni 2008 um 16:41)

  • tolles script.
    jedoch 2 Mängel, warum du das Script nun umsonst geschrieben hast.

    So wie ich das überfolgen habe, werden die Daten in die Registry geschrieben.
    Da kommt fast jeder hin.

    Und nun der wirklich (blöde Punkt):
    Du hast den Source freigestellt. Das bedeudet, dass andere ihn sehen und somit unbrauchbar ist.

    Trotzdem tolle Mühe und Arbeit, womit man auch viele Sachen verbessern kann.
    Also lass dich jetzt net von mir unterkriegen ;)

  • Das mit Registry ist blöd ich weis, da will ich ma noch shcauen ob ich das über ne Datenbank machen kann.

    Unbrauchbar weil ich ihn hier gezeigt hab, ist er nicht, man kann ganz einfach den Seriennummer To Activation-Code umändern, dass er ihn anders generiert.

  • Das mit Registry ist blöd ich weis, da will ich ma noch shcauen ob ich das über ne Datenbank machen kann.

    Unbrauchbar weil ich ihn hier gezeigt hab, ist er nicht, man kann ganz einfach den Seriennummer To Activation-Code umändern, dass er ihn anders generiert.


    Trotzdem is der Algorythmus schon bekannt.
    Ich würde vielleicht alles über das Internet machen. Was natürlich aber auch ein Nachteil für andere User sind, die kein Internet haben.
    Eine kleine .ini Datei auf einem unbekannten Server.
    Was noch eine möglichkeit wäre...:
    zusätzlich noch ein programmiertes script erstellen und dort einfügen.

    aber sonst ist es echt gut ;)

  • Hier mal die neuere Version:

    serial.au3

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
    #include <ButtonConstants.au3>
    #include <Inet.au3>
    #include <IE.au3>

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

    Global $ran[16]
    Global $key[16]
    Dim $lefttime

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

    Opt("GUIOnEventMode", 1)
    $ser = GUICreate("Serial Beta Programm", 306, 186, 193, 125)
    $Label1 = GUICtrlCreateLabel("Bevor sie das Programm nutzen können, müssen sie es aktivieren.", 8, 8, 292, 41)
    $Label2 = GUICtrlCreateLabel("Ihre Seriennummer lautet: XXXXX - XXXXX - XXXXX", 8, 162, 292, 33)
    $Label5 = GUICtrlCreateLabel("Seriennummer aktivieren?", 80, 52, 150, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $Button3 = GUICtrlCreateButton("Aktivieren.", 80, 68, 145, 25, 0)
    $Label4 = GUICtrlCreateLabel("Produkt kostenlos testen? ", 88, 100, 130, 17)
    $Button2 = GUICtrlCreateButton("Produkt jetzt kostenlos testen.", 40, 124, 225, 25, 0)
    GUISetState(@SW_SHOW)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    GUICtrlSetOnEvent($Button2, "freetest")
    GUICtrlSetOnEvent($Button3, "act")

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

    Opt("GUIOnEventMode", 1)
    $serform = GUICreate("Aktivierungsformular", 274, 184, 193, 126)
    $Group1 = GUICtrlCreateGroup("", 120, 0, 145, 141)
    $name = GUICtrlCreateInput("Hans", 128, 16, 129, 21)
    $nachname = GUICtrlCreateInput("Mustermann", 128, 40, 129, 21)
    $street = GUICtrlCreateInput("Musterstraße 1", 128, 64, 129, 21)
    $ort = GUICtrlCreateInput("Musterhausen / 12345", 128, 88, 129, 21)
    $serialinput = GUICtrlCreateInput("xxxxx - xxxxx - xxxxx", 128, 112, 129, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("", 2, 10, 117, 27)
    $namelabel = GUICtrlCreateLabel("Vorname", 8, 18, 53, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("", 2, 34, 117, 27)
    $nachnamelabel = GUICtrlCreateLabel("Nachname", 8, 42, 64, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group4 = GUICtrlCreateGroup("", 2, 81, 117, 27)
    $ortlabel = GUICtrlCreateLabel("Wohnort / PLZ", 8, 89, 89, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group5 = GUICtrlCreateGroup("", 2, 57, 117, 27)
    $streetlabel = GUICtrlCreateLabel("Straße", 8, 65, 41, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group6 = GUICtrlCreateGroup("", 2, 106, 117, 27)
    $seriallabel = GUICtrlCreateLabel("Seriennummer", 8, 114, 100, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group7 = GUICtrlCreateGroup("", 2, 140, 269, 41)
    $sendbutton = GUICtrlCreateButton("Abschicken", 6, 154, 123, 21, 0)
    $abortbutton = GUICtrlCreateButton("Abbrechen", 142, 154, 123, 21, 0)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked3")
    GUICtrlSetOnEvent($abortbutton, "CLOSEClicked3")
    GUICtrlSetOnEvent($sendbutton, "sendact")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_HIDE)

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

    $serialop = IniRead("settings.ini", "Settings", "Opt1", "error")
    If $serialop = "error" Then
    MsgBox(64, "Schwerwiegender Fehler aufgetreten!", "Die Datei 'settings.ini' ist entweder beschädigt oder wurde gelöscht!"&@CRLF&"Sie können das Programm nur noch im Probemodus ausführen!")
    Else
    GUICtrlSetData($Label2, "Ihre Seriennummer lautet: "&$serialop)
    GUICtrlSetData($serialinput, $serialop)
    InetGet("http://serialsql.se.ohost.de/serials/"&$serialop&".ini", @AppDataDir&$serialop&".ini")
    $inetactcheck = IniRead(@AppDataDir&$serialop&".ini", "Serials", "actkey", "actlost")
    FileDelete(@AppDataDir&$serialop&".ini")
    If $inetactcheck = "actlost" Then
    MsgBox(64, "Produktaktivierung", "Sie haben das Programm noch nicht aktiviert und befinden sich derzeit in der Probezeit!")
    Else
    $sread = $serialop
    For $i = 0 To 15
    $s = $i + 1
    $ran[$i] = StringMid($sread, $s, 1)

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

    If $ran[$i] = "A" Or $ran[$i] = "2" Or $ran[$i] = "7" Then
    $ran[$i] = "C"
    ElseIf $ran[$i] = "B" Or $ran[$i] = "U" Or $ran[$i] = "W" Then
    $ran[$i] = "6"
    ElseIf $ran[$i] = "T" Or $ran[$i] = "9" Or $ran[$i] = "0" Then
    $ran[$i] = "Z"
    ElseIf $ran[$i] = "Q" Or $ran[$i] = "5" Or $ran[$i] = "V" Then
    $ran[$i] = "X"
    ElseIf $ran[$i] = "4" Or $ran[$i] = "3" Or $ran[$i] = "H" Then
    $ran[$i] = "J"
    ElseIf $ran[$i] = "E" Or $ran[$i] = "N" Or $ran[$i] = "8" Then
    $ran[$i] = "P"
    ElseIf $ran[$i] = "C" Or $ran[$i] = "X" Or $ran[$i] = "Y" Then
    $ran[$i] = "8"
    ElseIf $ran[$i] = "G" Or $ran[$i] = "F" Or $ran[$i] = "1" Then
    $ran[$i] = "V"
    ElseIf $ran[$i] = "O" Or $ran[$i] = "Z" Or $ran[$i] = "W" Then
    $ran[$i] = "I"
    ElseIf $ran[$i] = "6" Or $ran[$i] = "D" Or $ran[$i] = "I" Then
    $ran[$i] = "K"
    ElseIf $ran[$i] = "J" Or $ran[$i] = "K" Or $ran[$i] = "L" Then
    $ran[$i] = "F"
    ElseIf $ran[$i] = "M" Or $ran[$i] = "P" Or $ran[$i] = "R" Then
    $ran[$i] = "5"
    ElseIf $ran[$i] = "S" Then
    $ran[$i] = "G"
    EndIf
    Next
    $actcheckwithinet = $ran[0]&$ran[1]&$ran[2]&$ran[3]&$ran[4]&$ran[5]&$ran[6]&$ran[7]&$ran[8]&$ran[9]&$ran[10]&$ran[11]&$ran[12]&$ran[13]&$ran[14]&$ran[15]
    If $inetactcheck = $actcheckwithinet Then
    GUISetState(@SW_HIDE, $ser)
    Run("notepad.exe")
    FileDelete(@AppDataDir&$serialop&".ini")
    Exit
    Else
    MsgBox(0, "Schwerwiegender Fehler!", "Der uns gespeicherte Aktivierungs-Code stimmt nicht mit der ihrer Seriennummer überein! Bitte wenden Sie sich an den Support!")
    EndIf
    EndIf
    EndIf

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

    Func freetest()
    $testseterror = InetGet("http://serialsql.se.ohost.de/serials/"&$serialop&".ini", @AppDataDir&$serialop&".ini")
    FileDelete(@AppDataDir&$serialop&".ini")
    If $testseterror = 0 Then
    $timeusable = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\SERIALACT", "Time")
    If @error Then
    $timeusable = 0
    Else
    $timeusable += 1
    EndIf
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\SERIALACT", "Time", "REG_SZ", $timeusable)
    $resttime = 30 - $timeusable
    If $resttime <= 0 Then
    MsgBox(64, "Probezeit abgelaufen", "Bitte aktivieren sie das Produkt! Ihre Probezeit ist abgelaufen.")
    Else
    MsgBox(64, "Produkt nicht aktiviert", "Ihr Produkt ist nicht aktiviert! Sie können es nur noch "&$resttime&"-Mal benutzen.")
    FileDelete(@AppDataDir&$serialop&".ini")
    Exit
    EndIf
    Else
    FileDelete(@AppDataDir&$serialop&".ini")
    Run("notepad.exe")
    EndIf


    EndFunc

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

    Func act()
    $inetseterror = InetGet("http://serialsql.se.ohost.de/serials/"&$serialop&".ini", @AppDataDir&$serialop&".ini")
    FileDelete(@AppDataDir&$serialop&".ini")
    If $inetseterror = 0 Then
    GUISetState(@SW_SHOW, $serform)
    Else
    MsgBox(64, "Fehler aufgetreten", "Das Produkt wurde bereits aktiviert.")
    EndIf
    FileDelete(@AppDataDir&$serialop&".ini")
    EndFunc

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

    Func sendact()
    $name2 = GUICtrlRead($name)
    $nachname2 = GUICtrlRead($nachname)
    $street2 = GUICtrlRead($street)
    $ort2 = GUICtrlRead($ort)
    $serialinput2 = GUICtrlRead($serialinput)

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

    For $i = 0 To 15
    $s = $i + 1
    $ran[$i] = StringMid($serialinput2, $s, 1)
    If $ran[$i] = "A" Or $ran[$i] = "2" Or $ran[$i] = "7" Then
    $ran[$i] = "C"
    ElseIf $ran[$i] = "B" Or $ran[$i] = "U" Or $ran[$i] = "W" Then
    $ran[$i] = "6"
    ElseIf $ran[$i] = "T" Or $ran[$i] = "9" Or $ran[$i] = "0" Then
    $ran[$i] = "Z"
    ElseIf $ran[$i] = "Q" Or $ran[$i] = "5" Or $ran[$i] = "V" Then
    $ran[$i] = "X"
    ElseIf $ran[$i] = "4" Or $ran[$i] = "3" Or $ran[$i] = "H" Then
    $ran[$i] = "J"
    ElseIf $ran[$i] = "E" Or $ran[$i] = "N" Or $ran[$i] = "8" Then
    $ran[$i] = "P"
    ElseIf $ran[$i] = "C" Or $ran[$i] = "X" Or $ran[$i] = "Y" Then
    $ran[$i] = "8"
    ElseIf $ran[$i] = "G" Or $ran[$i] = "F" Or $ran[$i] = "1" Then
    $ran[$i] = "V"
    ElseIf $ran[$i] = "O" Or $ran[$i] = "Z" Or $ran[$i] = "W" Then
    $ran[$i] = "I"
    ElseIf $ran[$i] = "6" Or $ran[$i] = "D" Or $ran[$i] = "I" Then
    $ran[$i] = "K"
    ElseIf $ran[$i] = "J" Or $ran[$i] = "K" Or $ran[$i] = "L" Then
    $ran[$i] = "F"
    ElseIf $ran[$i] = "M" Or $ran[$i] = "P" Or $ran[$i] = "R" Then
    $ran[$i] = "5"
    ElseIf $ran[$i] = "S" Then
    $ran[$i] = "G"
    EndIf
    Next

    $activateerror = InetGet("http://serialsql.se.ohost.de/serials/"&$serialinput2&".ini", @AppDataDir&$serialinput2&".ini")
    FileDelete(@AppDataDir&$serialinput2&".ini")
    If $activateerror = 0 Then
    $activate = $ran[0]&$ran[1]&$ran[2]&$ran[3]&$ran[4]&$ran[5]&$ran[6]&$ran[7]&$ran[8]&$ran[9]&$ran[10]&$ran[11]&$ran[12]&$ran[13]&$ran[14]&$ran[15]
    $oIE = _IECreate("http://serialsql.se.ohost.de/serials/serials.php?file="&_INetExplorerCapable($serialinput2)&"&serial="&_INetExplorerCapable($serialinput2)&"&actkey="&_INetExplorerCapable($activate)&"&name="&_INetExplorerCapable($name2)&"&nachname="&_INetExplorerCapable($nachname2)&"&wohnort="&_INetExplorerCapable($ort2)&"&street="&_INetExplorerCapable($street2), 0, 0 )
    _IELoadWaitTimeout( 3000 )
    _IELoadWait( $oIE )
    _IEQuit( $oIE )
    If @error = 1 Or @error = 3 Or @error = 4 Or @error = 6 Or @error = 8 Or @error = 9 Then
    MsgBox(0, "Fehler aufgetreten!", "Es konnte keine Verbindung mit dem Server hergestellt werden! Bitte kontrollieren Sie, dass sie mit dem Internet verbunden sind und schalten Sie Ihre FireWall vorrübergehend aus!")
    Else

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

    MsgBox(64, "Aktivierungscode", "Vielen Dank für ihre Geduld! Ihre Software wurde aktiviert!")
    EndIf
    Else
    MsgBox(64, "Fehler aufgetreten", "Das Produkt wurde bereits aktiviert.")
    EndIf
    FileDelete(@AppDataDir&$serialop&".ini")

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

    EndFunc

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

    Func CLOSEClicked()
    FileDelete(@AppDataDir&$serialop&".ini")
    Exit
    EndFunc

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

    Func CLOSEClicked3()
    FileDelete(@AppDataDir&$serialop&".ini")
    GUISetState(@SW_HIDE, $serform)
    EndFunc

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

    While 1
    Sleep(100)
    WEnd

    [/autoit]

    Er sendet jetzt bei der Aktivierung Daten an eine .php auf einem Webspace, die .php erstellt daraufhin eine .ini datei auf dem server mit der seriennummer als Namen, in der ini stehen die Infos die man bei der Aktivierung eingegeben hat, so kann man sie auch später wieder einlesen indem man die Ini runterlädt, Daten ausliest und ini wieder löscht...
    Was mir nicht so ganz gefällt ist, dass die Seriennummer noch in ner lokalen .ini Datei gespeichert wird. Die lokale .ini Datei generiert man mit dem Generator:

    generator.au3(Generiert neue Seriennummer bei Ausführen!)

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
    #include <ButtonConstants.au3>

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

    Global $ran[16]
    Global $key[16]

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

    Opt("GUIOnEventMode", 1)
    GUICreate("Activation Generator", 186, 146, 193, 125)
    GUICtrlCreateLabel("Serienummer hier eingeben:", 8, 8, 161, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $sernum = GUICtrlCreateInput("Seriennummer...", 8, 32, 169, 21)
    GUICtrlCreateLabel("Aktivierungs-Key:", 8, 96, 103, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $actkey = GUICtrlCreateInput("Aktivierungskey wird hier erstellt", 8, 112, 169, 21)
    $gener = GUICtrlCreateButton("Aktivierungs-Key generieren!", 8, 64, 169, 25, 0)
    GUISetState(@SW_Show)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    GUICtrlSetOnEvent($gener, "generate")

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

    For $i = 0 To 15
    $ran[$i] = Random(0, 9, 1)
    $key[$i] = Random(1, 26, 1)
    If $key[$i] = 1 Then
    $key[$i] = "Q"
    ElseIf $key[$i] = 2 Then
    $key[$i] = "W"
    ElseIf $key[$i] = 3 Then
    $key[$i] = "E"
    ElseIf $key[$i] = 4 Then
    $key[$i] = "R"
    ElseIf $key[$i] = 5 Then
    $key[$i] = "T"
    ElseIf $key[$i] = 6 Then
    $key[$i] = "Z"
    ElseIf $key[$i] = 7 Then
    $key[$i] = "U"
    ElseIf $key[$i] = 8 Then
    $key[$i] = "I"
    ElseIf $key[$i] = 9 Then
    $key[$i] = "O"
    ElseIf $key[$i] = 10 Then
    $key[$i] = "P"
    ElseIf $key[$i] = 11 Then
    $key[$i] = "A"
    ElseIf $key[$i] = 12 Then
    $key[$i] = "S"
    ElseIf $key[$i] = 13 Then
    $key[$i] = "D"
    ElseIf $key[$i] = 14 Then
    $key[$i] = "F"
    ElseIf $key[$i] = 15 Then
    $key[$i] = "G"
    ElseIf $key[$i] = 16 Then
    $key[$i] = "H"
    ElseIf $key[$i] = 17 Then
    $key[$i] = "J"
    ElseIf $key[$i] = 18 Then
    $key[$i] = "K"
    ElseIf $key[$i] = 19 Then
    $key[$i] = "L"
    ElseIf $key[$i] = 20 Then
    $key[$i] = "Y"
    ElseIf $key[$i] = 21 Then
    $key[$i] = "X"
    ElseIf $key[$i] = 22 Then
    $key[$i] = "C"
    ElseIf $key[$i] = 23 Then
    $key[$i] = "V"
    ElseIf $key[$i] = 24 Then
    $key[$i] = "B"
    ElseIf $key[$i] = 25 Then
    $key[$i] = "N"
    ElseIf $key[$i] = 26 Then
    $key[$i] = "M"
    EndIf
    $koz = Random(0, 1, 1)
    $kozcheck = $koz + $ran[$i]
    If $kozcheck = $ran[$i] + 1 Then
    $ran[$i] = $key[$i]
    Else
    $ran[$i] = $ran[$i]
    EndIf
    Next
    $serialop = $ran[0]&$ran[1]&$ran[2]&$ran[3]&$ran[4]&$ran[5]&$ran[6]&$ran[7]&$ran[8]&$ran[9]&$ran[10]&$ran[11]&$ran[12]&$ran[13]&$ran[14]&$ran[15]
    GUICtrlSetData($sernum, $serialop)
    IniWrite("settings.ini", "Settings", "Opt1", $serialop)

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

    While 1
    Sleep(100)
    WEnd

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

    Func CLOSEClicked()
    Exit
    EndFunc

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

    Func generate()
    Local $ran[16]
    $sread = GUICtrlRead($sernum)
    For $i = 0 To 15
    $s = $i + 1
    $ran[$i] = StringMid($sread, $s, 1)

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

    If $ran[$i] = "A" Or $ran[$i] = "2" Or $ran[$i] = "7" Then
    $ran[$i] = "C"
    ElseIf $ran[$i] = "B" Or $ran[$i] = "U" Or $ran[$i] = "W" Then
    $ran[$i] = "6"
    ElseIf $ran[$i] = "T" Or $ran[$i] = "9" Or $ran[$i] = "0" Then
    $ran[$i] = "Z"
    ElseIf $ran[$i] = "Q" Or $ran[$i] = "5" Or $ran[$i] = "V" Then
    $ran[$i] = "X"
    ElseIf $ran[$i] = "4" Or $ran[$i] = "3" Or $ran[$i] = "H" Then
    $ran[$i] = "J"
    ElseIf $ran[$i] = "E" Or $ran[$i] = "N" Or $ran[$i] = "8" Then
    $ran[$i] = "P"
    ElseIf $ran[$i] = "C" Or $ran[$i] = "X" Or $ran[$i] = "Y" Then
    $ran[$i] = "8"
    ElseIf $ran[$i] = "G" Or $ran[$i] = "F" Or $ran[$i] = "1" Then
    $ran[$i] = "V"
    ElseIf $ran[$i] = "O" Or $ran[$i] = "Z" Or $ran[$i] = "W" Then
    $ran[$i] = "I"
    ElseIf $ran[$i] = "6" Or $ran[$i] = "D" Or $ran[$i] = "I" Then
    $ran[$i] = "K"
    ElseIf $ran[$i] = "J" Or $ran[$i] = "K" Or $ran[$i] = "L" Then
    $ran[$i] = "F"
    ElseIf $ran[$i] = "M" Or $ran[$i] = "P" Or $ran[$i] = "R" Then
    $ran[$i] = "5"
    ElseIf $ran[$i] = "S" Then
    $ran[$i] = "G"
    EndIf
    Next
    $activate = $ran[0]&$ran[1]&$ran[2]&$ran[3]&$ran[4]&$ran[5]&$ran[6]&$ran[7]&$ran[8]&$ran[9]&$ran[10]&$ran[11]&$ran[12]&$ran[13]&$ran[14]&$ran[15]
    GUICtrlSetData($actkey, $activate)
    EndFunc

    [/autoit]


    Und hier mal noch die .php Datei:

    serials.php (Nur benötigt wenn ihr es auf eurem server testen wollt. Dazu muss der Code angepasst werden)

    Spoiler anzeigen

    3 Mal editiert, zuletzt von Wambo (21. Juni 2008 um 14:42)

  • Hallo Wambo.

    Bekomme folgende Fehler:

    bei der ersten Script-Datei:

    Spoiler anzeigen
    [autoit]


    E:\sn_und_aktivierer\sn.au3(138,5) : ERROR: missing EndIf.
    Else
    ~~~~^
    E:\sn_und_aktivierer\sn.au3(132,50) : REF: missing EndIf.
    If $resttime = 0 Then
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    E:\sn_und_aktivierer\sn.au3(143,13) : ERROR: syntax error
    EndIf
    ~~~~~~~~~~~~^
    E:\sn_und_aktivierer\sn.au3(19,47) : ERROR: CLOSEClicked(): undefined function.
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    E:\sn_und_aktivierer\sn.au3(21,34) : ERROR: act(): undefined function.
    GUICtrlSetOnEvent($Button3, "act")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    E:\sn_und_aktivierer\sn.au3(55,48) : ERROR: CLOSEClicked3(): undefined function.
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked3")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    E:\sn_und_aktivierer\sn.au3(57,41) : ERROR: sendact(): undefined function.
    GUICtrlSetOnEvent($sendbutton, "sendact")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    E:\sn_und_aktivierer\sn.au3 - 6 error(s), 0 warning(s)

    [/autoit]

    Gruß, Crazy-A.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Hallo Wambo!

    Hab dein Programm mit großem Interesse schon mal auf meinen Rechner kopiert.... bin aber ganz neu in der AutoIT Szene und werd jetzt mal versuchen mich da ein wenig einzulesen und einzutesten!

    gab's seit Juni 2008 noch Neuerungen? Die Scripts in deinem ersten Post wurden auf neuesten Stand gebracht? Ich hab die History bzw. Updates auch nicht ganz verstanden.... werden noch Daten in die Regestry geschrieben oder läuft alles über Internet?

    mfg

    Zizas

  • Zitat

    Trotzdem is der Algorythmus schon bekannt.

    Gemäß dem was-weiß-ich-Gesetz ist eine Verschlüsselung nur sicher, wenn sie auch durch Aufdecken des Algorithmus nicht wirkungslos wird...
    Nicht umsonst gibt es Open-Source-Verschlüsselungssoftware wie TrueCrypt.

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • Hey,

    deine Php-Datei ist unsicher.
    Mittels \..\ kann ich Pfade nach oben gehen, mit nem Unixzeichnen deine Zeile terminieren und das .ini abschneiden.
    Nimm den Filename lieber hardgecoded und wähl dann mit case aus ;)

    Grüße

    SlowlyDead