DLL zeitlich begrenzen

Gast #2938731
Lesenswert?

Pit schrieb:
> Danke für die Antworten. Aber die Uhrzeit prüfen wollte ich nicht. Es
> ist zu einfach, diese zu verstellen.

Nunja, wenn du eine Zeit messen willst, brauchst du eine Uhr.
Du kannst natürlich noch ein paar Checks einbauen, wie z.B. ob die 
Uhrzeit stetig steigend ist, und wenn die immer wieder zurückgesetzt 
wird, manipuliert wohl jemand die Uhr, um deine Zeitbeschränkung zu 
umgehen.
Natürlich muß man auch daran denken, daß Uhren auch mal regulär 
korrigiert werden können und daß es Sommer- und Winterzeit gibt. 
Hellhörig kann dein Programm aber z.B. werden, wenn es schon insgesamt 
eine Laufzeit von 50 Stunden zusammen hat, aber das Datum sich immer 
noch nicht geändert hat.
Gast #2938749
Lesenswert?

>Nunja, wenn du eine Zeit messen willst, brauchst du eine Uhr.
>Du kannst natürlich noch ein paar Checks einbauen, wie z.B. ob die
>Uhrzeit stetig steigend ist, und wenn die immer wieder zurückgesetzt
>wird, manipuliert wohl jemand die Uhr, um deine Zeitbeschränkung zu
>umgehen.
Ohne Uhr geht es nicht, da hast Du Recht! Und natürlich muss ich Checks 
einbauen. Die Frage lautet: Wie macht man das am einfachsten?
Ich möchte keine Datei irgendwo auf der Festplatte anlegen, um die Daten 
mitzuloggen. Ich kann auch keine Variable setzen, die beim Entladen der 
DLL wieder gelöscht wird. Bleibt vlt. die Registry?
#2938760
Lesenswert?

Nimm eine einfache Lösung, also sowas wie oben skizziert. Das reicht für 
weit über 99% aller Anwender.
Da du die Frage gestellt hast und gute Antworten erhalten hast, darfst 
du davon ausgehen, dass es genügend Leute gibt, die sich hinreichend gut 
mit dem Thema auskennen und in der Lage wären, den von dir eingebauten 
Schutz zu erkennen und auszuhebeln.
Ich verwende für die Demo-Version einer kommerziellen Software auch nur 
eine Zeit-Abfrage und bisher gibt es keine Auffälligkeiten, die auf 
ausgehebelten Schutz hindeuten.
(Firma: JDCC) #2938764
Lesenswert?

Der Aufwand ist proprtional zum KnohHow Deiner Kundschaft.

Je nach Aufwand und Preisklasse der DLL würde ich mehrgleisig
fahren. Bei Industriekunden unkritisch, wenn es an die Kiddies
geht schon etwas pingeliger.

Etwas in der registry verstecken dürfte am wenigsten Aufwand sein.

Die Namen in der DLL zu finden dürfte mit einem Hexdump kein
Problem sein - dann haben die Jungs für ihr Geld aber auch etwas
getan.

Was ich mir NIE leisten würde:

* heimlich nach hause funken
* dem potentiellen Kunden den Rechner lahmlegen oder manipulieren
* dem potentiellen Kunden den Zugriff auf SEINE Daten sperren

Mach einen sauberen Nutzungsvertrag und biete dem Kunden eine saubere
Gegenleistung - dann sind solche Mätzchen unnötig.

Bisher sind alle Verfahren geknackt worden.
#2938771
Lesenswert?

Konrad S. schrieb:

> Dateien und Registry-Einträge kann man löschen. Das ist kein Hexenwerk.

Der springende Punkt ist:
man kann jeden Schutz aushebeln, wenn man weiß wie er funktioniert. Und 
wenn es jemand darauf anlegt, findet er raus wie der Schutz funktioniert 
und hebelt ihn aus.

Die Frage ist eine andere:
Kann das auch Lieschen Müller?

99% aller Anwender können eben nicht einen einfachen Schutz aushebeln. 
Und gegen den Rest kannst du nichts machen. Man kann dieses 1% mit immer 
noch höherem Aufwand auch noch teilweise aussperren und die Latte immer 
höher legen. Aber irgendwann steht der Aufwand einfach nicht mehr dafür.


Oft ist es dann auch noch so, dass sich sowieso kein SChwein für die 
Software interessiert und man aus einer Paranoia heraus unendlich viel 
Zeit in einen Schutz investiert hat, denn eh keiner braucht.
Gast #2938780
Lesenswert?

>Die Frage ist eine andere:
>Kann das auch Lieschen Müller?
Genau.

>Aber irgendwann steht der Aufwand einfach nicht mehr dafür.
Ist das so aufwendig etwas in die Registry reinzuschreiben? Das wusste 
ich nicht.

>Oft ist es dann auch noch so, dass sich sowieso kein SChwein für die
>Software interessiert
Das kann man z.B. an den täglichen Downloadzahlen ablesen.
#2938846
Lesenswert?

Pit schrieb:
> Im übrigen red ich nicht von einem Schutz der Hacker abhält. Aber der
> Normalkunde traut sich nicht an die Registry würd ich mal behaupten.

In der heutigen Zeit hat der Durchschnittsbenutzer schon Schwierigkeiten 
seine Files wiederzufinden, wenn vom Programm nicht der 'Dokumente' 
Ordner als Default vorgegeben wird :-)

Traurig, aber ist so.

>> Aber irgendwann steht der Aufwand einfach nicht mehr dafür.
> Ist das so aufwendig etwas in die Registry reinzuschreiben?
> Das wusste ich nicht.

Nein, natürlich nicht.
Das war auch gar nicht gemeint. Irgendwo muss man schliesslich 
Information hinterlassen.
Aber es gibt ja auch noch Systeme, die aus der Festplattennummer und der 
MAC-Adresse, gepaart mit einer Kennzahl aus einem USB-Stick sich eine 
48-stellige Prüfziffer ermitteln, die man im Handbuch über 3 Tabellen 
nachschlagen muss, woraus sich ein Codewort ergibt, welches dann mit 
einem im Splash-Screen eingebetteten Wasserzeichen verrechnet wird und 
dem bei der Installation des Systems ermitteltem und linear 
transformiertem  Stromverbrauchswert, gepaart mit der Anzahl und 
Position von Bad-Sectors auf der Festplatte entsprechen muss.

Uhrzeit der letzten Benutzung in die Registry reinschreiben. Meinetwegen 
als UNIX-Zeit und als Hex-Ziffern in einem String, bei dem die Character 
ein wenig durcheinander gewürfelt sind. Ist die aktuelle Uhrzeit kleiner 
als diese letzte Zeit, dann hat wer manipuliert (oder 
Sommer/Winterzeit). Bei 3 derartigen Verletzungen gibt es eine Warnung, 
bei 5 wird die Arbeit verweigert. Der R$egistry-Key wird im Programm aus 
3 oder 4 Strings zusammengesetzt, meinetwegen noch mit einem 0xFF 
ver-xort.
Ja, ich weiß. Man kann Registry-Zugriffe tracken. Die Betonung liegt auf 
'man' und 'kann'.
Gast #2938882
Lesenswert?

>Nein, natürlich nicht.
>Das war auch gar nicht gemeint. Irgendwo muss man schliesslich
>Information hinterlassen.
Gut dann werd ich die Registry verwenden.
Ich lege eine String-Liste an und lese die bei DLL Start aus.
Sind weniger als 30 Einträge vorhanden, wird die DLL weiter ausgeführt. 
Ist das heutige Datum nicht in der Liste vorhanden, wird es eingefügt.
Fragt sich nur, ob ich da auch Listen anlegen kann?
#2938894
Lesenswert?

Pit schrieb:
>>Nein, natürlich nicht.
>>Das war auch gar nicht gemeint. Irgendwo muss man schliesslich
>>Information hinterlassen.
> Gut dann werd ich die Registry verwenden.
> Ich lege eine String-Liste an und lese die bei DLL Start aus.
> Sind weniger als 30 Einträge vorhanden, wird die DLL weiter ausgeführt.
> Ist das heutige Datum nicht in der Liste vorhanden, wird es eingefügt.
> Fragt sich nur, ob ich da auch Listen anlegen kann?

Zu kompliziert.
In die Registry kommt das Installationsdatum und das Datum der letzten 
Benutzung. Mehr brauchst du nicht.
Das ganze kommt unter LOCAL_USER - Software - Microsoft - Irgendwas
Dann traut sich da sowieso keiner mehr ran.
#2938912
Lesenswert?

Karl Heinz Buchegger schrieb:
> Uhrzeit der letzten Benutzung in die Registry reinschreiben. Meinetwegen
> als UNIX-Zeit und als Hex-Ziffern in einem String, bei dem die Character
> ein wenig durcheinander gewürfelt sind. Ist die aktuelle Uhrzeit kleiner
> als diese letzte Zeit, dann hat wer manipuliert (oder
> Sommer/Winterzeit).

Nimm für so was UTC, das blendet Sommer-/Winterzeit und Zeitzonen 
(Reisen!) aus. Alles andere ist grober Pfusch.
Gast #2940472
Lesenswert?

und lass am besten die Debug Info in der DLL :)

Mal im Ernst, das muß nicht Lieschen Müller knacken sondern irgend 
jemand und stellst als Crack ins inet. Ich "liebe" Software mit 
Kopierschutz die macht dem ehrlichen Anwender nur Ärger und wird eh 
geknackt.

Bsp. ich verwende eine Software für SPSse (gekauft) - Rechner defekt -> 
neu aktivieren
Server für Aktivierung down -> Crack suchen. Etwa 20 Minuten
war einfach ein Sprung raus geNOPt

Ich hab mir später mal angeschaut wieviel Arbeit sich der (die) 
Programmierer mit dem Schutz gemacht haben, Die Zeit hätten sie besser 
für Bugfix genutzt

Nur meine Meinung
Gruss Heinz
Gast #2940786
Lesenswert?

Pit schrieb:
> Wie läßt sich sowas am Besten implementieren (Visual C++)?
Garnicht. Und das ist auch gut so.

Die Alternativen sind eigentlich immer dieselben:
(1) Wenn deine Bibliothek so sehr speziell ist, dass es nichts Anderes 
am Markt gibt, dann ist dein Klientel auch sehr speziell und klein. Das 
kann man sich natürlich jetzt mit solchen Schikanen noch vergraulen oder 
man formuliert eine (menschenwürdige!) Lizenz und bleibt mit dem 
Klientel in Kontakt.

(2) Wenn in der Bibliothek wertvolles Know-How steckt, dann findet sich 
in jedem Fall jemand, der alle Schutzmechanismen umgeht, denn es lohnt 
sich für ihn/sie.

(3) Wenn die Bibliothek Massenware ist, dann ist dein Schutz schlicht 
und ergreifend ein KO-Kriterium.


> Gruß Pit
Rechner waren mal offene Strukturen, die in erster Linie rechnen 
sollten.
Aber heute muss als allererstes mal der Kopierschutz passen, bevor die 
Software entwickelt wird...

Kopierschutz hat noch nie funktioniert und wird nie funktionieren. Für 
ehrliche Leute ist es nervtötender Ballast und für unehrliche Leute eine 
kleine Morgengymnastik.
(Firma: JDCC) #2940802
Lesenswert?

Sven P. schrieb:
> Kopierschutz hat noch nie funktioniert und wird nie funktionieren. Für
> ehrliche Leute ist es nervtötender Ballast und für unehrliche Leute eine
> kleine Morgengymnastik.

So ist es. Nebenbei verdächtigst Du gleich einmal Deinen (potentiellen)
Kunden der Raubkopiererei - das erzeugt kein gutes Vetrauensverhältnis.
#2941220
Lesenswert?

Sven P. schrieb:
> Rechner waren mal offene Strukturen, die in erster Linie rechnen
> sollten.
> Aber heute muss als allererstes mal der Kopierschutz passen, bevor die
> Software entwickelt wird...

Und der Kopierschutz ist am Ende das, was als erstes ausfällt. Entweder 
wird er umgangen und hat nichts gebracht, und/oder er ist sowieso schon 
immer total buggy gewesen und hat die teure Software vom funktionieren 
beim ehrlichen Kunden abgehalten. Dann kann sich auch der ehrliche Kunde 
glücklich schätzen, wenn jemand aus welchen Beweggründen auch immer 
einen Bypass für den Müll zur Verfügung gestellt hat.

Joachim Drechsel schrieb:
> So ist es. Nebenbei verdächtigst Du gleich einmal Deinen (potentiellen)
> Kunden der Raubkopiererei - das erzeugt kein gutes Vetrauensverhältnis.

Leider Standard. Warum muss ich mir als Käufer einer Kinokarte oder 
DVD/BL immer ansehen, wie böse es ist, Filme zu kopieren, aber wenn ich 
mir eine Kopie besorge bleibe ich von dieser Generalverdächtigung 
verschont? Warum funktioniert Software allzu oft erst nach Entfernung 
des meist dilletantischen Kopierschutzes korrekt, selbst wenn man dafür 
bezahlt hat?

Wenn die Software ihren Preis wert ist, werden auch genug Leute dafür 
bezahlen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren