Pack Of Aces

  • Pack Of Aces

    Ich habe hier Pack Of Aces auf doppelseitige diskette (1997), eine sammlung von:
    Boulder Dash
    International Karate
    N.E.X.U.S.
    Who Dares Wins II

    leider (wegen der älter ?) funktionert diese disk nicht mehr. Kann jemand mich ein lauffähiges NIB anbieten ? Anders rum, wenn ich ein nicht lauffähiges NIB anbieten kann jemand diese patchen ?

    Kömischeweise, laut C64 Preservation hat diese disk kein protection drauf:

    Pack of Aces (Compilation) Prism 1992 Verified sets:0
    Archived: 2006-08-13 20:46:30
    Protection: none
    Notes: cifo - contains IK, Boulder Dash, Nexus, and Arac

    UPDATE

    Diese 1992 einseigite version ist doch schon in der wolke pack_of_aces[prism_1992](comp).nbz und hat keine kopierschütz. Leider ARAC anstadt Who Dares Wins II
    Dateien
    • Pack Of Aces.zip

      (202,27 kB, 14 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von mrr19121970 ()

  • Sehr interessant!

    (Und hier, liebe Kinder, ist ein gutes Beispiel dafür, warum man trotzdem vermeintlich schon bekannte Sachen nochmal dumpen soll - gibt immer mal neue Sachen und Erkenntnisse. :) )

    Die Angabe in der Datenbank bezieht sich auf eine einseitige Compilation, das ist nicht die gleiche wie bei dir. Ist deine auch von Prism (Leisure)?

    Hab's mir noch nicht im Detail angesehen, aber rein vom Aussehen des Directories würde ich sehr stark davon ausgehen, dass dein Dump einen Kopierschutz drauf hat. Ich weiss nicht ob diese Art Loader einen Namen hat, ich bezeichne und sortiere den immer als "Parker-Brown" Loader/Kopierschutz (*). Lässt sich normalerweise durchaus knacken. Worin genau die Schutzcharakteristik besteht müsst man natürlich analysieren, erwarten würde ich sowas wie eine GCR-Signatur in den Extended Tracks.

    Edit: Ach ja, dein Dump/deine Version ist bis jetzt übrigens noch nicht beim PP enthalten. Also wieder mal was frisches.


    (*) Weil man tief drin in manchen Versionen des Loaders Sachen findet, die auf die Urheber hinweisen, namentlich "DATA DUPLICATION DISK PROTECTION SYSTEM BY MIKE BROWN" und mitunter "PROTECTED AND DUPLICATED BY DATA DUPLICATION WRITTEN BY KEVIN PARKER" ...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von GenerationCBM ()

  • Neu

    GenerationCBM schrieb:

    (*) Weil man tief drin in manchen Versionen des Loaders Sachen findet, die auf die Urheber hinweisen, namentlich "DATA DUPLICATION DISK PROTECTION SYSTEM BY MIKE BROWN" und mitunter "PROTECTED AND DUPLICATED BY DATA DUPLICATION WRITTEN BY KEVIN PARKER" ...
    Hier ...



    Andrew Challis, Interceptor Software

    lemon64.com/?mainurl=http%3A//…%3Fcoder%3DAndrew+Challis
  • Neu

    Ich mache ein paar fortschritte ??

    Mit DirMaster ->> EXTRACT kann ich auch die versteckter PRGs sehen

    LOADER --> ACES SIDE 1 (muss ich mal disassemblen)
    BOULDY ---> BOULDERDASH (start mit RUN)
    PARTA1 ---> IK v1 (start mit SYS 2112)
    PARTB1 ---> IK v2 (start mit SYS 2112)

    BLOB1 --> $02A7 LOADs BOULDY
    BLOB2 --> $02A7 LOADs PARTA1
    BLOB3 --> $02A7 LOADs PARTB1

    @ ---> Kopierschutz hier ?? $f000

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von mrr19121970 ()

  • Neu

    Lustigeweise scheint NEXUS ein Trilogic Expert V3.1 freeze image zu sein.

    Irgendwie verstehe ich nicht was der datei @ macht. Laded $f000, relocate nach $c000. Sucht etwas (ein menu??) rund rum, falls findet versucht zu laden und JMP $BC00 sonst reset.

    Trotzdem hier sind die 2 D64.

    LOAD "BLOBx",8,1:SYS679

    SIDE1 BLOB1 BLOB2 BLOB3
    SIDE2 BLOB1 BLOB2
    Dateien
    • PACK_OF_ACES.zip

      (143,01 kB, 5 mal heruntergeladen, zuletzt: )
  • Neu

    mrr19121970 schrieb:

    Lustigeweise scheint NEXUS ein Trilogic Expert V3.1 freeze image zu sein.
    Das gibt's leider fürchterlich oft, gerade bei Budget Releases und Compilations.

    Ich hab's mir noch nicht wieder angesehen (muss erst 24h Le Mans kucken...), aber vom oberflächlichen Ansehen erinnert mich das an den Schutz z.B. wie er bei einem Release von Firetrap (Electric Dreams) benutzt wurde. Da kommt der Check aus den Extended Tracks mit einem Rückgabewert im Akku zurück, der nicht nur als XOR-Mask zum Code-entschlüsseln benutzt wird, sondern auch zum Patchen des letzten wichtigen JMP-Ziels.
  • Neu

    GenerationCBM schrieb:

    Da kommt der Check aus den Extended Tracks mit einem Rückgabewert im Akku zurück, der nicht nur als XOR-Mask zum Code-entschlüsseln benutzt wird, sondern auch zum Patchen des letzten wichtigen JMP-Ziels.
    Auf diese idee bin ich nicht gekommen. Ich habe versucht ein D64 in VICE. Schnell mal in G64 umgewandellt, und weiter kucken...
  • Neu

    Noch interessante, bei der original:

    Aces Side 1
    LOAD "BLOB1",8,1:SYS679
    LOAD "BLOB2",8,1:SYS679
    LOAD "BLOB3",8,1:SYS679

    Aces Side 2
    LOAD "BLOB1",8,1:SYS679
    LOAD "BLOB2",8,1:SYS679

    funktioniert, geht alle schützmechanimus rum.

    Ich habe die 2 @.prg von side 1 und side 2 vergleichen:



    hier sind die unterschiede. mein annahme ist diese ist der (obfuscated) menu code. Ich habe keine ahnung mehr wie ich diese entpacken kann ohne.
  • Neu

    Wie vermutet bis auf wenige Kleinigkeiten extrem ähnlich dem erwähnten Kopierschutz auf einem Original von "Firetrap", sogar die XOR-Maske ist die selbe. (Ist auch noch nicht im PP enhalten, leider habe ich das nur als D64).

    Die Datei "@" enthält den Kopierschutz. Wird von LOADER nach $f000 geladen, dann nach $c000 verschoben. Der interessantere Einstieg ist nach dem Verschieben bei $c530, von wo aus die Hauptroutine des Kopierschutzes gestartet wird. Die sieht so aus:


    Quellcode

    1. c0e0 20 03 c0 jsr $c003 ; "m-w" übertragen etc.
    2. c0e3 20 b8 c0 jsr $c0b8 ; "m-e" übertragen
    3. c0e6 20 70 c0 jsr $c070 ; copycheck return wert holen und nach $c0ff schreiben
    4. c0e9 a9 a6 lda #$a6 ; gegencheck-wert "errechnen":
    5. c0eb 49 17 eor #$17
    6. c0ed 49 98 eor #$98 ; a6 xor 17 xor 98 xor b6 xor ad xor f0 = c2
    7. c0ef 49 b6 eor #$b6
    8. c0f1 49 ad eor #$ad
    9. c0f3 49 f0 eor #$f0
    10. c0f5 cd ff c0 cmp $c0ff ; copycheck return wert mit gegencheck-wert vergleichen
    11. c0f8 f0 03 beq $c0fd ; branch wenn check pass
    12. c0fa 6c fc ff jmp ($fffc) ; ansonsten reset
    13. c0fd 4c 00 00 jmp $0000 ; check pass (muss zu 4c 00 c2/jmp $c200 werden)
    Alles anzeigen
    Siehe da, die gleiche Maske ($c2). Patcht man in $c0ff ein $c2 und verbiegt den JMP in $c535 auf $c0fd, ist das D64 mit einem 2-Byte-Patch lauffähig. Seite 2 geht ganz genauso. Ist kein NIB, aber the next best thing. :) Anbei mal die Images, aus deinen NIBs von oben.
    Dateien
  • Neu

    Hier ist mein 'effort'. 2 byte patch. noch besser ware ein signatur richtig auf der floppy zu schreiben, ohne patch. Aber ich denke die rätsel wird ich nicht bald lösen.

    UPDATE

    Menu ist auch in BASIC

    Dateien

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von mrr19121970 ()

  • Neu

    mrr19121970 schrieb:

    Hier ist mein 'effort'. 2 byte patch.
    Kann man so machen, hat aber den kleinen Nachteil, dass der Kopierschutz-Check auch tatsächlich noch durchgeführt wird. Ist ein bisschen Zeitverlust, auf einer echten Floppy unnötige Kopfbewegung, und in einem Image mag es je nach Methode im Zweifelsfall nicht jeder Emulator gerne, wenn Extended Tracks angesteuert werden sollen, das Image aber bei 35 aufhört.

    mrr19121970 schrieb:

    noch besser ware ein signatur richtig auf der floppy zu schreiben, ohne patch.
    Das wäre natürlich in jedem Fall besser. Hab' nur leider zur Zeit keine Möglichkeit, NIB/G64 zu dumpen, deswegen behelfe ich mich bei meinen Originalen erstmal mit D64-Images, die ich mit so wenig Veränderung wie möglich lauffähig patche. (Was natürlich auch nicht mit jedem Kopierschutz geht, aber meistens schon.)