Ablaufdatum

Anfängerfragen zum Programmieren mit PureBasic.
Fanpost
Beiträge: 97
Registriert: 27.01.2013 14:43

Ablaufdatum

Beitrag von Fanpost »

Hallo!
Frage: gibt es eine Routine bzw. eine Möglichkeit ein Programm mit einem Ablaufdatum zu versehen, d.h. dass es nach einer gewissen Laufzeit unbrauchbar wird?
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Ablaufdatum

Beitrag von RSBasic »

Es gibt viele Möglichkeiten, aber am "sichersten" ist es, wenn du eine Online-Überprüfung durchführst statt lokal ein Datumscheck zu machen.
Noch besser wäre es, wenn du deine Software nicht einfach mit vollständiger Funktionalität als Shareware bereitstellst, sondern nur Teile davon. D.h. Funktionen, die nur in der Vollversion verfügbar sein sollen, müssen vor dem Kompilieren auskommentiert werden. Dann können diese auch nicht von einer Cracksoftware manuell ohne Lizenzaktivierung freigeschaltet werden.
Beispielsweise wenn du ein Gameeditor hast, dann musst du nur dafür sorgen, dass die Exportfunktion entfernt wird, so dass man zwar Levels erstellen und testen kann, aber nicht exportieren.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
man-in-black
Beiträge: 362
Registriert: 21.08.2006 17:39

Re: Ablaufdatum

Beitrag von man-in-black »

Hi,

bin wohl schon zu träge beim tippen, daher nur der noch nicht beigetragene Kram:^^

...
Unbrauchbarmachen kannst du dein Programm zB durch eine zweite Exe. Entweder liegt diese bereits
neben der Hauptexe oder wird aus dieser extrahiert. Dann nurnoch löschexe starten, Hauptprogramm beenden und freuen.

Ansonsten guck dir einfach mal den task scheduler von Windows an. Dem kannst du auch via CMD Einträge hinzufügen.

MFG
MIB
(hab alles, kann alles, weiß alles!!^^)

Bild
Fanpost
Beiträge: 97
Registriert: 27.01.2013 14:43

Re: Ablaufdatum

Beitrag von Fanpost »

Hmmmm, gibt es tatsächlich keine Routine? So fit bin ich leider nicht um in Windows zu wühlen! Ich suche etwas wo entweder nach bestimmten Datum das Prog nicht mehr funktioniert oder sich dann selber löscht
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Ablaufdatum

Beitrag von RSBasic »

Mit Routinen meinst du Fertiglösungen? Wie es beim Programmieren so ist, musst du das natürlich selber entwickeln. Es gibt keine von Windows bereitgestellte All-in-one-Funktion.
Wie man-in-white vorgeschlagen hat, kannst du eine separate Executable-Datei erstellen, die du ausführst, um das Hauptprogramm löschen zu können.
Den Datumswert der Erstinstallation kannst du entweder in einer Datei in einem versteckten Ordner anlegen oder in die Registry schreiben.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
DarkSoul
Beiträge: 689
Registriert: 19.10.2006 12:51

Re: Ablaufdatum

Beitrag von DarkSoul »

Die Datumsabfrage kann man IMMER überlisten:

- Uhr im System umstellen
- Der Serveranfrage abfangen/umleiten und eine gefakte Antwort liefern
- Die Datumsprüfung "herauscracken"

EXE löschen oder mit zweiter EXE verändern fällt auch aus, weil man dies auch leicht umgehen kann, indem die Programm-Exe mit einem Schreibschutz versehen wird. Das hat man schon in den 90ern mit nur einem Mausklick außer Gefecht gesetzt. Genauso, wie das mit der Datumsabfrage in den 90ern genauso leicht zu umgehen war, wie Anno 2016.

Egal, wie gut du das programmierst... Vor dem Cracken ist nichts sicher, was sich auf dem Rechner des Users befindet. Und dazu gehören leider auch Exe-Dateien. Jeder noch so kompliziert gebaute Authentifizierungs-Code lässt sich einfach herausnehmen.

Du kannst es lediglich etwas erschweren, indem du mit Hash-Keys arbeitest und dabei den Hash der eigenen EXE mit einfließen lässt. Wird die EXE verändert, verändert sich auch der Hash. Aber das hält nur Skript-Kiddies ab. Profi-Cracker wurschteln sich auch da durch.

Also: Vergiss es! Überlege dir was anderes, um die Vollversion attraktiv zu machen. Oder eine teure Lizenz für kommerzielle Nutzung anbieten. Im Privatbereich wird eh alles gecrackt und keiner kümmert sich drum.

Wenn das Programm allerdings zwingend einen Server benötigt, um sinnvoll zu funktionieren, kannst du natürlich mit der Datumsprüfung arbeiten und ggf. die Serververbindung einfach kappen, wenn Tag X überschritten wurde. Dann sitzt der User mit einer "leeren", nutzlosen Software da.

Oder du nervst die Nutzer von nicht lizensierten Versionen mit Werbung oder "Diese Version ist abgelaufen... Entweder kaufen oder eine Minute warten".

PS: Kennt jemand irgendwen, der WinRAR benutzt, und jemals die Lizenz erworben hat? :mrgreen: :mrgreen:
Zuletzt geändert von DarkSoul am 07.12.2016 22:23, insgesamt 4-mal geändert.
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Ablaufdatum

Beitrag von RSBasic »

+1
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8679
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Ablaufdatum

Beitrag von NicTheQuick »

Noch als Zusatz: Eine Serveranfrage kann man zumindest dann nicht mehr abfangen, wenn sie über SSL läuft und das Zertifikat des Servers auch ordentlich geprüft wird. Allerdings hilft das allein auch nicht. Mit wenigen Assemblergriffen kann man die Abfrage einfach direkt in der EXE deaktivieren.
Bild
Fanpost
Beiträge: 97
Registriert: 27.01.2013 14:43

Re: Ablaufdatum

Beitrag von Fanpost »

So kompliziert solls ja nicht sein und werden. Reicht mir auch, wenn nach einer Ablaufzeit das Programm nicht mehr funktioniert. Nicht gleich mit Hacker kommen. Sind ja nicht alle in der Lage ein Programm zu "knacken".
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Ablaufdatum

Beitrag von ts-soft »

Fanpost hat geschrieben:Sind ja nicht alle in der Lage ein Programm zu "knacken".
Hier im Forum sind die Chancen groß! :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten