Autor Beitrag
Biarchiv
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 688



BeitragVerfasst: Mo 29.07.02 18:41 
Hallo,

Wie funktioniert das das ein Programm nur 30 Tage lauffähig ist.
Habe mir getacht das installierte Verzeichniss ermitteln und wenn mehr als 30 Tage
showmessage exit.
Renegade
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 358

Win XP Pro, Win 7 Beta
BDS 2006
BeitragVerfasst: Mo 29.07.02 19:45 
klingt doch gut. mach das doch so.

Es gibt aber andere Lösungsansätze. Die meißten speichern das Installationsdatum verschlüsselt in einer ini-datei ider in der registry. nachteil bei all diesen lösungen ist aber, daß man durch einfaches umstellen des systemdatums diesen "schutz" aushebeln kann.

_________________
Sokrates (468 v.Chr. - 399 v.Chr.)
"Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen."
|Harry|
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mo 29.07.02 20:32 
man könnte aber auch gleichzeitig die tage mitzählen lassen, und das in einer ini-datei....oder bei jedem start das datum speichern, und sobald es mal kleiner sein sollte als einer der gespeicherten werte: abbruch
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Mo 29.07.02 21:02 
klar, könnte man das machen, aber das ist nicht sehr sicher :wink:

_________________
Viele Grüße
Jakob
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Mo 29.07.02 21:06 
Man könnte die Uhrzeit übers Internet abgleichen. Sollte es nicht möglich sein, weil etwa kein Internetzugang existiert, dann startet die Software nicht.

Für internetbasierte Anwendungen ist das ideal, finde ich.
|Harry|
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mo 29.07.02 21:07 
sicher ist kein kopierschutz...leider (sage ich als programmierer), zum glück (sage ich als user)

:D
Biarchiv Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 688



BeitragVerfasst: Di 30.07.02 08:55 
Hallo,

Schon klar das nicht sicher ist.
Möchte nur ein einfaches Beispiel.
Arakis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 344



BeitragVerfasst: Di 30.07.02 09:13 
Ich würde beim beenden des Programmes auch das Datum mitspeichern, denn Falls jemand am 01.01.2003 Das Programm startet, schraubt trotteliger Weise danach das Datum auf den 01.03.2003, dass es dann kein Zurück mehr gibt. Wenn man nämlich meherere zeitlimitierte Programme hat, kann man sich schnell vertun.

Bis dann
user defined image

_________________
Mit dem Computer löst man Probleme, die man ohne ihn nicht hätte.
Entwickler von SpaceTrek: The New Empire - Siehe Hompage!
Renegade
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 358

Win XP Pro, Win 7 Beta
BDS 2006
BeitragVerfasst: Di 30.07.02 11:00 
Einfachste und unsicherste Möglichkeit zugleich ist folgende:

Erstelle eine INI-File (Delphi-Hilfe zu tInifile - Das Beispiel zeigt dir alles was du wissen musst). Darin speicherst Du das Datum der Installation oder des ersten aufrufes des Programmes. Nun fragst du bei jedem Programmstart ab, ob das Datum älter als 30 Tage ist.

_________________
Sokrates (468 v.Chr. - 399 v.Chr.)
"Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen."
Arakis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 344



BeitragVerfasst: Di 30.07.02 11:05 
Klar, dann setzt ich das Datum einfach zurück. Man sollte schon bei jedem Programmstart und -ende die Zeit so präperieren, dass es kein Zurück mehr gibt, falls jemand diesen miesen Trick anwendet. Z.b die Trial-Version von Dreamweaver hat eine Testzeit von 30 Tagen. Wenn ich dann die zeit vorsetzte, merkt sich das Programm diese Differenz und setz die Testzeit dementsprechend kürzer. Setzte ich es unter das Installationsdatum, wird direkt das ganze Programm für immer gesperrt.

Bis dann
user defined image

_________________
Mit dem Computer löst man Probleme, die man ohne ihn nicht hätte.
Entwickler von SpaceTrek: The New Empire - Siehe Hompage!
neojones
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1206
Erhaltene Danke: 1



BeitragVerfasst: Di 30.07.02 11:07 
Also, wir entwickeln auch Shareware-Programme (unter anderem das mySQL-Tool myAdmin). Folgendes Sicherheitsvorgehen: Bei der Installation wird das Install-Datum verschlüsselt in eine Datei in einem Verzeichnis (NICHT im Programm-Verzeichnis!) gespeichert. Beim ersten Start wird das Datum verschlüsselt an 3 Stellen weg geschrieben (Einmal in eine Datei, Registry und an noch eine Stelle, aus Sicherheitsgründen sag ich das jetzt leider nicht). Beim Starten werden alle 4 (!!!) Datums-Werte mit dem Systemdatum verglichen (Auf das Datum von der Installation werden dabei noch 3 Tage raufgerechnet, weil Installation und erster Start manchmal nicht zusammenfallen). Zusätzlich wird das Erstellungs-Dateum der Dateien, in denen die Daten drinstehen mit dem Systemdatum verglichen. Beim ersten Connect mit einer mySQL-Datenbank wird deren Datum ausgelesen und wiederum mit allen Werten verglichen. Sollte es dabei auch nur zu einer einzigen Unstimmigkeit kommen, dann wird das Programm abgebrochen.

Zusätzlich blenden wir alle 10 Minuten einen Nag-Screen ein. Wichtig ist, dass unsere Software nicht über einen Code freischaltbar ist, sondern immer eine neue Version verschickt wird, wenn sich jemand registriert (Sonst crackt das über kurz oder lang ohnehin jemand!).

Das Prinzip hat sich ganz gut bewährt.
GPF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 85



BeitragVerfasst: Di 30.07.02 11:36 
Berücksichtigt bei Euren Überlegungen aber, daß es genügend Tools gibt, die Dateiänderungen global erfassen und selbst die geänderten Bytes anzeigen können. Ebenso etwas gibt es auch für die Registry.
Das bedeutet effektiv, daß man das Vorgehen der Programme ziemlich gut nachvollziehen kann.
Auch Internetlösungen können nicht zuverlässig sein. Es gibt genügend Programme, die den Datenverkehr überwachen und ändern können.

Alle diese Lösungen implizieren zwar, daß man den Ver- bzw. Entschlüsselungsalgorithmus kennt - allerdings kann man zumeist diesen Teil im Assemblercode dann zurückverfolgen. Um diesen Ansatz für nicht-Proficracker zu vereiteln lohnen sich einige Exe-Packer. Allerdings ist auch dies nicht 100% sicher.

Wie Neojones bereits gesagt hat sollte man Programme niemals per Freischaltcode freischalten lassen können. Diese Routinen sind noch einfacher auszuhebeln als verschiedenste Datumsprüfungsroutinen zu verwenden. Erstelle also besser immer 2 Versionen - eine Shareware und eine Vollversion.

Zum Entshlüsselungsalgorithmus sei noch folgendes gesagt:
Es gibt genügend Routinen, die Passwörter, Registrierungsschlüssel nicht direkt speichern, sondern Bytefolgen vergleichbar mit dem CRC Wert von Dateien. Bei der Prüfung auf Gleichheit wird also nicht mehr der Originalschlüssel dekodiert und dann verglichen - dadurch erhöht sich die Codesicherheit ebenfalls.

Die meiner Meinung nach sicherste Lösung ist das Schreiben eines Systemtreibers oder unter NT eines Services, welcher die gesamten Schreib, Lese, Vergleichsoperationen durchführt und dann mit dem entsprechenden Hauptprogramm kommuniziert. Der Grund ist ziemlich simpel: Datei und Registrierungsoperationen lassen sich deutlich schwerer zurückverfolgen. Internetchecks sind aber nach wie vor nicht wirklich sicher.
Dieses Verfahren wendet u.a. 3D Studio Max an.
Arakis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 344



BeitragVerfasst: Di 30.07.02 11:43 
Also Programme, die ohne triftigen Grund einen Systemtreiber installieren, fliegen bei mir hochkant raus. Ebenfalls Programme, die Ihre Daten irgendwo in der Weltgeschichte speichern. Vorraussetztung ist nur, dass ich dies selbst bemerke. Man sollte meiner Meinung nach schon gewisse Regeln beim Installieren und Verwalten eines Programmes beachten.

Bis dann
user defined image

_________________
Mit dem Computer löst man Probleme, die man ohne ihn nicht hätte.
Entwickler von SpaceTrek: The New Empire - Siehe Hompage!
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Di 30.07.02 12:19 
Ja klar @GPF

Zitat:
Es gibt genügend Programme, die den Datenverkehr überwachen und ändern können.

Ich sende eine verschlüsselte und zufallsgenerierte Anfrage an einen Server, der mir ebenfalls einen verschlüsselten und zufallsgenerierten String zurückschickt.

Viel Spaß beim Überwachen und Ändern des Datenverkehrs :shock: .

Zitat:
Um diesen Ansatz für nicht-Proficracker zu vereiteln lohnen sich einige Exe-Packer. Allerdings ist auch dies nicht 100% sicher.


Sogar ein Volltrottel erkennt doch einen PE-Header auf den ersten Blick, wieso soll das für Nicht-Proficracker ein Problem sein?
Hast du dir überhaupt überlegt, was du schreibst?


Zuletzt bearbeitet von hitstec am Di 30.07.02 21:25, insgesamt 2-mal bearbeitet
Arakis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 344



BeitragVerfasst: Di 30.07.02 12:23 
:mrgreen:

_________________
Mit dem Computer löst man Probleme, die man ohne ihn nicht hätte.
Entwickler von SpaceTrek: The New Empire - Siehe Hompage!
GPF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 85



BeitragVerfasst: Di 30.07.02 12:38 
@hitstec: Werd mal nicht gleich beleidigend hier.
Du solltest Dir stattdessen mal lieber den Post "Frage- & Antwortmoral" im Off Topic Forum durchlesen.

Aber an genau solchen Antworten kann man qualifizierte von unqualifizierten Antworten unterscheiden. 8)
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Di 30.07.02 12:44 
Tschuldigung. :roll:

Aber wen habe ich beleidigt?

Zitat:
Aber an genau solchen Antworten kann man qualifizierte von unqualifizierten Antworten unterscheiden.

Aha. Das heißt, wenn ich etwas negativ kritisiere, bedeutet das, dass meine Kritik unqualifiziert ist. Ja, genau.

Schon mal daran gedacht, dass deine "Gedanken" falsch sein könnten.
Selbstzweifel können ab und zu Wunder bewirken.

Ich finde, im Gegenteil, deine Antwort unqualifiziert, meine ist höchstens unangenehm oder vielleicht auch ein bißchen unpassend.
ultra2k
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82

XP x64
D7 Enterprise
BeitragVerfasst: Mi 07.08.02 04:14 
Hi Leute,

Also ich find die einfachste Methode is immernoch nicht die Tage, sondern die Starts zu limitieren...
einfach irgendwo (am besten an mehreren Orten) im system bsp: registry, datei, oder von mir aus in Bagdad nen verschlüsselten Eintrag zu erstellen, in dem steht, wie oft das Prog gestartet wurde, wenns öfter als z.b. 20 mal is, oder die 2 oder 3 verschiedenen Werte voneinander Abweichen, gesperrt...

Zusatz sicherheit währe eine textmässig gesehen große, verschlüsselte nonsens-datei, die das prog bei jedem start checkt, aus der nach ablauf, oder bei schummeln ein wert gelöscht wird...
ProgStart -> Check -> ! -> Futsch :mrgreen:

wenns euch nich gefällt lassts mich wissen, *greetz* ultra2k

_________________
...wenn NULL besonders groß ist, isses schon fast wie ein bisschen EINS!