Lizenz für Skripte

  • Hallo an alle Auto It`ler,

    ich hab folgende Frage:

    Ist es möglich ein Script mit `ner Lizenz zu versehen die dann eine bestimmte Zeit läuft und wie wäre so was in AutoIT zu realisieren.

    In der Praxis sollte das später so aussehen, ich hab ein Skript geschrieben, das lauscht ob ein bestimmtes Programm gestartet wird, ist dies der Fall blockiert mein Skript das Programm und disabled es und schaltet eine GUI auf in der man zur eingabe eines Users und Passworts aufgefordert, ebenso hat man noch diverse ander Möglichkeiten zur Benutzerverwaltung...

    Zu diesem Skript soll die Lizenzierung laufen.

    Über Vorschläge wäre ich dankbar,

    mit freundlichen Grüßen,

    Todd

    • Offizieller Beitrag

    Möglich ist alles. Warum willst du eigentlich ein Extra Script dafür erstellen? Wäre doch sinnvoller, die Abfrage ins eigentliche Programm einzubauen . Bei einem Externen Script gibt´s zu viel möglichkeiten das ganze auszuhebeln. Z.b. umbenennen des Hauptprogramms, das du abfragst .

  • Ja, das meinte ich auch, sorry falls das nicht so rüberkam,

    ich möchte es natürlich ins eigentliche Skript einbauen,

    Gruß

  • das beste ist beim erststart irgendwo (und wirklich IRGENDWO:D) einen Registry-Eintrag anzulegen mit dem Enddatum
    den eintrag findet man nie :D
    Finde mal das hier:

    Code
    HKEY_CLASSES_ROOT\.c2r\shellex\open\DropTarget\xxx\x

    Padmak

    Edit: ja genau so hab ichs mir gedacht^^

  • Bei der Registry Lösung taucht doch dann wieder das Problem auf das durch eine Änderung der Systemzeit das ganz Null und Nichtig wird, oder werden die Registry Einträge andersweitig überprüft, ich denk nicht.

    Sowas in der Art einer verschlüsselten InI Datei oder eines Schlüssels der eingegeben wird, oder...?

    MIr fehlt nur irgendwie der richtige Ansatz.

    Danke fürs schnelle Antworten,
    Mit besten Grüßen,
    Todd

  • du könntest auch immer überprüfen ob die jetzige uhrzeit niedriger ist als die gespeicherte und in dem fall dann gleich eine sperre auslösen^^

    Padmak

    Ich bin jez weg heute abend helf ich weiter^^

  • ich muß Raupi da Recht geben.

    Zitat

    das lauscht ob ein bestimmtes Programm...


    klingt nicht, als ob das Programm von Dir wäre.
    Du willst doch nicht für Programme von Anderen eine Sperre einbauen?

    Da könnte man ja auf ganz andere Ideen kommen... :rolleyes:

    Ich möchte ja nicht immer gleich was unterstellen.
    Aber bei so grenzwertigen Themen ist es Recht sinnvoll den Umstand etwas genauer zu beschreiben.

    Wenn der Fenstertitel immer gleich bleibt, kann Dir das vielleicht weiterhelfen:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    $Test = GUICreate("Test", 213, 106, 347, 179)
    GUISetState(@SW_SHOW)
    If WinExists("Test") Then
    sleep(2000)
    ;dient nur der Veranschauloichung, dass Fenster existiert
    WinSetState("Test","",@SW_HIDE)
    sleep(2000)
    ; Abfrage von was auch immer...
    WinSetState("Test","",@SW_SHOW)
    EndIf

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]

    Mit der Prüfung würde ich einen Timestamp erstellen in der Registry und über Atomzeit vergleichen.
    Nachteil: kein Internet --> kein Program...

    zweiter Ansatz:
    Arbeite nicht mit Zeit sondern mit einer festen Anzahl Aufrufe des Programms.
    Dazu sind die meisten kommerziellen Programmierer auch übergegangen eben wegen der Zeitverstell-Probleme.

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • mit der registry gibt es auch noch ein 2. problem und zwar das es mittlerweile genügend Programme gibt die Loggen was gerade in die Registry geschrieben wird und was gerade ausgelesen wird, mit Zeit, Prozess der dies macht und natürlich Pfad, Schlüssel und Value die geändert wurden

    Was mir dazu jetzt noch einfallen würde wäre die information ob gesperrt oder nicht, auf einem fremden System zu speichern, ein FTP im internet z.b. das bedeutet halt das deine User die das Programm benutzen sollen Internet Anbindung haben müssen, was aber heutzutage eig. schon fast standard ist.

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Hello again,

    also im Prinzip ist es richtig ich will ein bestimmtes Programm sperren, das nicht von mir geschrieben ist( ich hab das allerdings schon mit den Programmierern abgeklärt und die wären selber an der Sicherheitslösung interessiert), das ist aber vom Kunden so gewollt, da nur befugte Mitarbeiter dieses Programm benutzen dürfen.
    Das ganze läuft in einer Sicherheitsumgebung bzw. in einem eigenen Netz, d.h., keine Internetverbindung vorhanden und auch nicht gewollt oder vorgesehen.

    Schnuffel:
    dein Quellcode ist im Prinzip das was das Programm machen soll, und s.ä. hab ichs auch gemacht musste das nur etwas ausführlicher machen, da noch versch. andere Umstände beachtet werden mussten.
    Ich möchte allerdings nur die reine Überprüfung auf Lizenz oder auf einen Schlüssel der nur einmal eingegeben werden soll.

    Bei weiteren Fragen,
    bitte gern,
    Gruß Todd

  • okay aber wenn ihr schon so eine umgebung habt dann wird es dort doch bestimmt irgendeinen server oder sowas geben wo nur super admins zugriff haben oder sowas... jedefalls nicht das fussvolk :D

    da könntest du doch ebenfalls die information speichern oder?

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Kann man nicht irgendwie die Uhrzeit üder das Internet überprüfen? GIb es eigentlich in AutoIt einen Befehl, dass der sich automatisch mit der Standart-Internetverbindung ins Internet einwählt?

    mfg. Jam00

  • warum willst du nicht in die Registrierung schreiben?
    kannst ja bei jedem start per RegRead alle werte überprüfen und wenn sich einer verändert hat das Programm sperren
    so habs ich mal gemacht ich find den code nur nicht mehr...
    das hat aber wunderbar gefunzt.

    Padmak

  • ich meine, weil man doch Datum und Uhrzeit ändern kann! Also das der die Uhrzeit nicht über die Computerzeit prüft, sondern übers Internet, die zeit kann man ja nicht ändern!

    mfg. Jam00

  • Erstmal danke an alle, die mir bis jetzt geholfen haben,
    ich werde jetzt mal versch. Ansätze testen.

    Und danke an Xeno, die Lösung könnte evtl. genau das sein was ich benötige werde das gleich mal einbauen.

    AutoIT rules!

    Mit besten Grüßen,
    Todd

  • Jam00
    ja und ich meine dass man ja überprüfen kann ob sich was verändert hat
    und ja festeingestellte Starts sind auch nicht blöd:D

    Padmak

  • Mach es doch ganz einfach:
    Das Programm zieht sich Tag und Uhrzeit aus dem Internet. Dann kann man das nich verstellen. Für den Lizenzschlüssel machst du dann StringEncypt, kann das dann aus einer Ini lesen oder was weiß ich was. Schau dir auch mal b1gsetup an, da kann man in ein Setuppaket gleich einen Lizenzschlüssel miteinbauen. Dazu machst du noch eine (kostenlose) Demoversion, die sich nach ein paar Tagen löscht. Eine Datei irgendwo anlegen, in der steht, die Demo war hier schon und Ende...

  • Hättest du dir hier mal alles durchgelesen, hättest du gesehen, das ich schon gefragt habe wie man sich die Uhrzeit aus dem Internet bekommen kann, und das man sie dann nich änder kann!

    mfg. Jam00