Index du Forum
IDENTIFICATION SERVEUR : 10.0.97.1 - CLIENT : 54.80.148.252

 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Platoon (Data East, 1987)

 
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> PROTECTION MALEFIQUE
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 2889
Localisation: Le Chesnay, France

MessagePosté le: Ven 15 Sep 2017, 15:42    Sujet du message: Platoon (Data East, 1987) Répondre en citant

#970 - Another arcade game from Data East

Disk structure
This is a standard double-sided DOS 3.3 floppy disk.

Protection type
The protection checks nibbles that are hidden and that cannot be copied with a bit copier.

How to copy
Boot my copy disk and launch Locksmith Fast Disk Backup. Copy both sides then store your original disk in a dry and safe place.

Boot trace
This one is easy. I am on a //gs so I use 96FB instead of 98F8 with a Disk II controller card.
Code:

9600<C600.C6FFM
96FB:20 FDDA 60
9600G
03

The T0/S0 asks for three sectors to be loaded. The first code at $0801 is a jump to $0A00 which is the protection check. The routine ends at $0A4D if the hidden nibbles were found. So, we'll directly jump to the end of the routine...

How to normalize
Boot my copy disk and launch Disk Fixer
Code:

Read T0/S0
At offset $02: 00 becomes 4D
Write the sector back onto disk


The disk images are available at http://www.brutaldeluxe.fr/crack/

Reboot and... enjoy,
LoGo
9/2017
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 2889
Localisation: Le Chesnay, France

MessagePosté le: Ven 15 Sep 2017, 15:43    Sujet du message: Répondre en citant

And some code

Code:

----------- DISASSEMBLY MODE -----------
0000:03             @@@
0001:4C 00 0A       JMP   $0A00
0004:EA             NOP
0005:D0 27          BNE   $002E
0007:78             SEI

Before changes...

-------------- DISK EDIT ---------------
TRACK $00/SECTOR $00/VOLUME $FE/BYTE $02
----------------------------------------
$00: 03 4C-00-0A EA D0 27 78    CL@JjP'8
$08: AD 83 C0 AD 83 C0 A5 2B    -.@-.@%+
$10: 4A 4A 4A 4A 09 C0 85 3F    JJJJI@.?
$18: 8D FD FF A9 5C 85 3E A9    .})\. )
$20: 00 8D FC FF 18 AD BF 08    @.|X-?H
$28: 6D C0 08 8D BF 08 AE C0    -@H.?H.@
$30: 08 F0 15 BD C1 08 85 3D    HpU=AH.=
$38: CE C0 08 AD BF 08 85 27    N@H-?H.'
$40: CE BF 08 A6 2B 6C 3E 00    N?H&+, @
$48: 2C 51 C0 2C 54 C0 2C 52    ,Q@,T@,R
$50: C0 8D 0C C0 8D 00 C0 20    @.L@.@@
$58: 2A D3 A9 00 85 48 85 3C    *S)@.H.
$60: A9 27 8D F2 03 A9 D3 8D    )'.rC)S.
$68: F3 03 49 A5 8D F4 03 A9    sCI%.tC)
$70: A0 A2 00 9D 00 04 9D 00     "@.@D.@
$78: 05 9D 00 06 9D 00 07 CA    E.@F.@GJ
----------------------------------------

After changes...

-------------- DISK EDIT ---------------
TRACK $00/SECTOR $00/VOLUME $FE/BYTE $02
----------------------------------------
$00: 03 4C-4D-0A EA D0 27 78    CLMJjP'8
$08: AD 83 C0 AD 83 C0 A5 2B    -.@-.@%+
$10: 4A 4A 4A 4A 09 C0 85 3F    JJJJI@.?
$18: 8D FD FF A9 5C 85 3E A9    .})\. )
$20: 00 8D FC FF 18 AD BF 08    @.|X-?H
$28: 6D C0 08 8D BF 08 AE C0    -@H.?H.@
$30: 08 F0 15 BD C1 08 85 3D    HpU=AH.=
$38: CE C0 08 AD BF 08 85 27    N@H-?H.'
$40: CE BF 08 A6 2B 6C 3E 00    N?H&+, @
$48: 2C 51 C0 2C 54 C0 2C 52    ,Q@,T@,R
$50: C0 8D 0C C0 8D 00 C0 20    @.L@.@@
$58: 2A D3 A9 00 85 48 85 3C    *S)@.H.
$60: A9 27 8D F2 03 A9 D3 8D    )'.rC)S.
$68: F3 03 49 A5 8D F4 03 A9    sCI%.tC)
$70: A0 A2 00 9D 00 04 9D 00     "@.@D.@
$78: 05 9D 00 06 9D 00 07 CA    E.@F.@GJ
----------------------------------------

The protection check...

-------------- DISK EDIT ---------------
TRACK $00/SECTOR $0E/VOLUME $FE/BYTE $4D
----------------------------------------
$00: EA EA A2 60 A9 56 85 FD    jj" )V.}
$08: A9 08 C6 FC D0 04 C6 FD    )HF|PDF}
$10: F0 38 BC 8C C0 10 FB C0    p8<.@P{@
$18: FB D0 ED F0 00 EA EA BC    {Pmp@jj
$20: 8C C0 C0 08 2A B0 0B BC    .@@H*0K
$28: 8C C0 10 FB C0 FF D0 D8    .@P{@PX
$30: F0 EB BC 8C C0 10 FB 84    pk .@P{.
$38: FC C9 0A D0 CB BD 8C C0    |IJPK=.@
$40: 10 FB 38 2A 25 FC 49 FF    P{8*%|I
$48: F0 03 4C 00 C6-A9-60 85    pCL@F) .
$50: 2B A9 09 85 27 A9 01 8D    +)I.')A.
$58: 00 08 A9 A5 8D 01 08 A9    @H)%.AH)
$60: 27 8D 02 08 A9 C9 8D 03    '.BH)I.C
$68: 08 A9 09 8D 04 08 4C 01    H)I.DHLA
$70: 08 00 00 00 00 00 00 00    H@@@@@@@
$78: 00 00 00 00 00 00 00 00    @@@@@@@@
----------------------------------------

----------- DISASSEMBLY MODE -----------
0000:EA             NOP            ; entry point
0001:EA             NOP
0002:A2 60          LDX   #$60
0004:A9 56          LDA   #$56
0006:85 FD          STA   $FD
0008:A9 08          LDA   #$08
000A:C6 FC          DEC   $FC
000C:D0 04          BNE   $0012
000E:C6 FD          DEC   $FD
0010:F0 38          BEQ   $004A
0012:BC 8C C0       LDY   $C08C,X   ; want a FB
0015:10 FB          BPL   $0012
0017:C0 FB          CPY   #$FB
0019:D0 ED          BNE   $0008
001B:F0 00          BEQ   $001D
001D:EA             NOP
001E:EA             NOP
001F:BC 8C C0       LDY   $C08C,X   ; want a 08
0022:C0 08          CPY   #$08
0024:2A             ROL            ; rotate A
0025:B0 0B          BCS   $0032      ; branch if carry et
0027:BC 8C C0       LDY   $C08C,X
002A:10 FB          BPL   $0027
002C:C0 FF          CPY   #$FF
002E:D0 D8          BNE   $0008
0030:F0 EB          BEQ   $001D
0032:BC 8C C0       LDY   $C08C,X   ; read nibble
0035:10 FB          BPL   $0032
0037:84 FC          STY   $FC
0039:C9 0A          CMP   #$0A      ; A must be 0A
003B:D0 CB          BNE   $0008
003D:BD 8C C0       LDA   $C08C,X   ; get 2nd 4*4 nibble
0040:10 FB          BPL   $003D
0042:38             SEC
0043:2A             ROL
0044:25 FC          AND   $FC      ; and with the first
0046:49 FF          EOR   #$FF      ; must be FF
0048:F0 03          BEQ   $004D      ; if so, good disk
004A:4C 00 C6       JMP   $C600      ; bad disk, reboot
004D:A9 60          LDA   #$60      ; good disk, load
004F:85 2B          STA   $2B
0051:A9 09          LDA   #$09
0053:85 27          STA   $27
0055:A9 01          LDA   #$01
0057:8D 00 08       STA   $0800
005A:A9 A5          LDA   #$A5
005C:8D 01 08       STA   $0801
005F:A9 27          LDA   #$27
0061:8D 02 08       STA   $0802
0064:A9 C9          LDA   #$C9
0066:8D 03 08       STA   $0803
0069:A9 09          LDA   #$09
006B:8D 04 08       STA   $0804
006E:4C 01 08       JMP   $0801
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> PROTECTION MALEFIQUE Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com