Index du Forum
IDENTIFICATION SERVEUR : 10.14.20.168 - CLIENT : 3.237.94.109

 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 

Gauntlet IIgs (Mindscape, 1988)

 
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: 3055
Localisation: Le Chesnay, France

MessagePosté le: Dim 24 Jan 2016, 15:40    Sujet du message: Gauntlet IIgs (Mindscape, 1988) Répondre en citant

#716 - This is it. The game everybody's been waiting for. Gauntlet(tm), the most successful arcade game of all time has come home. And it brings with it all the characters, dungeons, traps, treasures, and excitement you loved in the arcades.

OK. OK. I find it pretty attractive despite its poor graphics. Force 7 has the same top-down view with a multi directional scrolling.

Protection type
One bad block on the disk. Otherwise, all blocks can be copied. Refer to Paperboy for more information.

How to copy
Use ZZCopy or Photonix II to copy your original disk that you then put in a dry and safe place.

Some sort of boot-trace
One method I've never talked of is to catalog your disks. When you see something strange, something different from the rest of the files, then it should ring your bell and that little voice should say: "look at file X, the protection is there." and today, our winner is the file named LEVEL8. It has a aux type when all others have not, it has a name that sounds weird: why level 8 when there are no other files named LEVELx?

When we disassemble the file, we find our usual protection check, the same as the one used for Paperboy. The only difference is that the return value from the protection is checked: it must be 2. If not, we have a copy, otherwise we have an original.

When we reverse boot trace, the LEVEL8 file is loaded by GASYS (code at $7CDA), the protection check at $9000 is called by a JSR to $802A (in file GA16), and at $802A we have a JMP to $878F where we have the entry to our protection check.

How to crack
Launch Block.Warden
Prefix /GA
Follow LEVEL8
At offset $0: 18 FB C2 30 -> A9 02 00 6B
Write the block back

We do so instead of putting a BIT (2C) at offset $ce1 of file GASYS because there are two loaders on my disk (LOADER.SYSTEM and LOADER2.SYSTEM) and both do not load the same files. If there are future calls to the protection, it is safer to return the right value from the LEVEL8 file instead of patching different places of the code in different files. It could have been a one-byte patch but we never know!

The file is available at http://www.brutaldeluxe.fr/crack/

Reboot and... enjoy,

LoGo
1/2016
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: 3055
Localisation: Le Chesnay, France

MessagePosté le: Dim 24 Jan 2016, 15:41    Sujet du message: Répondre en citant

Some excerpts from the files:

Code:

File GASYS

The Flaming Bird Disassembler    Written by Ferox - (c) 1994 Phoenix corporation
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
00/7CC8: A900                       LDA   #$00                                 
00/7CCA: 8D9F72                     STA   $729F                                 
00/7CCD: 8DA072                     STA   $72A0                                 
00/7CD0: 8DA172                     STA   $72A1                                 
00/7CD3: A2E4                       LDX   #$E4                                 
00/7CD5: A071                       LDY   #$71                                 
00/7CD7: 202E72                     JSR   $722E                                 
00/7CDA: A2F6                       LDX   #$F6            ; LOAD LEVEL8         
00/7CDC: A071                       LDY   #$71                                 
00/7CDE: 202E72                     JSR   $722E                                 
00/7CE1: 202A80                     JSR   $802A           ; CALL PROTECTION     
00/7CE4: A2D2                       LDX   #$D2                                 
00/7CE6: A071                       LDY   #$71                                 
00/7CE8: 202E72                     JSR   $722E                                 
00/7CEB: A2EA                       LDX   #$EA                                 
00/7CED: A071                       LDY   #$71                                 
00/7CEF: 202E72                     JSR   $722E                                 
00/7CF2: A900                       LDA   #$00                                 
00/7CF4: 8D9F72                     STA   $729F                                 
00/7CF7: A90D                       LDA   #$0D                                 

File GA16

00/8000:                            ORG   $008000                               
00/8000: 4C8780                     JMP   $8087                                 
00/8003: 4C4E80                     JMP   $804E                                 
00/8006: 4CFA80                     JMP   $80FA                                 
00/8009: 4C2781                     JMP   $8127                                 
00/800C: 4C6B81                     JMP   $816B                                 
00/800F: 4C6E83                     JMP   $836E                                 
00/8012: 4C9B83                     JMP   $839B                                 
00/8015: 4C0384                     JMP   $8403                                 
00/8018: 4C3F84                     JMP   $843F                                 
00/801B: 4CEF85                     JMP   $85EF                                 
00/801E: 4C4686                     JMP   $8646                                 
00/8021: 4C8A86                     JMP   $868A                                 
00/8024: 4CF086                     JMP   $86F0                                 
00/8027: 4C3E87                     JMP   $873E                                 
00/802A: 4C8F87                     JMP   $878F           ; CALL PROTECTION     
00/802D: 4CAC87                     JMP   $87AC                                 
00/8030: 4C3288                     JMP   $8832                                 
00/8033: 98                         TYA                                         
00/8034: EB                         XBA                                         

The code that calls the protection:

00/878F: 18                         CLC                                         
00/8790: FB                         XCE                                         
00/8791: C230                       REP   #$30                                 
00/8793: A2A887                     LDX   #$87A8                               
00/8796: A00000                     LDY   #$0000                               
00/8799: 22009000                   JSL   $009000                               
00/879D: C90200                     CMP   #$0002           ; Original if 2
00/87A0: D003                       BNE   $87A5                                 
00/87A2: 4CD580                     JMP   $80D5                                 
00/87A5: D0FE                       BNE   $87A5                                 
00/87A7: 60                         RTS                                         
00/87A8: 032F4741                   STR   '/GA'                                 


View of file LEVEL8, where the protection check is:

00/9000:                            ORG   $009000                               
00/9000: 18                         CLC                                         
00/9001: FB                         XCE                                         
00/9002: C230                       REP   #$30                                 
00/9004: 0B                         PHD                                         
00/9005: 8B                         PHB                                         
00/9006: DA                         PHX                                         
00/9007: 5A                         PHY                                         
00/9008: 206C92                     JSR   $926C                                 
00/900B: 7A                         PLY                                         
00/900C: FA                         PLX                                         
00/900D: 22899900                   JSL   $009989                               
00/9011: B007                       BCS   $901A                                 
00/9013: 22329100                   JSL   $009132                               
00/9017: 207C92                     JSR   $927C                                 
00/901A: AB                         PLB                                         
00/901B: 2B                         PLD                                         
00/901C: 6B                         RTL                                         
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: 3055
Localisation: Le Chesnay, France

MessagePosté le: Dim 24 Jan 2016, 15:43    Sujet du message: Répondre en citant

The Block.Warden view of the first bytes of file LEVEL8 before and after the patch.

Code:

Block: $00DE (222)      Volume name: GA              Saturday   24-Jan-16 10:45
Prefix: /GA/                                                                   
Byte $01BC00                                                                   
(c) Q      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F             R/W mode
1988ZSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    Z 000:>18 FB C2 30<0B 8B DA 5A 20 6C 92 7A FA 22 89 99   .{B0..ZZ l.zz"..   
  b Z 010: 00 B0 07 22 32 91 00 20 7C 92 AB 2B 6B 08 DA 5A   .0."2.. |.++k.ZZ   
B y Z 020: C2 30 A2 00 00 A0 08 00 18 2A 2A 48 8A 2A AA 68   B0".. ...**H.**h   
L   Z 030: 88 D0 F5 8A 29 FF 00 7A FA 28 60 C2 30 08 DA 5A   .Pu.).zz(`B0.ZZ   
O G Z 040: E2 30 9C A0 90 A2 0F DD 80 90 F0 05 CA 10 F8 80   b0. .".]..p.J.x.   
C l Z 050: 28 8E A0 90 A2 0F EB DD 90 90 F0 05 CA 10 F8 80   (. .".k]..p.J.x.   
K e Z 060: 18 8A 0A 0A 0A 0A 18 6D A0 90 8D A0 90 AD A0 90   .......m .. .- .   
  n Z 070: C2 30 29 FF 00 7A FA 28 60 A2 00 8E A0 90 80 ED   B0).zz(`".. ..m   
W   Z 080: B4 BD F5 B6 E6 F7 B7 B5 AD FE FB EC 9F EE F4 B9   4=u6fw75-~{l.nt9   
A B Z 090: DD DF F9 CF 9B F2 BA F3 FC BC DA DB FA EA DE DC   ]_yO.r:s|<Z[zj^\   
R r Z 0A0: 00 08 48 DA C2 30 8E E3 90 A2 FF FF 8E E7 90 C2   ..HZB0.c.".g.B   
D e Z 0B0: 10 E2 20 A0 00 00 AE E7 90 E8 EC E3 90 F0 1B 8E   .b  ...g.hlc.p..   
E d Z 0C0: E7 90 B1 00 F0 0F 8C E5 90 9B E8 D1 04 D0 E4 AC   g.1.p..e..hQ.Pd,   
N o Z 0D0: E5 90 C8 80 ED AC E7 90 80 03 A0 FF FF C2 30 FA   e.H.m,g... B0z   
  n Z 0E0: 68 28 60 00 00 00 00 00 00 08 48 5A E2 20 88 91   h(`.......HZb ..   
    Z 0F0: 00 C0 00 00 D0 F8 C2 30 7A 68 28 60 08 C2 30 2A   .@..PxB0zh(`.B0*   
                                                                               
After the change:

Block: $00DE (222)      Volume name: GA              Saturday   24-Jan-16 10:45
Prefix: /GA/                                                                   
Following: LEVEL8, Type BIN, Rel block 1, Byte $000000                         
(c) Q      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F             R/W mode
1988ZSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    Z 000:>A9 02 00 6B<0B 8B DA 5A 20 6C 92 7A FA 22 89 99   )..k..ZZ l.zz"..   
  b Z 010: 00 B0 07 22 32 91 00 20 7C 92 AB 2B 6B 08 DA 5A   .0."2.. |.++k.ZZ   
B y Z 020: C2 30 A2 00 00 A0 08 00 18 2A 2A 48 8A 2A AA 68   B0".. ...**H.**h   
L   Z 030: 88 D0 F5 8A 29 FF 00 7A FA 28 60 C2 30 08 DA 5A   .Pu.).zz(`B0.ZZ   
O G Z 040: E2 30 9C A0 90 A2 0F DD 80 90 F0 05 CA 10 F8 80   b0. .".]..p.J.x.   
C l Z 050: 28 8E A0 90 A2 0F EB DD 90 90 F0 05 CA 10 F8 80   (. .".k]..p.J.x.   
K e Z 060: 18 8A 0A 0A 0A 0A 18 6D A0 90 8D A0 90 AD A0 90   .......m .. .- .   
  n Z 070: C2 30 29 FF 00 7A FA 28 60 A2 00 8E A0 90 80 ED   B0).zz(`".. ..m   
W   Z 080: B4 BD F5 B6 E6 F7 B7 B5 AD FE FB EC 9F EE F4 B9   4=u6fw75-~{l.nt9   
A B Z 090: DD DF F9 CF 9B F2 BA F3 FC BC DA DB FA EA DE DC   ]_yO.r:s|<Z[zj^\   
R r Z 0A0: 00 08 48 DA C2 30 8E E3 90 A2 FF FF 8E E7 90 C2   ..HZB0.c.".g.B   
D e Z 0B0: 10 E2 20 A0 00 00 AE E7 90 E8 EC E3 90 F0 1B 8E   .b  ...g.hlc.p..   
E d Z 0C0: E7 90 B1 00 F0 0F 8C E5 90 9B E8 D1 04 D0 E4 AC   g.1.p..e..hQ.Pd,   
N o Z 0D0: E5 90 C8 80 ED AC E7 90 80 03 A0 FF FF C2 30 FA   e.H.m,g... B0z   
  n Z 0E0: 68 28 60 00 00 00 00 00 00 08 48 5A E2 20 88 91   h(`.......HZb ..   
    Z 0F0: 00 C0 00 00 D0 F8 C2 30 7A 68 28 60 08 C2 30 2A   .@..PxB0zh(`.B0*   
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