APPLICATIONSDEPLOMBAGE ★ "Alkatrax"-Codierprogramm ★

Alkatraz Protection System (CPC Amstrad International)Applications Deplombage
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Binärdateien leicht verschlüsselt

Das Thema Datenschutz ist schon seit den Kindertagen der Computer in aller Munde. Eine wichtige Maßnahme ist das Unlesbarmachen von Daten Bisher konnte man nur auf dem CPC Datenfiles oder BASIC-Programme verschlüsseln. Wir stellen eine Möglichkeit vor, nun auch Maschinenprogramme vor fremdem Zugriff zu schützen.

Bisher gab es schon eine ganze Menge Codierprogramme, die jedoch alle bestimmte Nachteile hatten. Entweder das Programm codiert mit einem Codewort, welches man leicht vergessen kann (außerdem muß man jedesmal wieder mit diesem Wort de-codieren lassen), oder in einem Basic-Programm werden Zeilen durch Überlänge, falsche Zeilennummern und so weiter geschützt.

Cliquez sur l'image pour l'agrandir
Dieses Programm erstellt einen Kopierschutz, wie er bei komerzieller Software verwendet wird.

Eine weitere Möglichkeit eines Kopier-schutzes ist, daß das Directory unsichtbar gemacht wird. Einfache Abhilfe: Diskmonitor, Directory Editor ... reinladen, Directory ändern, fertig. Alles wieder da. Aber warum eigene, wirkungslose und unbrauchbare Schutzarten ausdenken, wenn man nur bei den Profis schauen muß. Und genau das ist der mit Sicherheit wirkungsvollste Schutz, wie Sie gleich nach einer Erklärung erkennen können. Vorab noch eine kurze Information: Selbst der Entwickler dieses Schutzes brauchte für ein normal geschütztes Programm vier bis zwölf Stunden (je nach Länge des Schutzes)!!! Nun folgen einige Informationen über diesen Kopierschutz und seine Arbeitsweise: Jedem Computerbesitzer ist das Won Kopierschutz ein bekannter Begriff (sofern er Originalsottware benutzt und versucht hat, sie zu kopieren). Aber wie funktioniert ein Kopierschutz? Die Grundlage ist eine mit einem Spe-zialformat formatierte Diskelte. Dieses Format ist meist nur schwer zu kopieren. Das gesamte Programm ist dabei nicht als File abgespeichert, sondern direkt auf Diskette geschrieben. Um es cinzulesen, wird eine Trackladeroutine aufgerufen, die das Programm von den Tracks in den Speicher liest. Wenn man diese Laderoutine, die oft sehr kompliziert ist, ungeschützt vorliegen hat, ist es meistens ein Lcichtes (für Assembler-Kundige!), das Programm einlesen zu lassen und als File normal abzuspeichern. Auf diesem Prinzip beruht übrigens das Cracken von Originalsoftware:
Man versucht also an den Lader heranzukommen. Doch dies ist wirklich sehr schwer. Da die Programmierer natürlich nicht wollen, daß man leicht an diese Laderoutine kommt, verschlüsseln sie diese mit zirka 60 bis 300 Co-dicrschleifen. Jetzt werden Sie fragen, was sind Codierschleifen und wie funktionieren sie ? So arbeiten diese Codierschleifen in Assembler :

Codierschleifen

Ein Register, meist HL, zeigt auf das erste Byte hinter dieser gerade "aktiven" Schleife. In BC oder DE steht die Anzahl der Bytes, die decodiert oder codiert werden sollen. Dann wird das Byte in HL eingelesen, verknüpft und wieder zurückgeschrieben. HL wird erhöht, DE beziehungsweise BC erniedrigt. Diese Prozedur wird so lange wiederholt, bis der Zähler (DE oder BC) gleich 0 ist.

Dann ist die nächste Schleife dccodiert, und die darauffolgenden sind "etwas" decodiert. Bei dieser und den nächsten Schleifen geht's genauso weiter, wie eben gezeigt. Als Beispiel dient hier die Beispielroutine.

Nachdem die erste Schleife n mal (n = laenge) durchlaufen ist, steht die darauffolgende decodiert, also im Format wie die erste im Speicher und wird automatisch ausgeführt, weil ja nach dem letzten Befehl der ersten Schleife die zweite gleich beginnt. Und so geht das dann immer weiter, bis alle Schleifen beendet sind und das Programm richtig im Speicher steht.

Damit aber Programmcode decodiert werden kann, muß er vorher codiert werden. Man läßt den Vorgang also rückwärts ablaufen:

  • Combat School
  • Gryzor
  • Trantor - The Last Stormtrooper
  • Human Killing Machine
  • Thunder Blade
  • Sonic Boom
  • Die Arche des Caplain Blood
  • Street Fighter
  • Last Ninja 2
  • Summer Games 1 +2
  • Crackdown
  • Healh Wave (Compilation)
  • Arcade Muscles (Compilation)
  • 10 MEGA Games (Compilation)

Diese Programme benutzen zum Beispiel den vorgestellten Kopierschutz.

Zuerst beginnt man mit der letzten Schleife bei der Codierung, dann bei der vorletzten und so weiter bis hin zur ersten. Nun steh! alles geXORt im Speicher. Das Schwierige am Cracken, dem Hacken der Schleifen, ist aber, daß es so unwahrscheinlich viele Sorten davon gibt. Es werden insgesamt zirka fünfzig Typen verwendet. Aber wir wollen ja nicht cracken, weil wir keine Raubkopierer sind. Wozu aber dann die ganzen Erklärungen ?

  • weil man so die Funktionsweise eines Kopierschutzes durchschauen kann,
  • weil man so einsehen kann, daß dies der sicherste Kopierschutz überhaupt sein muß und
  • weil dadurch die Funktionsweise meines Codierprogrammes anschaulich wird!

Funktionsweise des Programmes: Nach dem Start werden Sic nach dem Namen des zu codierenden Programmes (nur Binärprogramme) und dessen Startadresse gefragt. Die Originalstartadresse muß hierbei unbedingt beibehalten werden! Dann kommt eine Abfrage nach der Anzahl der Schleifen. Geben Sie hier einen Wert zwischen I und X ein. X sollte nicht zu groß sein, da sonst der Speicherplatz nicht reichen würde. Aber vierzig Schleifen wären sicher schon genug. Und dann geht's auch schon los! Das Programm wird codiert. Je nach Länge und Anzahl der Schleifen dauert dies einige Zeil; bei einer Länge von 4096 Bytes und einer Schleifenanzahl von vierzig zum Beispiel 45 Sekunden. Danach werden Sie aufgefordert, eine Taste zu drücken. Das fertige Produkt wird als CODE. BIN abgespeichert. Falls keine Abspeicherung gewünscht ist, drücken Sic einfach zweimal die Escape-Taste. Das folgende kurze Programm veranschaulicht eine Codierung:

FOR X=&4000 TO &5000:POKE X,&C9:NEXT

Danach das Codierprogramm starten , bei NAME bitte RETURN drücken, damit kein Programm geladen wird. Als Startadresse &4000. als Endadresse &5000. Danach merken Sic sich bitte die neue, vom Programm angegebene Startadresse. Danach sehen Sie sich den Speicher von &4000 bis &5000 wie folgt an:

FOR X=&4000 TO &5000:? HEX$(PEEK(X))";: NEXT

Jetzt müßten lauter verschiedene Werte ausgegeben werden. Das sind die codierten Bytes. Dann rufen Sie die neue Startadresse auf, die Sie sich gemerkt haben, mit: CALL neue Startadresse . Jetzt schauen wir nochmal den Speicher an:

FOR X=&4000 TO &5000:? HEX$(PEEK(X))" ";:NEXT

Der alte Wert &C9 steht jetzt wieder da. Wenn Sie ein Programm schützen, dann bitte nur ein Programm, welches selbständig lauffähig ist. also mit CALL adresse aufgerufen werden kann, und keine Grafik oder etwas in dieser Richtung. Viel Spaß beim Verschlüsseln.

begin

loop

LD HL,Start
LD BC,laenge
LD A,(HL)
XOR wert
LD (HL),A
INC HL
DEC BC
LD A,B
OR C
JR NZ,loop
;Beginn der De - Codierung
;laenge = ende - start + 1
;Wert aus HL holen
;verknüpfen (wert:0-255)
;verknüpften Wert in HL sehr.
;HL um eins erhöhen
;BC um eins erniedrigen
;Test, ob BC = 0
;Dazu wird B mit C geORt
;Nicht 0 ? Dann nochmal
BASIC : HL = Start
BASIC : BC = laenge
BASIC : A = PEEK (HL)

BASIC : POKE HL, A
BASIC : HL = HL + 1
BASIC : BC = BC - 1
BASIC : A = B
BASIC : A = A OR C
BASIC: IF A < > 0 THEN loop

Beispiel für die (De) Codierung eines Binarfiles. Anschließend folgt das Programm.

Anmerkung: Die Erklärungen verlangen eine gewisse Vorkenntnis in der Programmiersprache Assembler. Aber auch Assembler-Unkundige können das Prinzip verstehen, nicht aber die Erklärung der Codierschleifen, was für die Benutzung des Programmen nicht erforderlich ist!

CPCAI

★ PUBLISHER: CPC AMSTRAD INTERNATIONAL
★ YEAR: 1991
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: COMMERCIALE
★ COLLECTION: CPC AMSTRAD INTERNATIONAL 1991
★ AUTHOR: Klaus Meffert
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Alkatraz  Protection  System  v2.0    (CPC  Amstrad  International)    GERMANDATE: 2020-04-23
DL: 318
TYPE: ZIP
SiZE: 6Ko
NOTE: 40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Casselocks
» Applications » New Way Cracking's PK-Scroll
» Applications » RSX Multiface 2 Expand (Amstrad Action)
» Applications » Discology v2.0 / 3.3 / 5.1
» Applications » Master Toolkit
» Applications » CPC Mastercopy v1
Je participe au site:
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 100 millisecondes et consultée 2146 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.