Softwareschutz

Aus C64-Wiki
Wechseln zu: Navigation, Suche

Da die Entwicklung von Programmen viel Zeit kosten und Ideen, sowie jede Menge Programmiertechniken beinhalten, möchten Softwarefirmen und Programmierer oftmals die Einsicht und die unkontrollierte Weitergabe ihrer geschriebenen und vertriebenen Programme verhindern. Maßnahmen, welche die Weitergabe oder das Einsehen des Quelltextes bzw. "reverse-engineering" erschweren, werden im allgemeinen als Softwareschutz bezeichnet. Es gibt verschiedene Arten von Softwareschutzmaßnahmen.

Schutz von Programmen[Bearbeiten]

Listschutz[Bearbeiten]

Die bei den Heimcomputern eingesetzten Interpretersprachen wie BASIC werden direkt ausgeführt und benötigen keine Kompilierung. BASIC-Programme können daher mit dem BASIC-Befehl LIST angesehen und der Quelltext kann einfach ausgedruckt oder verändert werden. Um dies zu verhindern, wurde oftmals ein Listschutz in den Programmen eingebaut. Entweder ein einfacher durch Benutzung von BASIC-Tricks oder mit Hilfe von Programmen wie Compiler (ggf. mit einen Passwort geschützt − dies be- bzw. verhindert dann auch das Dekompilieren) schwerer zu umgehender Listschutz. Auch das Umbiegen von BASIC-Speichervektoren mit Hilfe von POKEs kann ein illegales Abbrechen mit der Taste RUN/STOP  oder der Tastenkombination RUN/STOP +RESTORE  mit anschließendem Auflisten des BASIC-Programms verhindern. Viele Maßnahmen lassen sich allerdings mit geringem Aufwand umgehen. Da der C64 bei einem Soft-Reset mittels Reset-Taster (separat oder als Bestandteil eines Steckmoduls) den Speicher nicht löscht, lassen sich BASIC-Programme mit ein paar POKE-Befehlen oder dem Gegenstück zum NEW-Befehl (UNNEW), den Steckmodule wie Action Replay oder Final Cartridge III in ihren BASIC-Erweiterungen bieten, wieder herstellen. Eine Listschutz-Beispielmethode gibt es im Artikel Listschutz.

Reset-Schutz[Bearbeiten]

Setzt ein Programm eine Modulkennung, kann es den Abbruch des Programms durch einen simplen Reset-Taster verhindern und dementsprechend auch unterbinden, dass der Benutzer nach dem Reset das Programm im RAM analysiert. Dieser Schutz lässt sich durch ein Steckmodul, das seinerseits die Modulkennung überschreibt, oder durch sehr kurzes Aus-/Einschalten statt Reset umgehen.

Freezer-Schutz[Bearbeiten]

Einige Steckmodule bieten Freezer an; Programme können Tricksereien mit der NMI-Leitung machen, um den Aufruf des Freezers zu unterbinden.

Abfrageroutinen[Bearbeiten]

In Computerspielen wurden in den 1980er- und 1990er-Jahren oftmals Abfrageroutinen eingebaut, um die Verbreitung von Kopien der Originalspiele zu verhindern. Kam der Spieler an eine bestimmte Spielstelle wurde er aufgefordert einen Code (Farbcode, Zahlen-Ziffer-Code, usw.) einzugeben. Dieser war entweder im Spielebegleitbuch versteckt oder lag als Tabelle (oftmals farbig ausgeführt und mit den damaligen Schwarz-Weiß-Kopierern schlecht zu kopieren) dem Spiel bei.

In Anwendungen wurden oftmals Programmfunktionen wie z.B. das Abspeichern oder Ausdrucken von Daten gesperrt, wenn nicht das Programm vorher mit einem vom Autoren oder Entwickler spezifizierten Passwort freigeschaltet worden ist.

Kopierschutz[Bearbeiten]

Auch einzelne Programme lassen sich mit einem einfachen Kopierschutz ausstatten, indem z.B. ein Autostart, oft mit integriertem Schnelllader, verwendet wird. Ein Programm, das mit einem Autostart ausgestattet ist, startet nach dem LOAD-Befehl automatisch und lässt sich nur mit Hilfe von BASIC nicht so einfach kopieren. Abhilfe schaffen Kopierprogramme, welche die ganze Diskette kopieren, oder Steckmodule mit einer Freezer-Funktion wie das Action Replay oder die Final Cartridge III.

Schreibschutz[Bearbeiten]

Mit einen Schreibschutz oder genauer einen Überschreibschutz wird das versehentliche Überspielen eines Programms bzw. einer Datei verhindert. Der Schreibschutz eines Programms lässt sich nur softwareseitig auf den Datenträgern wie Diskette einrichten und schützt nicht gegen versehentliches Formatieren eines Datenträgers.

Schutz von Datenträgern[Bearbeiten]

Kopierschutz[Bearbeiten]

Hierbei wird durch Manipulation des Datenträgers in erster Linie das direkte Kopieren mit einfachen Kopierprogrammen verhindert. Dies geschieht z.B. entweder durch Einbau von fehlerhaften Blöcken, die Nutzung von illegalen Tracks und Sektoren der Diskette, oder gar einem eigenen Aufzeichnungsformat der Daten. Oftmals kann aber durch spezielle Kopierprogramme, die den kompletten Datenträger bitweise und komplett auslesen und eine 1:1-Kopie erstellen, der Kopierschutz umgangen werden. Im Laufe der Jahre wurden zahlreiche Kopierschutzverfahren von der IT-Industrie entwickelt, die aber nahezu alle von Crackern ausgehebelt oder umgangen wurden.

Der Kopierschutz bei Programmen, die auf Kassette gespeichert sind, ist in der Regel ein Autostart in Kombination mit einem eigenen Aufzeichnungsformat, das zusätzlich auch schneller geladen werden kann, als das Standardaufzeichnungsformat.


Directory-Schutz[Bearbeiten]

Im Gegensatz zum Kopierschutz wird beim Directory-Schutz nur das Inhaltsverzeichnis einer Diskette (Directory) manipuliert. Damit wird das Anzeigen des Inhaltsverzeichnis und damit das Kopieren einzelner Dateien erschwert. Viele Kopierprogramme können die einzelnen Dateien − falls es solche gibt − trotzdem auflisten, und auch die Befehle zum direkten Auflisten des Inhaltsverzeichnis am Bildschirm in den meisten BASIC-Erweiterungen ignorieren diese Manipulationen.


Schreibschutz[Bearbeiten]

Bei diesem einfachen Schutz, den es für jeden Datenträger gibt, wird das Wiederbespielen oder Überschreiben eines Datenträgers verhindert. Es gibt hier den hardwareseitigen und den softwareseitigen Schreibschutz. Während der hardwareseitige Schreibschutz auch das Formatieren eines Datenträgers verhindert, ist dies bei einem softwareseitigen Schreibschutz nicht möglich!

Rechtliche Hinweise[Bearbeiten]

  • Per Gesetz ist es mittlerweile seit dem Jahr 2003 in Deutschland verboten, Software und Datenträger, die einen wirksamen Kopierschutz beinhalten, zu kopieren.
  • Jede Software, die eine gewisse Schöpfungshöhe erreicht, ist unabhängig von einen Softwareschutz ein geistiges Eigentum und darf nicht ohne Erlaubnis des Rechteinhabers (z.B. Urheber oder eine Firma) vervielfältigt werden und/oder verändert werden.

Literatur[Bearbeiten]