|
Kopierschutz |
Top Previous Next |
|
Sie haben also ein tolles Spiel erstellt und verkaufen es, aber jeder kopiert es einfach und gibt es weiter? Sogar Ihre Verwandten? Machen Sie dem ein Ende mit diesem Artikel.
Der Kopierschutz verwendet eine API Funktion namens GetVolumeInformation, welche (unter anderem) die Seriennummer der Festplatte zurückliefern kann. Der Code besteht aus zwei Dateien: 1) User.c sollte bereitgestellt und auf dem Rechner des Anwenders gestartet werden; diese Anwendung schreibt die Seriennummer der aktuellen Festplatte (auf der das Spiel installiert ist) in eine Datei namens serial.txt. Sie teilen dem Anwender mit, dass er das Programm auf seine Festplatte kopieren und ausführen und Ihnen dann die serial.txt Datei zukommen lassen soll. Sie können die user.c einfach der Demo beilegen. Dies geschieht, wenn ich user.c auf meinem Rechner starte:
Dies ist die Seriennummer meiner Festplatte; wäre ich der Kunde und Sie der Entwickler, dann müsste ich Ihnen diese Zahl mitteilen. Sie wird zwar nur für einige Sekunden angezeigt, aber vergessen Sie nicht, dass sie darüber hinaus auch in der Datei serial.txt gespeichert wird.
2) Game.c beinhaltet das eigentliche Spiel, welches mit einem Kopierschutz versehen ist, der auf der Hardware Ihres PCs basiert, ähnlich wie Microsoft es mit Ihrem Aktivierungsmechanismus von Windows tut. Mein Code ist viel simpler, verwendet aber die gleiche Idee, Sie sollten also keine Probleme haben, wenn Sie ihn komplexer gestalten möchten. Die einzig wichtige Codezeile in game.c ist die Folgende:
if (str_cmpi(serial_str, "26630-49107")) // this works only for my hard drive, so put your own serial here
Wie Sie vermutlich erraten haben, läuft die game.c Datei auf Ihrem Rechner nicht ohne Änderungen - das Spiel ist koiergeschützt! Sie müssen die Serienummer Ihrer Festplatte zwischen die " schreiben und die Datei speichern.
Lassen Sie uns die Prozedur noch einmal durchgehen: a) Lassen Sie den Kunden user.c ausführen und ermitteln Sie so die Seriennummer seiner Festplatte. b) Editieren Sie game.c und fügen Sie diese Seriennummer dort ein. Das Spiel läuft dann nur auf seiner Hardware.
Game.c enthält ein kopiergeschütztes Beispiel eines Spiels, in dem Sie in 7 oder weniger Versuchen eine Zahl zwischen 1 und 100 erraten müssen. Wenn Sie es richtig anstellen ist das ganz einfach (zumindest meistens). Der Code ist wie immer voll kommentiert.
|