Index du Forum
IDENTIFICATION SERVEUR : 10.0.97.1 - CLIENT : 3.80.177.176

 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 

Skate or die IIgs (Electronic Arts, 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: 2949
Localisation: Le Chesnay, France

MessagePosté le: Sam 23 Jan 2016, 16:11    Sujet du message: Skate or die IIgs (Electronic Arts, 1988) Répondre en citant

#713 - Go skate or go home by Michael Kosaka, Stephen Landrum & David Bunch. This is the crack of v1.1 of the game.

The game... the worst 65816 code I've ever seen. It looks like the guys were discovering the machine. We can thank them for the port of the game on the IIgs but, God, what a bad code it is. One day, you'll get the HDD and System compliant version. As of now, I need a IIgs memory map viewer, etc. Too early to release. Let's focus on the crack.

Protection type
The same and usual early 3.5" protection: we are looking for a track length on two tracks. If we are inside the range, we are good, if not we crash. (don't laugh, there are plenty of good reasons for the game to crash by itself...)

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

How to crack
Launch Block.Warden
Prefix /SOD
Follow SOD.SYS16
At offset $98: 22 -> AF (protection code copy to $00/1000)
- offset $9C: 22 -> AF (execute the protection)
- offset $145: 22 -> AF (execute the protection again)
Save the block back onto disk.

Reboot and... enjoy,

Get the SoundToolSet working version at http://www.brutaldeluxe.fr/crack/

LoGo
1/2016


Dernière édition par toinet le Sam 23 Jan 2016, 23:16; édité 1 fois
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: 2949
Localisation: Le Chesnay, France

MessagePosté le: Sam 23 Jan 2016, 16:13    Sujet du message: Répondre en citant

Here part of the SOD.SYS16 file, the one that installs and launches the protection:

Code:

*--- Main code

               LDA        L00443D
               PHA                                                             
               PEA        $C005                                                 
               PEA        $0002                                                 
               PEA        $0000                                                 
               _NewHandle                                                       
               STA        L0044B0                                               
               PLA                                                             
               PLX                                                             
                                                                               
               JSL        L01E9         ; clear screens                         
               JSL        L01A3         ; copy protection in bank $00           
               JSL        L01C8         ; run protection                       
                                                                               
               REP        #$30                                                 
               LDA        #$0000                                               
               PHA                                                             
               PLD                                                             
               SEP        #$30                                                 
               REP        #$30                                                 
               LDA        #$0000                                               
               STAL       L02000C                                               
               PHX                                                             
               PHA                                                             

And later in the code...

L0100F8        STAL       $E0C010
               REP        #$30
               LDA        #$0000
               JSL        L078009   
               JSL        L078033   
               JSL        L01C8          ; run protection (again)
               LDX        #$0000
               JMPL       L076806   

*--- Copy protection code from segment 2 to bank $00
                                                                               
L01A3          LDX        #$0000                                               
L01A6          LDAL       L004000,X                                             
               STAL       $004000,X                                             
               INX                                                             
               INX                                                             
               CPX        #$03ED                                               
               BCC        L01A6                                                 
               LDX        #$0000                                               
L01B8          LDAL       L0043EC,X                                             
               STAL       $001000,X                                             
               INX                                                             
               INX                                                             
               CPX        #$0065                                               
               BCC        L01B8                                                 
               RTL                                                             
                                                                               
*--- Run protection
                                                                               
L01C8          PHD                                                             
               LDA        #$0000                                               
               TCD                                                             
               TSX                                                             
               STX        L00443B                                               
               LDX        #$01FE                                               
               TXS                                                             
               SEP        #$30                                                 
               PHB                                                             
               LDA        #$00                                                 
               PHA                                                             
               PLB                                                             
               JSL        $001000       ; Launch                               
               PLB                      ; we return if original                 
               REP        #$30                                                 
               LDX        L00443B                                               
               TXS                                                             
               PLD                                                             
               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: 2949
Localisation: Le Chesnay, France

MessagePosté le: Sam 23 Jan 2016, 16:19    Sujet du message: Répondre en citant

We also have to patch the DRIVER file to correct a bug in getting the addresses of the Sound toolset _GetTableAddress code. The code works in a ROM 01 because the tool is in bank #$FF but this is not guaranteed.

Code:

L07879E  LDA   L078859
         PHA
         _SoundStartUp

* This code is supposed to get the table addresses of the sound tool set
* The code constructs to JSL to two Sound toolset entry points... or it is supposed to do. It considers the data to be in bank #$FF

         LDA   $00      ; SAVE OLD VALUES
         STA   L078823
         LDA   $02
         STA   L078825
         PEA   $0000
         PEA   $0000
         _GetTableAddress
         PLA
         STA   $00
         PLA
         STA   $02

         LDY   #$0000      ; Bouh...
         JSR   L078812
         STA   L078827+1   ; $0030 - 30 00
         LDY   #$0002
         JSR   L078812
         STA   L078827+3   ; $0000 - 00 00
         LDY   #$0004
         JSR   L078812
         STA   L07882C+1   ; $01ED - ED 01
         LDY   #$0006
         JSR   L078812
         STA   L07882C+3   ; $00FF - FF 00
         SEP   #$20
         LDY   #$0005
         LDA   #$22      ; JSL
         STA   L078827
         STA   L078827,Y
         LDA   #$60      ; RTS
         LDY   #$0004
         STA   L078827,Y   ; RTS
         LDY   #$0009
         STA   L078827,Y   ; RTS
         REP   #$20
         LDA   L078823
         STA   $00
         LDA   L078825
         STA   $02
         RTS

L078812  SEP   #$20      ; BANK FF????? - To do the trick: NOP NOP
         LDA   #$FF      ; NOP NOP
         PHA         ; NOP
         PLB         ; NOP
         REP   #$20      ; NOP NOP
         LDA   ($00),Y      ; LDA [$00],Y
         SEP   #$20      ; NOP NOP
         PHK         ; NOP
         PLB         ; NOP
         REP   #$20      ; NOP NOP
         RTS         ; RTS

L078823  DW    $0000
L078825  DW    $0000      ; FF 01  3 <= ROM VERSION

L078827  DB    $00      ; +0 22 22
         DB    $00      ; +1 30 4C
         DB    $00      ; +2 00 0C
         DB    $00      ; +3 00 00
         DB    $00      ; +4 60 60
L07882C  DB    $00      ; +5 22 22
         DB    $00      ; +6 ED 65
         DB    $00      ; +7 01 01
         DB    $00      ; +8 FF 4C
         DB    $00      ; +9 60 60


The bad code is at $8812. We must replace the LDA ($00),Y with a LDA [$00],y and remove all the useless code around it.

See the following Block.Warden viewS of offset $812 of file DRIVER:

Code:

Before the changes:

Block: $0024 (36)       Volume name: SOD             Friday     23-Jan-16  4:17
Prefix: /SOD/                                                                   
Following: DRIVER, Type NON, Rel block 5, Byte $000812                         
(c) Q      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F            Edit mode
1988ZSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    Z 000: 09 00 99 27 88 C2 20 AD 23 88 85 00 AD 25 88 85   ...'.B -#...-%..   
  b Z 010: 02 60>E2 20 A9 FF 48 AB C2 20 B1 00 E2 20 4B AB   .`b )H+B 1.b K+   
B y Z 020: C2 20 60<00 00 00 00 00 00 00 00 00 00 00 00 00   B `.............   
L   Z 030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................   
O G Z 040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................   
C l Z 050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................   
K e Z 060: 00 00 00 00 00 A0 0C 00 A9 FF FF 20 CD 88 A0 28   ..... ..) M. (   
  n Z 070: 00 20 CD 88 A0 2A 00 A9 00 00 20 CD 88 E2 20 A2   . M. *.).. M.b "   
W   Z 080: E1 00 A9 3F 20 2C 88 A0 10 00 8C DF 88 A2 E0 00   a.)? ,. ..._."`.   
A B Z 090: 20 27 88 CE DF 88 D0 F5 A9 20 8D DF 88 A2 40 00    '.N_.Pu) ._."@.   
R r Z 0A0: 8E E1 88 A9 00 20 2C 88 AE E1 88 E8 CE DF 88 D0   .a.). ,..a.hN_.P   
D e Z 0B0: EC A9 20 8D DF 88 A2 A0 00 8E E1 88 A9 03 20 2C   l) ._." ..a.). ,   
E d Z 0C0: 88 AE E1 88 E8 CE DF 88 D0 EC C2 20 60 A2 10 00   ..a.hN_.PlB `"..   
N o Z 0D0: 99 81 81 48 98 18 69 2C 00 A8 68 CA D0 F2 60 00   ...H..i,.(hJPr`.   
  n Z 0E0: 00 00 00 C2 30 8B 4B AB AD 39 87 D0 74 F4 07 00   ...B0.K+-9.Ptt..   
    Z 0F0: F4 FF 95 A2 08 12 22 00 00 E1 E2 20 A2 5C 00 A9   t.".."..ab "\.)   

After the changes:

Block: $0024 (36)       Volume name: SOD             Friday     23-Jan-16  4:18
Prefix: /SOD/                                                                   
Following: DRIVER, Type NON, Rel block 5, Byte $000812                         
(c) Q      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F            Edit mode
1988ZSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    Z 000: 09 00 99 27 88 C2 20 AD 23 88 85 00 AD 25 88 85   ...'.B -#...-%..   
  b Z 010: 02 60>EA EA EA EA EA EA EA EA B7 00 EA EA EA EA   .`jjjjjjjj7.jjjj   
B y Z 020: EA EA 60<00 00 00 00 00 00 00 00 00 00 00 00 00   jj`.............   
L   Z 030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................   
O G Z 040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................   
C l Z 050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................   
K e Z 060: 00 00 00 00 00 A0 0C 00 A9 FF FF 20 CD 88 A0 28   ..... ..) M. (   
  n Z 070: 00 20 CD 88 A0 2A 00 A9 00 00 20 CD 88 E2 20 A2   . M. *.).. M.b "   
W   Z 080: E1 00 A9 3F 20 2C 88 A0 10 00 8C DF 88 A2 E0 00   a.)? ,. ..._."`.   
A B Z 090: 20 27 88 CE DF 88 D0 F5 A9 20 8D DF 88 A2 40 00    '.N_.Pu) ._."@.   
R r Z 0A0: 8E E1 88 A9 00 20 2C 88 AE E1 88 E8 CE DF 88 D0   .a.). ,..a.hN_.P   
D e Z 0B0: EC A9 20 8D DF 88 A2 A0 00 8E E1 88 A9 03 20 2C   l) ._." ..a.). ,   
E d Z 0C0: 88 AE E1 88 E8 CE DF 88 D0 EC C2 20 60 A2 10 00   ..a.hN_.PlB `"..   
N o Z 0D0: 99 81 81 48 98 18 69 2C 00 A8 68 CA D0 F2 60 00   ...H..i,.(hJPr`.   
  n Z 0E0: 00 00 00 C2 30 8B 4B AB AD 39 87 D0 74 F4 07 00   ...B0.K+-9.Ptt..   
    Z 0F0: F4 FF 95 A2 08 12 22 00 00 E1 E2 20 A2 5C 00 A9   t.".."..ab "\.)   



If you do this, then you'll have the game playable on a ROM 3 machine.
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