Hallo Besucher, der Thread wurde 22k mal aufgerufen und enthält 104 Antworten

letzter Beitrag von markusC64 am

GEOS-Kopierschutz

  • Hallo,


    ich möchte mal eine Frage stellen, die unter Umständen schon einige male beantwortet wurde, aber ich finde leider nichts darüber.
    Wenn sie denn mal hätte beantwortet werden sollen wird immer nur geschrieben, daß es ja allgemein bekannt wäre.
    Und, ja ich weiß daß es eine Noob-Frage ist. aber ich habe halt keine Ahnung.


    Worin besteht eigentlich der Kopierschutz von GEOS-Disketten (64/128) und wie funktioniert er?
    Wenn es mehrere Verfahren gibt, wäre es nett alle zu erfahren.


    Natürlich braucht jetzt nicht erklärt zu werden, was ich im Commodore-Handbuch nachlesen kann (also daß jeder Block einen Haeder hat, die Aufteilung eines Blocks u.s.w.).
    Aber bitte schreibt nicht, daß etwas ja allgemein bekannt wäre.


    Schonmal danke für eure Mühe.


    Heiko

  • Die Frage hat Data Becker im Buch "Das große Geos Buch, 3. Auflage" sehr ausführlich beantwortet. Inklusive, wie die Kopierschutzabfragen versteckt sind.


    Die dortigen Angaben zur Version 1.3 passen im Wesentlichen auch zur Version 2.0.


    PS: Einen Scan des Buches habe ich gestern im Incoming der Cloud hochgeladen. Etwas Gedult, nd jeder kommt dran.

  • Frühe Versionen (bis frühe 1.3) checken eine Signatur auf Track 36. Etwa ab späte 1.3 über 1.5 bis 2.0 checken auf nonstandard Tail Gaps. Frühe Versionen (bis wann genau ist wohl nicht klar) haben ausserdem das eingebaute trojanische Pferd, das eine kopierte Diskette plättet. Alle Versionen ausser den späten/freien setzen ausserdem eine Seriennummerninstallation bei Erstgebrauch ein, damit die Applications nur mit dem dazugehörigen System funktionieren.


    (Wie man das suchen aber nicht finden kann verstehe ich jetzt ehrlich gesagt nicht so wirklich. Im Unterforum "Geos" geht's seit geraumer Zeit um kaum was anderes.)

  • Kommt drau an, wie genau es der Fragesteller wissen will. Data Becker hat z. B: noch Infos, wo jeweils der Code wie versteckt ist, der die Abfrage macht.


    Und wie man bei Kopien der uninstallierten App-Disk die Kopierschutzabfrage findet und so patcht, dass der Kopierschutz nicht abgefragt wird.
    Es geht also schon tiefer ins Detail.

  • Frühe Versionen (bis frühe 1.3) checken eine Signatur auf Track 36. Etwa ab späte 1.3 über 1.5 bis 2.0 checken auf nonstandard Tail Gaps. Frühe Versionen (bis wann genau ist wohl nicht klar) haben ausserdem das eingebaute trojanische Pferd, das eine kopierte Diskette plättet. Alle Versionen ausser den späten/freien setzen ausserdem eine Seriennummerninstallation bei Erstgebrauch ein, damit die Applications nur mit dem dazugehörigen System funktionieren.


    (Wie man das suchen aber nicht finden kann verstehe ich jetzt ehrlich gesagt nicht so wirklich. Im Unterforum "Geos" geht's seit geraumer Zeit um kaum was anderes.)

    Ganz einfach. es geht schon reichlich lange darum, das habe ich auch mitbekommen.
    Aber es werden immer nur kleine Teile behandelt. Und stets, wenn es dann doch mal umfangreicher wird, wird gesagt, das dieses oder jenes ja nicht mehr erklärt werden müsse, weil es ja allgemein bekannt wäre. Und ich denke dann immer: "Äh, nein?!?"


    Z.B.: Die Sache mit den Unterschiedlichen Haedern wird zwar oft erwähnt, aber nie wirklich erklärt.


    Auf das Buch bin ich gespannt. Damit würde sich dann die Frage erledigen.

  • Ja, da wird viel erklärt. Immerhin 7 Seiten sind nur dem Thema Kopierschutz und dessen Abfrage im Bootvorgang gewidmet.


    Trotzdem empfehle ich, mit meinem g64conv eine Geos-Diskette (V2.0 oder 1.3 deutsch) einfach mal auf GCR-Ebene anzuschauen. Man sieht einfach klarer, wenn man die Geos Header- und Tailgaps gesehen hat.


    Ein normaler Sektor sieht wie folgt aus (der klaren Darstellung halber habe ich den Sektorinhalt als komplett 00 angenommen und verkürzt dargestellt). Folgende Darstellungen sind g64conv entnommen:



    sync 32
    ; header
    gcr 08
    begin-checksum
    checksum
    ; sector
    gcr 00
    ; track
    gcr 12
    ; id2
    gcr 32
    ; id1
    gcr 31
    end-checksum
    gcr 0f
    gcr 0f
    ; Trk 18 Sec 0
    bytes 55 55 55 55 55 55 55 55 55 ff



    sync 32
    ; data
    gcr 07
    begin-checksum
    gcr 00 00 [...] 00
    checksum
    end-checksum
    gcr 00
    gcr 00
    bytes 55 55 55 55 55 55 55 55 ff


    Beim Geos-Sektor mit Kopierschutz ändern sich die "Füllbytes" zwischen den Sektoren:


    sync 32
    ; header
    gcr 08
    begin-checksum
    checksum
    ; sector
    gcr 00
    ; track
    gcr 12
    ; id2
    gcr 32
    ; id1
    gcr 31
    end-checksum
    gcr 0f
    gcr 0f
    ; Trk 18 Sec 0
    bytes 55 55 55 55 55 67 55 55 67 ff



    sync 32
    ; data
    gcr 07
    begin-checksum
    gcr 00 00 ... 00
    checksum
    end-checksum
    gcr 00
    gcr 00
    bytes 55 55 55 55 67 55 55 67 ff

  • Hallo,


    bezüglich des GEOS 2.0 Kopierschutzes, hat mir der folgende Post von Unseen sehr geholfen dessen Funktionsweise zu verstehen. Natürlich muss man dazu den Quellcode lesen können. (Dies hat dann auch zur Erstellungs-Idee von nibconv67 beigetragen.)
    Ich hatte und habe vor diesen Quellcode in einem PAP (Programmablaufplan) darzustellen. Siehe dazu das Thema GEOS 64 2.0 Bootprozess als PAP (Programmablaufplan).
    Leider fehlt mir im Moment die Zeit dafür :-(


    Gruß
    Hans


    Kleiner Ausschnitt aus dem Stage 2-Loader von GEOS 128 - die Prüfung ist auch im Stage 1-Loader schon drin, aber stärker im Code verstreut:

  • Sehr interessant. Der Aussschnitt legt nahe, mit Vice in der Floppy einen Breakpoint bei 0652 zu legen - und siehe da, es klappt. Man landet mitten in der Kopierschutzabfrage von Geos 2.0 (C64). Aber auch bei Geos 1.3 (DE + US) klappt das.


    Das gibt einen ja mal die Chance, rauszubekommen, was die Geos 1.3 US-Version auf Track 36 eigentlich abfragt.

  • Hallo Bagitman,

    Und wenn GEOS tatsächlich einen Kopierschutz hatte, wieso wird dann im Handbuch empfohlen, immer mit Sicherheitskopien zu arbeiten, wenn man diese doch dann gar nicht so ohne weiteres anfertigen konnte?

    Was steht wirklich im Handbuch? ;-)
    Nach der Installation der kopiergeschützen Disketten soll man Sicherheitskopien (Arbeitsdisketten) anfertigen und nur diese verwenden...


    Ich versuche mal es etwas zu erklären.


    Geos (64er oder 128er Version) besteht aus vier doppelseitig bespielten Disketten (je 1541-Format). Disk 3 und 4 (beidseitig) haben keinerlei Kopierschutz. Sie können jederzeit kopiert werden.


    Disk #1 Seite A und Disk #2 Seite sind die Disketten System und Sicherheitsystem, also die 2 Bootdisketten für Geos. Sie sind im Original identisch (nur der Diskname ist unterschiedlich). Diese Disketten besitzen einen Kopierschutz UND werden beim ersten Booten mit einer Seriennummer (Zufallszahl) versehen (auf der Diskette und im eigentlichen Geos-Kernel). Normal funktionieren sie später nicht, wenn man eine dieser Disketten nur simpel kopiert. Da wird jedesmal der Kopierschutz abgefragt. Ist der nicht vorhanden, wird eine Reset des Rechners durchgeführt.
    Es gab aber schon damals die Möglichkeit, die Disketten im 1541-Format nach dem normalen Kopieren und anschließendem Bearbeiten zum Laufen zu bekommen. Das System nannte sich "GeoCopy" und war eigentlich für Geos 1.3 gedacht. Es funktionierte aber auch mit Geos 64 V2.0 und Geos 128 V2.0. Man musste anschließend nur den "DESK TOP" auf den erzeugten Disketten austauschen (überschreiben).
    Später gabe es dann von CMD "GeoMakeBoot". Damit konnte man Startdisketten auf allen von Geos unterstützten Laufwerkstypen erstellen. Diese booteten etwas langsamer, hatten aber keinen Kopierschutz. Aber: Die Seriennummer wurde von der kopierten Disk übernommen.


    Auf Disk #1 Seite B mußte "GEOWRITE" und auf Disk #2 Seite B "GEOMERGE" installiert werden. Während dieser Installation wird der Kopierschutz der Disk abgefragt. Außerdem wird die Seriennummer des laufenden Geos im Programm und auf Diskette gespeichert. Nach der Installation spielt der Kopierschutz keine Rolle mehr. Die Disketten lassen sich normal kopieren. Aber die 2 genannten Programme (und alle anderen die installiert werden müssen) überprüfen beim Start jedesmal die Seriennummer des laufenden Geos. Stimmt sie nicht überein, wird der Start des Programms mit einer Fehlermeldung quittiert.


    Alles klar??


    Gruß
    Werner

  • Alles klar??

    Ich sag' mal für mich: nein. :)
    Das sage ich aber nur, um im Rückblick klar zu machen, wie mir dieses undurchsichtige Kopier-und-Installier-Hick-Hack damals(tm) ziemlich gut die Lust an Geos von vornherein verleidet hat. Es war ein elendes Floppy-DJ-Spielen. So wirklich firm bin ich darin bis heute nicht - welche Version von welchem Programm kann was oder was nicht und braucht was wo um wie zu laufen etc. Und ohne extra Aufrüst-Hardware, die ich z.T. erst heute wirklich kenne, schipperte Geos immer hart am Rande der Unbenutzbarkeit entlang. Ich sah das immer mehr oder weniger wie Lynx weiter oben. Berkley hat sich IMO damit sehr viele potentielle Kunden verscheucht.


    Heute ist das etwas anders, heute ist es ganz interessant, sich damit retro-mässig auseinanderzusetzen. Aber damals? Grundgütiger nein.

  • Interessanterweise hatte damals Data Becker im oben bereits genannten großen Geos Buch, 3. Auflage, Basic-Listings veröffentlicht, die den Kopierschutz der Geos 1.2 und der Geos 1.3 Deutsch Systemdisketten brechen. :)


    Die für Geos 1.3 funktionieren auch mit Geos 2.0.


    Die Listings habe ich abgetippt auf eine meiner alten Geos-Disketten wiedergefunden. "Teil 4*" ist dabei nicht aus dem Buch, sondern damals ergänzt, damit die Icons stimmen ohne Eingriffe mit Icon-Editoren etc.


    Das schöne an der Data Becker Lösung ist, dass der Fastloader intakt blieb und der optische Eindruck auch unverändert gegenüber dem Original ist.