Deutsch
Forum

Laufzeitbegrenzung sehr simpel und unsicher :)

 

Torsten
Rümker
Hallo erstmal.

Ok, mir war gerade langweilig und da ist mir eine neue (?) Möglichkeit eingefallen, wie man dafür sorgen kann, das ein Programm nicht unbegrenzt weitergenutzt werden kann.
KompilierenMarkierenSeparieren
IF @Val(@GetfDate$(@Par$(0))) < @Val(@Date$(3))-7

    Messagebox("Testzeitraum abgelaufen","Testzeitraum abgelaufen",0)
    End

ENDIF


Ok, also mit diesem Code läuft das Programm eine Woche lang nach dem compilieren und dann ist schluß.
Naja solange bis jemand am Datum der Datei rumpfuscht

MfG
Torsten
 
Ich lerne, ob ich will oder nicht!
Betriebssystem:
- Ubuntu 15.x
- Windows (diverse)
XProfan Version: X2
14.05.2006  
 




Torsten
Rümker
Gleich mal ne Frage hinterherschieben

Sagt mal wie würdet ihr soetwas lösen?

Ich würde ja z.b. gerne in die exe das Datum des ersten Starts des Programmes reinschreiben,
habe aber ehrlich gesagt keine Ahnung wie ich das machen kann ohne das Programm zu zerstören. Hat da jemand vielleicht ein Beispiel für mich?

MfG
Torsten
 
Ich lerne, ob ich will oder nicht!
Betriebssystem:
- Ubuntu 15.x
- Windows (diverse)
XProfan Version: X2
14.05.2006  
 



1. Die Exe sucht insich einen von dir bestimmten Hexcode

Wenn dieser hexcode nicht in exe:
1. sich selbst kopieren
2. an kopie hexcode + datum anhängen (kodiert meinetwegen)
3. exekopie AUSFÜHREN
4. programm beenden
5. exekopie erkennt an ihrem namen das sie kopie ist und kopiert sich über die originalexe
6. exekopie startet originalexe
7. exekopie beendet sich

wenn hexcode in exe:
1. wenn exekopie vorhanden exekopie löschen
2. datum aus sich selbst auslesen und prüfen
3. weiterbummeln

Das Prinzip funktioniert einwandfrei wenn man auch darauf aufpasst das:

a) die hier genannten Löschoperationen auch nicht scheitern weil die sich gleich beendende Exe vlt. noch kurz läuft.
b) schreibrecht auf dem Datenträge besteht

Code: nicht lieferbar da jedesmal zu individuell ,ca. 50 Zeilen (wäre mal als Unit interessant um den eigendlichen Programmcode nicht zu verunschönern)

PS: Wenn Du schon ne Datumsüberprüfung machst, nimm nicht das Systemdatum sondern nimm ein Datum aus dem Internet. Hierfür kannst Du Dir eine kleine PHP schreiben welche z.B. sowas ausgibt: [...] 

Salve.
 
14.05.2006  
 




Sven
Bader
Das funktioniert aber nur im selben Monat..... (T.Rümkers Variante)
 
12.06.2006  
 




RGH
[quote:1c24e7675f=iF]PS: Wenn Du schon ne Datumsüberprüfung machst, nimm nicht das Systemdatum sondern nimm ein Datum aus dem Internet. Hierfür kannst Du Dir eine kleine PHP schreiben welche z.B. sowas ausgibt: [...]  Salve.[/quote:1c24e7675f]
Schlechte Idee: Erstens sind nicht alle Anwender immer Online und die meisten Programme sollen ja uch im Offline-Betrieb funktionieren. Und zweitens ist es äußerst unschön, wenn einm Programm sich ohne Nachfrage beim ANwender mit dem Internet verbindet. Ruckzuck steht es in der Kritik dann auf einer Stufe mit Spionageprogrammen und gefährlichen Viren. Ein Programm was quasi hinter meinem Rücken Dinge auf oder mit meinem PC macht, verschwindet ruck-zuck in der Tonne!

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
12.06.2006  
 



Hm ich denke hier ist ein wenig Kritik nötig.

Weder hinterm Rücken noch ungefragt, mein Posting bezieht sich auf eine sicherere Laufzeitbeschränkung als über Date$ .

Das jede Variante ihre Nachteile mitsich bringt bedeutet aber nicht gleich das es sich um eine schlechte Idee handelt, solange der Zweck effizient erfüllt wird.

[quote:469c20436b]die meisten Programme sollen ja uch im Offline-Betrieb funktionieren[/quote:469c20436b]
Die gekaufte und bezahlte Vollversion sicherlich - aber auf eine Testversion mit Datumsbeschränkung trifft dies heutzutage nicht mehr zu! Es gibt schliesslich nicht umsonst sehr erfolgreiche Software welche zwar local installiert, aber nur Online ausgeführt werden kann. Besonders auch die Spielebranche bedient sich seit meheren Jahren dieser Technik welche tatsächlich dazu führt das mehr Kunden zahlen - es aber weniger nichtzahlende Spieler gibt. Ich denke hier z.B. an OGL-Spiele welche Levels dank Multiplayer erst Live laden.

[quote:469c20436b]Ruckzuck steht es in der Kritik dann auf einer Stufe mit Spionageprogrammen und gefährlichen Viren.[/quote:469c20436b]
Ich möchte hier etwas dämpfen, denn tatsächlich ist dem nicht mehr so. Bevor jemand tatsächlich (z.B. eine Zeitschrift oder ein Verlag) solch eine Behauptung aufstellt wird sehr genau hingesehen - man möchte sich schliesslich nicht lächerlich machen und eine Spionagewarnung herausgeben wenn lediglich die Zeit abgerufen wird. Solche dinge werden - wenn überhaupt - dann sehr genau unter die Lupe genommen!

[quote:469c20436b]Ein Programm was quasi hinter meinem Rücken Dinge auf oder mit meinem PC macht, verschwindet ruck-zuck in der Tonne![/quote:469c20436b]
Ich mag nicht das immer von hinterm Rücken geredet wird. Davon war doch nie die Rede. Es geht um eine zeitraumbeschränkte Testversion welche (z.B. über einen PreScreen) entsprechende Infos ausgeben wird - so wie es imho auch normal ist.

Mein Fazit zum Thema: Solange kein ehrenrühriger Zweck verfolgt wird, dürfen die vorhandene Technik und die damit verbundenen Möglichkeiten ausgeschöpft werden! Und nur weil es Spytools und Viren gibt bedeutet dies nicht das man das Medium Internet nicht für z.B. o.g. Zwecke nutzen sollte - besonders wenn es sich ganz hervorragend dafür anbietet.
 
12.06.2006  
 



Bei mir meldet sich da die Firewall, wo ich dann bei Shareware von unbekannten Autoren gleich Blocke und lösche, Test ist für mich uninteressant geworden. Ich denke, so machen es viele andere auch, die dann als Kunden nicht mehr erreichbar sind. Muß ein Programmautor aber selber entscheiden, was wichtiger für ihn ist, für mich als Anwender ist es entschieden
 
12.06.2006  
 



[quote:f5d54650ca=TS-Soft]Bei mir meldet sich da die Firewall, wo ich dann bei Shareware von unbekannten Autoren gleich Blocke und lösche, Test ist für mich uninteressant geworden. Ich denke, so machen es viele andere auch, die dann als Kunden nicht mehr erreichbar sind. Muß ein Programmautor aber selber entscheiden, was wichtiger für ihn ist, für mich als Anwender ist es entschieden [/quote:f5d54650ca]
Du zählst aber nicht als der typische Anwender Thomas - Dein Statement könnte als Augenwischerei gegenüber Anfängern gewertet werden.

Das Szenario ist doch

a) ein vertrauenswürdiger Anbieter (Programmierer) gibt zum Kauf seine Vollversion und eine laufzeitbeschränktes Demo zum Download welches ungeschminkt drauf hinweist das es jetzt die Laufzeit über das Internet abprüfen wird. Für viele solche Demodownloads muss man sich heutzutage ja sogar registrieren!

b) ein typischer User mit Kaufabsicht an einem Produkt was er für sich als wertvoll einstuft.

 
12.06.2006  
 



Renommierte Programmierer machen sowas nicht. Wenn jemand sowas macht, zeigt dies nur seine Programmierschwäche auf (gibt bessere Lösungen). Spieleprogrammierer machen sowas auch nicht, sondern die Vertreiber bauen sowas ein, da sie ihre Kunden so einschätzen, wie Du es tust.

Wer sich drauf einläßt ist aber auch selber Schuld und fördert sowas auch noch
 
12.06.2006  
 




Sven
Bader
Auch nicht die feine Art aber ich denke, dass es viele so machen:

Ich schreibe einen Unix Timestamp irgendwo in die Untiefen der Registry und ziehe ihn beim nächsten Start vom aktuellen Timestamp ab. Nun habe ich die Differenz in Sekunden, geteilt durch 86400 sind es Tage.
30 - tage& sind dann die verbleibenden Tage der Testzeit.
Nun prüfe ich, ob der Wert größer 30 ist also jemand manipuliert hat oder ob er kleiner 0 ist, sprich die Zeit abgelaufen ist.
Der Wert bleibt natürlich auch nach Deinstallation bestehen, wäre sonst einfach zu umgehen. Beim Start muss vor den Auslesen geprüft werden, ob der Schlüssel vorhanden ist, falls nicht wird er erst erstellt.

Zum Thema zumüllen der Registry: langsamer wird dadurch nichts, solange man keine Menüerweiterungen oder so erstellt, es ist ja eine Datenbank die durch Größe nicht langsamer wird. In diesem Fall sind es auch keine 20 Byte.

Die now() Funktion stammt aus dem Wettbewerbsbeitrag 2006 von Clemens Datum und Uhrzeit berechnen
KompilierenMarkierenSeparieren
Def RegOpenKeyEx(5) !"ADVAPI32","RegOpenKeyExA"

PROC DaysLeft

    declare key$,handle#, datum&
    key$ = ".lol" erfundener dateityp
    dim Handle#,4

    if (RegOpenKeyEx($80000000,Addr(key$),0,1,Handle#)=0)  Registryschlüssel nicht vorhanden

        datum& = val(ReadIni$( "HKEY_0", key$,""))

    else

        WRITEINI  "HKEY_0",key$,""= str$(now())
        datum& = now()

    endif

    dispose handle#
    return int(30-(now()-datum&)86400)

Endproc

print str$(DaysLeft()) + "Tage übrig"
 
12.06.2006  
 




Torsten
Rümker
So, jetzt muß ich auch noch mal was sagen.
Ich wollt ja nicht gleich Grundsatzdiskussion auslösen

Da schreibt man mal ein Codesnipsel, das einem Einfällt wenn man Langeweile hat,

Also: Ich selbst benutze Laufzeitbegrenzungen im üblichen Sinne gar nicht. sondern beschränke einfach die Möglichkeit updates zu erhalten.
Das ist relativ einfach, da ich kein einziges Programm habe, das ich wirklich als Fertig bezeichnen würde. Das ist zwar nicht allzu sicher, aber da ich a) grundsätzlich den Leuten vertraue und b) eher spezielle Programme für den Eigenbedarf (bzw. für den Einsatz in meiner Firma) schreibe, reicht es mir aber.

MfG
Torsten
 
Ich lerne, ob ich will oder nicht!
Betriebssystem:
- Ubuntu 15.x
- Windows (diverse)
XProfan Version: X2
12.06.2006  
 



[quote:38318b2941=TS-Soft]Renommierte Programmierer machen sowas nicht. Wenn jemand sowas macht, zeigt dies nur seine Programmierschwäche auf (gibt bessere Lösungen). [/quote:38318b2941]
Du redest hier vielleicht von einem ganzen Industriezweig welcher sich u.A. damit beschäftigt wie man Lizenzen vergibt. Das rechtfertigt keine Programmierschwäche.

Ein einfaches Beispiel aus dem Leben: Ich denk mal jeder wird schon eine WindowsKopie übers Internet Lizensiert haben. Ich habe noch nicht erlebt das ein Windowskäufer sich über dieses Verfahren beschwert hat - ganz im Gegenteil - er bekundet gerne das es seins ist - er hats ja auch bezahlt. Natürlich empfinden Nichtkäufer hingegen sehr viel öfter das dies ein möglicher Verstoß Ihrer *Irgendwas* darstellt.

[quote:38318b2941]Wer sich drauf einläßt ist aber auch selber Schuld und fördert sowas auch noch[/quote:38318b2941]
Naja das klingt ein wenig nach Verurteilung zumal der Satz selbst allgemeingültig ist.
 
13.06.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.025 Betrachtungen

Unbenanntvor 0 min.
Peter Max Müller13.11.2017
Juergen Baier15.02.2012
Hans Hermann09.04.2011

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie