Rick Dangerous II

Rick
Dangerous II

© Core
Design

 

Vous
aurez besoin de ce qui suit:

 

1.
Le jeu Original ou bien l?IPF

2.
Un Amiga ou WINUAE

3.
Action Replay III ou l?image ROM

4.
DU Papier et UN crayon

5.
Deux disquettes vierges  – vous les trouverez dans votre boutique Amiga
locale la plus proche

6.
L? AR IV – trouvable sur romshare.net

7.
Le Kickstart EN version 2.0

 

Petit
cours avant tout chose sur les commandes de

l?ACTION
REPLAY 3 et 4:

 


A est la commande qui permet d?assembler
une instruction par dessus une autre par exemple.

 

A
700C0 permet d?assembler la ligne 700C0

 


BS est la commande qui permet de mettre
un breakpoint (point d?arrêt)

ex :
BS 72000
l?AR 3 s?activera automatiquement dès que le programme passera sur cette
adresse.

 


F est la commande qui permet de trouver
une chaine héxadécimale

F
veut dire Find (trouver)

ex :
F 48 7A

 


FA veut dire Find Adress (trouver
adresse)

ex :
FA 187A6 permet de trouver l?adresse
187A6

dans
les lignes de code assembleur

 


LM veut dire Load Main (charger
programme principal)

ex :
LM prog, 30000 40000

le
programme sera chargé sur la plage mémoire 30000
à 40000.

 


M permet de voir la mémoire, tel que
vérifier si on a de la place libre sur le bootblock pour y mettre un patch.

ex :
M 50492

 


ROBD (spécifique à l?AR4) permet le
décryptage automatique du système de protection RNC.

 


SM veut dire Save Main (sauver programme
principal)

ex :
SM prog, 30000 40000

Le
programme sera sauvé depuis 30000 jusqu?à
40000.

 


RT veut dire Read track (lire piste)

Cette
commande sert à lire des pistes pour pouvoir les modifier par la suite

ex :
RT 0 24 30000  permet de lire les
pistes demandés à l?adresse 30000.  

 


WT veut dire Write Track (écrire piste)

Cette
commande sert à écrire après une modification du programme quand on a patché
par exemple.

 


X permet de sortir de l?action replay 3

 


BOOTCHK 70000
permet de recalculer le checksum du bootblock quand on l?a modifié.

 

ON PASSE AUX CHOSES SERIEUSES : LE DEPLOMBAGE DU JEU

 


Commencez par faire une copie de la disquette de jeu originale.

 

Vous
remarquerez une erreur sur la piste 0. Donc on va s?occuper d?une protection
sur disquette. Laissez-moi vous surprendre: C?est un copylock?

Quand
la protection plante, elle fout le bazar dans le jeu, alors ça bloque quand
vous essayez de lancer un niveau ou pendant la partie.

 


Commençons par retrouver la clé du copylock :

A)                      
Bootez
la copie du jeu, et entrez dans l?AR quand ça fige.

   
B) Cherchez le ou les copylocks:

 

    F 48 7A

 

L?
AR renvoie neuf adresses? Il y a trois copylocks identiques dans ce jeu et un
quatrième plutôt bizarre. Il est d?une très petite taille et n?est pas utilisé,
ou peut-être qu?il passe des données aux autres routines copylock. 

 

 

Prenez
un des copylocks à sauver.

 


Désassemblez par exemple l?adresse 10084,
maintenez la touche enter appuyée et relachez là quand du code non-encrypté
apparait.

 

De
cette façon, vous obtenez l?adresse de début et de fin du copylock.

 


Insérez une disquette vierge et sauvez le copylock:

 
SM COPYLOCK,10084
10972
.

 


Lancez l? AR IV et activez la avec le bouton droit de la souris.


Chargez dedans le copylock sauvé, démarrant à l?adresse 50000:

 
LM COPYLOCK,50000

 

 


Activez le décrypteur RNC – intégré:

 

  
ROBD

 


Désassemblez l?adresse 50000 et stoppez
quand la « seconde » partie du copylock apparait:

 

 

Cette
partie nous pose des problèmes, étant donné qu?elle vidange la clé copylock du
registre de donnée D0 alors on ne peut pas la lire, lorsque le copylock a été
lancé.

 

La
routine démarre à l?adresse 50818, alors :

 


insérons un ? BRA 50818 ? ici, ainsi le
registre D0 ne sera pas vidangé.

 


Tapez M 50818
et prenez note du premier mot long d?opcodes, car on les utilisera plus tard
pour trouver à nouveau le copylock.

 


Assemblez la ligne 50818 et insérez un ? BRA 50818
?. Quand c?est fait, tapez M 50818 et regardez les opcodes pour notre nouvelle
instruction.

 

Les
quatres premiers opcodes ont changé, prenez ça en note. Les opcodes montrées
sont déjà encryptées, alors que l?on est en mode ROBD.

 

Les
encryptages marchent par XOR, le mode ROBD
montre le code decrypte, donc lorsque l?on insère du code normal, il apparaitra
comme étant encrypté.

 


Bootez le jeu original et entrez dans l?AR quand le copylock est exécuté.

 

Soit
vous écoutez le bruit grinçant du lecteur ou quand le compteur de piste va sur 0 dans WINUAE.

 


Cherchez le long word que vous avez pris en note :

 

  
F 26 3E 25 F0.

 

L?
AR retourne trois adresses.

 

D?ou
nos trois copylocks?

 


Regardez les opcodes pour la première adresse avec :

 
M 1089C
+ entrée. 

 


Insérez les nouveaux opcodes, et n?oubliez pas d?appuyer sur entrée quand c?est
fait.

 


Quittez l?AR et attendez quelques secondes pour que le jeu se fige.

 

 

– Entrez dans l?AR et tapez R et entrée
pour voir les registres.

Voilà, la clé copylock (A3EF1306) est dans le registre de données D0. Armé de la clé, entrez dans l?AR IV à nouveau et
chargez le copylock sauvegardé:

 

LM COPYLOCK,50000

– Activez le décrypteur RNC:

 

ROBD.

 

– Désassemblez l?adresse 50000 et arrêtez-vous quand ceci apparait:

 

 

L?adresse
5042A est celle qui nous intéresse. Ce
code apparait dans la majorité des copylocks et c?est là que nous allons cabler
la clé copylock.

 

De
cette façon, il y a plus chance que le déplombage soit un crack 100%, étant
donné que les ? trucs dégueulasses ? seront exécutés de cette façon.

 

Ces
trucs de sagouin sont souvent exécutés à la fin du copylock.

 

Quand
on a fait ça, il n?y a plus besoin que la partie qui concerne l?accès disk soit
exécutée, alors on peut brancher (BRA) après cette partie.

 


Continuez de désassembler quelques lignes plus loin. Vous remarquerez un BRA à
l?adresse 50474, ce BRA appparait
également dans la plupart des copylocks, et il branche vers ? la seconde ? partie
du copylock, comme on l?a dit un peu avant. Nous pouvons soit brancher directement
vers

50818, ou vers 50474, ça ne
fait aucune différence.

Aujourd?hui,
choisissons 50818.

 

 

Nous
souhaitons altérer les opcodes en 5042A, mais
avant on doit prendre en note les opcodes existants. Celles-ci peuvent être
alors utilisées, pour trouver les opcodes sur la disquette.

 


Pour voir les opcodes faire :M 5042A.

 

-Assemblez
l?adresse 5042A et insérez le code que
vous voyez dans l?image ci-dessous. On ne fait ça que pour voir les nouvelles opcodes.

 


Tapez M 5042A
pour voir les nouvelles opcodes ENCRYPTEES?

On
est toujours en mode ROBD, ce qui fait
que le code normal apparait sous forme de code encrypté.

 

 

J?ai
marqué les nouveaux opcodes souligné en rouge dans l?image ci-dessus.

 


L?étape suivante est de remplacer les anciennes opcodes avec les toutes
nouvelles.

Les
Copylocks sont situés entre les pistes 18 et 22, lisez-les en mémoire, en
démarrant à l?adresse 30000:

RT 24 A 30000.

 

 


Cherchez les opcodes dont vous avez pris note un peu plus tôt, démarrant à l?adresse
30000:

 

F
A8 B2 C7 85, 30000

 

L?
AR retourne trois adresses.

 


Insérez les nouveaux opcodes aux trois adresses et n?oubliez pas d?appuyez sur
entrée après chaque modification.

 

 


Sauvegardez les pistes en les réécrivant:

 

WT 24 A 30000

 

 


Testez votre nouveau déplombage.

 

 

ET SI ON LUI METTAIT UN TRAINER A CE PUTAIN DE JEU ?

 

Ca
serait-y pas super drôle si on avait les vies, bombes et tirs illimités ?

 

Si
vous pensez que oui, alors continuez de lire 🙂

 


Démarrer le jeu et ne faites rien ! Vous avez 6
vies au départ.

 


Entrez dans l?AR et lancez le mode TRAINER:

 

 
TS 6

 

 


Sortez de l?AR et perdez UNE vie.

 


Entrez dans l?AR à nouveau et tapez:

 

 
? T 5
?, pour continuer le mode trainer.

 

Vous
aurez l?
adresse
178AF.

 


Quittez le mode trainer avec ? TX ?.

 


Lancer à nouveau le mode trainer avec ? TS
6 ? et tirez UNE balle.

 


Entrez dans l?AR et tapez ? T 5 ?.

 

 

Continuez
de cette façon et faites de même avec les bombes. Vous finirez avec ces adresses:

 

Vie:
178AF / 178AE

Balles:
17893 / 17892

Bombes:
178A1 / 178A0

 

Ces
adresses ont l?air un peu bizarre, je ne plaisante pas là. Retirez 1 de toutes
les trois adresses, et vous obtiendrez les nombres dans la seconde colonne.

 

Voyons
voir ce que fait le jeu avec ces adresses.

 


Commencez avec les vies
:

 

  
FA 178AE

 

L?AR
retourne six adresses.

 

L?adresses
13C22 a l?air intéressante, étant donné
qu?elle soustrait 1 de l?adresse de
comptage 178AE.

 

On
peut changer l?instruction ? SUBI.W #1,178AE ? en

?
SUBI.W #0,178AE
?.
Le
jeu soustraira alors 0 du compteur de
vies, chaque fois que vous perdrez une vie, d?ou les vies illimitées !

 

 

Jettez
un coup d?oeil à l?instruction avec M 13C22.

Celà
vous montrera les opcodes.

Si
vous ajoutez un long word (4) à l?adresse, vous obtiendrez 13C26.

 

Regardez
les opcodes avec M 13C26.

VOUS
Voyez le ? 01 ?, marqué en rouge ?

 

C?est
le ? 1 ? dans l?instruction ? SUBI.W ?. Si on crée un petit patch, qui  fait
un ? MOVE.W #0,13C26
?, l?instruction sera changée en ? SUBI.W
#0,178AE ?.

 

Suivez
les instructions ci-dessous pour les balles et les Bombes. Vous terminerez avec
ces trois adresses:

 

Vie:
13C26

Balles:
13F14

Bombes:
13B38

 

Trouvons
un moyen, pour patcher ces adresses, avant que le jeu ne démarre.

 


Bootez le jeu et entrez dans l?AR quand il commence à charger.

 


Tapez ? D ? pour désassembler la mémoire
actuelle. On dirait que nous sommes dans le secteur 70000
de la mémoire.

 


Essayez de désassembler à l?adresse 70000
et frappez entrée un certain nombre de fois.

 

 

On
a un ? JMP 10000
? à l?adresse 70024.

 


Collez un breakpoint à cette adresse et sortez de l?AR:

 

BS 70024

 


Quand le jeu atteint l?adresse, l?AR jaillira à l?écran. Quand ça se produit, essayez
de désassembler les adresses qui retirent # 1
à l?adresse de comptage.

 

 

Toutes
les adresses semblent être chargées maintenant.

 

Détournons
ce saut (JMP) et faisons le sautez à la
place à l?adresse 100.

 

On
va alors mettre une petite routine trainer à l?adresse 100.

 


Le ? JMP  10000 ? est situé sur la piste 1, lisez-là en mémoire, en démarrant à l?adresse 30000:

 

RT 2 2 30000

 


Trouvez le
JMP:

 

FA 10000 30000

 

L?AR
retourne l?adresse 30078.

 


Assemblez cette adresse et insérez un ? JMP
100 ?

 

 


Sauvegardez la piste sur la disquette:

 

WT 2 2 30000

 


Etape suivante, il faut trouvez un endroit sur la disquette pour notre trainer
et un moyen de le déplacer à l?adresse 100.

 


Commencez par lire le boot block en mémoire, en commencant par l?adresse 70000:

 

   
RT 0 1 70000

 

Observez
la mémoire avec :

 

N 70000 + frappez entrée un
certain nombre de fois.

 

 

Il
y a plein d?octets libres. Assemblez 70100
et codez le trainer:

 

 

Désassemblez
le début du boot code pour déterminer comment déplacer notre trainer en mémoire:

 

 

7005C saute (jmp) dans le code,
que le boot block charge en mémoire.

 


On va changer ça en ? BRA 700C0 ? et mettre une petite routine de copie en 700C0, qui mettra notre trainer en mémoire.

 


Regardez l?image ci-dessous.

 


Assemblez 700C0 et codez cette petite
routine, qui mettra notre patch du boot block à l?adresse 100:

 

Ce
code, déplacera le contenu du boot block depuis l?offset 0 et 0 en quantité
de donnée en mémoire, en démarrant à l?adresse 100.
En d?autres mots, il déplace notre trainer à l?adresse 100.

 

 


Quand c?est fait, corrigez le checksum du boot block:

 

BOOTCHK 70000

 


Sauvegardez le boot block sur disquette une fois recalculé:

 

WT 0 1 70000

 

Lorsque
vous lancez le jeu, il charge pendant un moment et un écran bleu apparait. Appuyez
sur le bouton gauche de la souris pour le mode trainer ou celui de droite pour
le mode normal.

 

 

UN
IMMENSE MERCI A ROB DE FLASHTRO POUR

M?AVOIR
PERMIS DE TRADUIRE SES TUTOS EN

FRANCAIS.

 

En
espérant que ça permettra à ceux qui sont intéressés de comprendre comment
patcher un

copylock.

 

Pas
d?inquiétude pour le fait de retirer le copylock,

puisque
ROB NORTHEN A DONNE A LA COMMUNAUTE LES

« OUTILS
COPYLOCK » et c?est du vieux, et qu?en plus

ça
empêche de passer les jeux en émulation et aussi de les préserver au cas
où !

 

FLASHTRO
FRENCH DIVISION.


Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
DLFRSILVER
16 years ago

thanks everyone 😀

boot
16 years ago

Yes, that’s nice !!

stu
stu
16 years ago

wee wee its hard enough to crack let alone learn french to learn how to crack 🙂

DLFRSILVER
16 years ago

Yay i have cheers Rob for allowing me to translate his tutos in french.

Thanks Pal !

zebpro: Cette police est tr?s bien, elle permet de voir avec claret? comme craquer
proprement le jeu ! Les couleurs aussi sont la pour rendre les choses plus claires.

musashi9: Thanks for the french beret on rick’s head ahahaha 😀

aLpHa oNe
16 years ago

I understood some words… bla bla bla copylock bla bla rob northen bla bla action replay bla. 😉

Zebpro
16 years ago

Ouais merci Monsieur !!! :p

C’est moins fatigant ? comprendre, mais la taille de la police est un peu abus?e par contre !! 😀

Rob
Rob
16 years ago

I don’t understand much it, but i’am sure its great 🙂

bLAZER
16 years ago

If you can’t understand English you probably can’t crack or code 😀

proton
proton
16 years ago

Oh dear.:no

Flasher
Flasher
16 years ago

Excuse-moi?

0
Would love your thoughts, please comment.x
()
x