Schutz eigener Software vor Raubkopien - Lizensierungsmodell
-
Hi,
wer kein Internet hat, kann die Anwendung
a) nicht runterladen
b) nicht gebrauchendas ist so, wie leute die online banking machen wollen und kein pc und internet haben.
philipp
-
Hi,
wenn du eine einfache Lösung suchst, könnte man es doch auch so machen,
dass du eine DLL runterladen lässt.Ist die DLL (noch) nicht vorhanden, ist die Software im "Demo"-Modus.
Geht er deinen Schritt mit der Registrierung/Payment usw. wird z.B. sein
"Rechnername+nummervonirgendwasvonderhardware" zu einer Unique-ID errechnet.
Diese ID zusammen mit einer gültigen Emailadresse vom Kunden wird gespeichert.Der Kunde erhält die benötigte DLL und die Software wird voll funktionsfähig.
Die DLL sollte sich allerdings selbst löschen, sobald eine gewisse Anzahl
von Hardwareänderungen vorgenommen wurde+der Rechnername ein anderer ist.So kann der Kunde die DLL auch nicht einfach weitergeben, wenn er das Prinzip
durchschaut hat, da ja "Rechnername+nummervonirgendwasvonderhardware" nicht die ID bilden die auf ihn zutrifftAnhand der Emailadresse könntest du dann später, wenn es wirklich notwendig ist
(neuer PC beim Kunden), feststellen wer da häufiger nach neuen Freischaltungen fragt.Chris
-
Du hast ne große Sicherheitslücke in deinem Programm: du schilderst dein Vorgehen für die Sicherung hier
sowas sollte man nicht tun *g*
abgesehen davon ist die Überprüfung immer leicht zu entfernen für nen geübten Cracker, wenn es sich um ne vollständige Version handelt, man muss ja nur die Abfragen überschreiben und jeder wird es sowieso nicht können sondern nur sehr wenige.
Wenn deine Anwendung nicht gerade nen Verkaufsschlager wird, wird sich auch niemand die Version über P2P organisieren können und wenn man jdm. ne Kopie an nen Kumpel
gibt fällt das ja nicht so ins Gewicht.
-
kingruedi schrieb:
Ich rede nicht davon, dass man irgend so einen 08/15-Chipkarten Leser an den Rechner anschließt, sondern von den Konzepten, die in TCPA angedacht werden. Zum Beispiel, dass man den Code dann erst durch die Chipkarte beim auslesen durch den Prozessor entschlüsselt. Man kann da ja ganze Algorithmen drauf auslagern und nicht nur Daten.
Dir ist klar, das bei Software mit Dongles (wie z. B. Cubase SX 2, USB-Dongle, knapp 1.000,- EUR) die Dongle-Abfrage einfach "rausgepatcht" wird, ja?
Ein Dongle ist ein Kopierschutz-Stecker, der zum Betrieb der (legalen) Software an den PC gesteckt sein muß.
Also wenn so eine Abfrage schlichtweg rausgepatcht werden kann, wird das mit Deinem "Chipkarten-Leser" genauso möglich sein...
-
TCPA ist eine Möglichkeit. Eine andere wäre, wichtige Funktionen in Hardware zu implementieren und diese immer von der Hardware ausführen zu lassen.
-
Von daher ist es am wichtigsten, dass du deine Executables selbst so gut wie möglich schützt.
Es geht darum dem Cracker möglichst viel Arbeit zu machen, so daß er es sein lässt.1. Packen/Verschlüsseln der Exe mit einem Exe-Packer/Crypter (wehrt schon unerfahrene Cracker ab). billige Möglichkeit: UPX
2. Mehrere voneinander unahängige Überprüfungeroutinen. Dann muss der Cracker auch mehrere knacken. ( kostet den Cracker Zeit und Nerven)
3. Lass deine Software laufende Debuggerprozesse erkennen und führe dann sinnlosen Code aus. (Verwirrt den Cracker u.U. extrem)
4. Sämtliche String-Literale die du für die Anwendung heranziehst aus eine externen verschlüsselten Quelle ziehen. (Erschwert dem Cracker die Rückverfolgung von MessageBoxen wie "Ungültiger Lizenzschlüssel")Wenn du das alles machst muss deine Software schon sehr teuer und toll sein, dass sich jemand die Wochen dafür Zeit nimmt das Ding zu cracken.
-
Philipp HB schrieb:
wer kein Internet hat, kann die Anwendung
a) nicht runterladen
b) nicht gebrauchenHat er irgendwo geschrieben, dass seine Anwendung nur mit Internetzugang Sinn macht? Warum soll ich sie nicht auf einen Datenträger packen können und damit zu einem anderen PC gehen und sie von dort installieren?
Desweiteren wird wohl der ein oder andere immer etwas mistrauisch sein, wenn es darum geht etwas über das Internet zu registrieren.
-
Hallo,
wenn ich schon schreibe, dass niemand die Anwendung braucht der kein Internet hat, macht es auch keinen Sinn die Anwendung via Datenträger zu kopieren und fust 4 fun auf nem anderen PC zu installieren. Ferner würde aus der Vollversion dann wieder eine demo werden
Die Zielgruppe an die sich die Anwendung richtet hat keine scheu sich im Internet zu registrieren. Und wer es nicht möchte, soll sich das Produkt von der Konkurrenz für ca. 500 Euro kaufen. Das ist für völlig egal. Bei mir kostet es weniger als 50 Euro und wer das nutzen will muss halt nach meinen Regeln tanzen.
Immerhin will ich mir in 4 Wochen ein Sportcoupe kaufen
Philipp
-
Dann sag mal an um welche Software es sich handelt bzw. was die macht.
-
SirLant schrieb:
Du hast ne große Sicherheitslücke in deinem Programm: du schilderst dein Vorgehen für die Sicherung hier
sowas sollte man nicht tun *g*
Sicherheit, die auf Geheimhaltung basiert ist keine. Irgendwann kommt's sowieso raus. Deshalb ist es besser seine Sicherheitskonzepte offen zu legen.
Beispiel Passwort-Verschlüsselung: Zum Glück liegen die ganzen Verfahren offen und sämtlichen klugen Köpfen dieser Welt bietet sich die Möglichkeit sie zu knacken. Übertrieben gesagt: Mit meinem geheimen xor 255 - Verfahren habe ich genau so lange Schutz, wie keiner gemerkt hat, daß es das ist. Danach wird's blöd.
-
Jester schrieb:
Sicherheit, die auf Geheimhaltung basiert ist keine. Irgendwann kommt's sowieso raus. Deshalb ist es besser seine Sicherheitskonzepte offen zu legen.
Nicht wirklich einleuchtend.
kingruedi schrieb:
Ach, tu dir einen gefallen und komm nicht auf die dumme Idee die Kopierschutzfunktionen in irgend welche dynamischen Librarys auszulagern und die dann am besten noch copyprotection oder check_serial zu nennen
Aber eigentlich keine schlechte Idee, wenn Du sowieso eine DLL mitlieferst, daß Du diese die EXE und die EXE die DLL checken lässt (CRC z.B.).
Philipp HB schrieb:
@Sgt. Nukem
[...]
auch habe ich nicht die zeit mich vor allem zu schützen. aber wenn das nun jemand cracken will, ist mir das auch egal, solange es nicht alle tun.
Das Problem ist ja leider, daß normalerweise nicht jeder für sich crackt, sondern es viele faule Leute gibt, die einfach die Cracks der anderen benutzen...
-
Philipp HB schrieb:
Hallo,
wenn ich schon schreibe, dass niemand die Anwendung braucht der kein Internet hat, ...
und was ist mit Leuten ohne Flatrate? Oder gar mit Dialup-Verbindungen? Mit denen hinter Firewalls, auf die sie keinen Einfluss nehmen koennen (z. B. auf der Arbeit), oder die das Programm auf 'ner LAN-Party ohne I-net-Anschluss verwenden wollen?
-
Interessant zu dem Thema (die ganzen Verlinkungen bitte beachten)
http://developers.slashdot.org/article.pl?sid=04/09/13/1357202&tid=156&tid=98&tid=8Dir ist klar, das bei Software mit Dongles (wie z. B. Cubase SX 2, USB-Dongle, knapp 1.000,- EUR) die Dongle-Abfrage einfach "rausgepatcht" wird, ja?
Wie gesagt, ich rede hier nicht von so etwas simplen, sondern von etwas in die Richtung, die Software ist verschlüsselt und wenn die CPU den Code ausliest, dann wird das über Chipkarte entschlüsselt. Da kannst du nicht so einfach die Abfrage entfernen, da keine Abfrage in dem Code vorhanden ist bzw. du an den Code noch nicht einmal rankommst.
Obwohl irgend wann bastelt sich ein Freak ein Gerät, was dann die Schnitstelle zur CPU mitprotokolliert
Das ist eben ein Kampf. Macht A etwas neues, zieht B nach (A und B je nach belieben durch "der Cracker" oder "der Kopierschützer" ersetzen :)). Aber so ist das leben. Ansonsten wären beide Parteien ohne Arbeit
@Sargent
Aber eigentlich keine schlechte Idee, wenn Du sowieso eine DLL mitlieferst, daß Du diese die EXE und die EXE die DLL checken lässt (CRC z.B.).
Ich denk mal für einen guten Cracker ist das ein Kinderspiel. Wahrscheinlich hat der schon ein Tool, dass einfach von allen Dateien die üblichen Checksummen (CRC,MD,SHA,...) erstellt und die Dateien danach untersucht. Genauso wie er wahrscheinlich ohne Problem UPX etc. erkennt.
-
Eine der wahrscheinlich sichersten Methoden ist, wie rapso schon sagte, wichtige Kernfunktionen auf einen Server auszulagern.
Der große Nachteil ist natürlich dann die Geschwindigkeit des Programms und die Auslastung+Traffic Deines Servers.
-
Hi,
ich habe bei meiner Anwendung schon nachgedacht, ob die sache mit dem Internet ratsam ist. und es ist egal ob man flatrate hat oder nicht. das passt alles schon.
ich habe schon 2x den punkt genannt. wenn ich 1x im monat meine exe datei ändere, also variablen namen und codeteile verschrieben, dann muss doch jeden monat nen neuer crack geschrieben werden?
also nochmal für alle. es ist keine anwendung die jeder haben will und jeder braucht. es richtig sich an zwei-drei zielgruppen. es ist auch keine anwendung um megareich zu werden, aber reicht um sich nen traum zu erfüllen. und wenn da jemand crackt, gut, dann macht er das, aber dies will ich halt mit wenig aufwand minimieren.
Und bisher hatten die Antworten immer mehr mit Cracks zu tun, meine Frage bezog sich aber ehr auf mein Modell, wie weit das gut ist, oder was man besser machen könnte. Vielleicht hat da dann noch jemand eine idee.
philipp
-
Mach es doch einfach so wie du meinst.
Immerhin will ich mir in 4 Wochen ein Sportcoupe kaufen
Das meinst du doch jetzt nicht ernst.
Wird wohl eher ein kleiner
gebrauchter was
-
kingruedi schrieb:
@Sargent
Aber eigentlich keine schlechte Idee, wenn Du sowieso eine DLL mitlieferst, daß Du diese die EXE und die EXE die DLL checken lässt (CRC z.B.).
Ich denk mal für einen guten Cracker ist das ein Kinderspiel. Wahrscheinlich hat der schon ein Tool, dass einfach von allen Dateien die üblichen Checksummen (CRC,MD,SHA,...) erstellt und die Dateien danach untersucht. Genauso wie er wahrscheinlich ohne Problem UPX etc. erkennt.
Das CRC war auch beispielhaft zu verstehen, man sollte schon was eigenes nehmen (bzw. modifiziertes).
Merke: Je mehr ein Schutz vom Standard abweicht, desto schwerer ist er zu knacken!
Immerhin gibt es sogar für sauteure kommerzielle Kopierschütze Generic-Cracker!!
Da ist ein simpler CRC natürlich nichts besonderes.Es ging mir eher darum, daß die EXE ihre DLLs überprüft und sonst still und heimlich abschmiert, und jede DLL andere DLLs oder EXEs überprüft ab und an.
Bei falschen Werten wird eine Variable zufällig gesetzt die dann beim 45. Schleifendurchlauf in Funktion XY zum Absturz resultierende Pointer etc. erzeugt.
-
Philipp HB schrieb:
meine Frage bezog sich aber ehr auf mein Modell, wie weit das gut ist
Dein Modell ist genauso gut bzw. besch...eiden wie die hardware-gekoppelte Produktaktivierung bei Microsoft. Muss man noch mehr dazu sagen?
Wenn ja: Wie bei allen Schutzmassnahmen gegen illegale Kopien (es gibt keine Raubkopien) sind die ehrlichen Kunden die Gekniffenen. Für die Cracker ist es eine Herausforderung und Warez-Usern ist dein System egal, die benutzen die gecrackte Version.
-
Hi,
ich werde es nun nach meiner idee proggen und die exe alle 4 wochen abändern, damit das cracken nicht zu leicht geht
@Porschefahrer
ich will mir ein 1-2 jahre altes sportcoupe mit 192 ps kaufen. das sollte locker drinnen sein
phil