Disk : Gdf14_2.dsk
"-" files are DELETED files | "*" files are LOCKED files
----------------------------------------------------------------------
A A$0000 (000000) L$004F (000079) 002 LECTEUR
T A$0000 (000000) L$0A00 (002560) 010 NW.HACKER II
T A$0000 (000000) L$1300 (004864) 019 NW.MURDER ON THE MISSISSIPPI
T A$0000 (000000) L$0800 (002048) 008 NW.LITTLE PEOPLE COMPUTER
T A$0000 (000000) L$0500 (001280) 005 NW.GARRY KITCHEN GAMEMAKER
T A$0000 (000000) L$1800 (006144) 024 NW.SHANGAI
T A$0000 (000000) L$5500 (021760) 085 T.COURS 14.2 REVISION 1.00
B A$8000 (032768) L$03FF (001023) 006 VERIF.ACTIVISION
B A$0901 (002305) L$15BA (005562) 023 VERIF.ACTIVISION.S
-B A$01FF (000511) L$27A5 (010149) 080 ACTIVISION CRACKER
1.22.S I
-B A$01FF (000511) L$27A5 (010149) 016 ACTIVISION CRACKER
1.22 D
A A$0000 (000000) L$002C (000044) 002 HELLO
B A$0901 (002305) L$4F34 (020276) 081 ACTIVISION CRACKER
1.23.S
B A$8000 (032768) L$0E12 (003602) 016 ACTIVISION CRACKER 1.23
B A$0901 (002305) L$50E0 (020704) 084 ACTIVISION CRACKER 1.31.S
B A$8000 (032768) L$0E9C (003740) 016 ACTIVISION CRACKER 1.31
This catalog contains 16 files. 2 were DELETED.
----------------------------------------------------------------------
DOS 3.3 |
Download Cours GDF 14.2 rev 1.00 (gzipped) |
===============================================================================
COURS 14.2 : TOUT SUR LA NOUVELLE PROTECTION
ACTIVISION
Godfather
===============================================================================
Update : 11 mai
1988
Révision 1.00
Salut et salut,
Ra - pi - dooo..
Voici sans plus attendre et tout de suite si vous me le permettez le
cours de
déplombage traitant de la dernière protection
d'activision dans le domaine des
logiciels grand public Apple de jeu et tout et tout et encore plus.
Faut que j'arrete de me mettre à parler et écrire comme
antoine de Caunes
car rapido rapido on en oublie la moitié.. Enfin en
attendant et pour vous
faire patienter avant la suite voici le menu principal de ce cours
monumental
s'il en est..
===============================================================================
1. Les originaux de ce cours
2. Les premiers indices
3. Retrouver la vérification du disk original
4. Etude de cette vérification
5. Annuler la vérification
6. Retrouver la protection en catalog 3.3
7. Deux évolutions de la vérification
8. Cette protection dans les divers originaux proposé
9. Déplombages automatique activision 2 !!..
===============================================================================
1. LES ORIGINAUX DE CE COURS
===============================================================================
Foule d'originaux avec ce cours, dont voici tout de suite la liste
complete :
- Garry Kitchen Gamemaker
- Shangai
- Great American Cross
Contry Road Race
- Master of the Lamps
- Hacker II
- Murder on the Mississippi
Et ce n'est sans doute pas les seuls : il en viendra d'autres !!!
Si vous ne les avez pas tous en copie n'hésitez pas à me
sauter dessus et à me
les arracher d'un coup d'un seul. ils sont à vous , ils sont
pour vous , il n'y
a qu'à me les demander (enveloppe timbré siouplait..,
sinon couick!).
Pour ce cours, je vais appliquer tous les aspects pratiques à
"Garry Kitchen".
Allez préparez votre copie d'original. (copie locksmith 6.0 fdb).
===============================================================================
2. LES PREMIERS INDICES
===============================================================================
La première chose à faire quand on vous présente
un original , vous vous en
souvenez sans doute , est de booter un locksmith rapide et de juger du
format
de cet original. Si le 6.0 rapide (que je nommerais dés à
présent 6.0 fdb
pour fast_disk_backup, si vous me le permettez) arrive à lire
votre original
(points à l'écran) alors - ma foi - le format du disk
original est 3.3,
et la déprotection ne devra pas s'axer au départ sur une
conversion de format
mais plutot sur la détection de ce qui ne marche pas dans la
copie locksmith
de votre original...(et si votre copie , par le plus grand des hasards ,
bootait , et fonctionnait - meme et surtout à la longue - comme
l'original ,
ma foi , et bien c'est que l'original n'était pas plombé
! ).
Je résume : cette protection n'est pas une protection format.
(c'est quand meme plus clair comme ca...)
Suite logique donc : on fait une copie du disk original au locksmith
rapide
et on boot la copie. Pour ce faire, j'ai pris une copie de
Garry Kitchen Gamemaker... et elle re-boote aussitot après le
boot. Il y a
donc une vérif juste au moment du boot qui vérifie
quelque chose qui n'est
plus sur la copie (mais qui est bien sur, sur l'original) et qui - ne
trouvant
pas ce quelque chose sur la copie - plante. (plus rien ne se passe!)
(je n'ai jamais été aussi clair..)
Que faire donc avec ce fameux garry ?.. : boot tracer bien sur.
(vérif au boot = boot tracing , rappellez vous le cours 10 ,
10.2...).
===============================================================================
3. RETROUVER LA VERIFICATION DU DISK ORIGINAL (sur une copie de
Gamemaker)
===============================================================================
Garry Kitchen Gamemaker
-----------------------
Le boot de ce disk , et sa rwts , sont de classiques boot et rwts 3.3.
On le boot-trace donc comme tout disk 3.3 :
16F8 - LDA #$4C ; Au
lieu d'un JMP ($08FD) = JMP $B700
STA $084A
LDA #$10
STA $084B
LDA #$17
STA $084C
JMP $0801
1710 - LDA #$4C ; Au
lieu d'un JMP $8000
STA $B741
LDA #$59
STA $B742
LDA #$FF
STA $B743
JMP $B700
On tombe donc sur une routine en $8000. Je vais essayer de vous en
décortiquer
le principal plus loin.
Shangai
-------
Un des programmes appelé en premier au boot du disk sous dos 3.3
est le fichier
binaire SHANG. En $9545, on y remarque un appel à la rwts 3.3
(JSR $B7B5)
En détournant le programme à cet endroit, on retrouve
l'adresse de la table iob
(A = Hi.Adr , Y = Lo.Adr _ cf cours 3 à ce sujet) qu'on trouve
située en $9705.
Elle nous indique un déplacement de bras sur la piste $00. Les
nibbles lus
pour la vérification se situent donc sur cette piste.
Plus loin, commence la vérification, reconaissable bien sur
à ces LDY $C08C,X
BPL *-3 caractéristiques d'une lecture de nibbles sur le disk de
$9551 à $959A.
C'est bien la vérification du disk original.
===============================================================================
Garry Kitchen - Vérif en
$8000 - Boot 3.3 accès
direct
Shangai - Vérif
en $---- - Dos 3.3
accès catalog
===============================================================================
4. ETUDE DE CETTE VERIFICATION
===============================================================================
Ce que vérifie cette routine
----------------------------------
Le disk parait copiable au locksmith fdb (lisible tout au moins) mais
plante
après la vérification ci-dessous. En étudiant la
piste $00 avec un nibble
editor (nibbles away II, copy enfoires), on remarque avant la synchro du
champ adresse du secteur physique 1 (voir cours 6 pour plus de
détails) ,
une suite tout a fait caractéristique de nibbles 32 et 40 cycles.
Parmi eux, la suite :
Nibbles : FB FF FF FF
FF FF FF..
Nbr. Cycles : 40 32 40 32 40 40 40..
C'EST LA SUITE VERIFIEE!
Aucun copieur n'arrive à recopier cette suite car il n'arrive
pas à analyser
cette suite pour voir si tel ou tel nibble est un nibble 32c d'une
certaine
valeur, ou un nibble 40c d'une certaine autre valeur.. alors il prend
tout
uniformement. et ca ne donne pas le bon résultat.. comprendo ??
En attendant, voici le listing de la vérification,
commenté à mort.
(source complet sous merlin pro, en catalog sur ce disk).
Je continue mes explications sur cette vérif juste après..
Le listing de la vérification
-----------------------------------
ET VOILA LE DECORTICAGE DE LA VERIF, DANS LA JOIE:
9551- LDA $C089,X ; Allume drive (
X = #$60)
LDA
#$56 ;
entrée avec $FC:00, $FD:56
STA
$FD ;
9558- LDA #$08 ;
Pour le résultat de la vérif, si elle est négative
; et surtout, pour le comptage par décalages (cf + bas)
DEC
$FC ;
Nombre d'essais.
BNE
$9562 ;
DEC
$FD ;
Nombre d'essais.
BEQ
$9596 ; Sortie avec
A=$08 (ECHEC!)
9562- LDY $C08C,X ; Lecture d'un
nibble sur le disk
BPL
$9562 ;
CPY
#$FB ; est-ce un
#$FB ?
BNE
$9558 ; non. on
recommence.
BEQ
$956D ; (inutile : for
timing only!)
956D-
NOP
; on va vérifier la série de FF en 32 et 40 cycles.
NOP
;
LDY
$C08C,X ; check latch
CPY
#$08 ; si
supérieur à 8, C=1
ROL
; on avait A=08=00001000, rotation à gauche avec C
BCS
$9582 ; si le 1 sort (5
passages)
9577- LDY $C08C,X ; Lecture d'un
nibble $FF
BPL $9577
CPY #$FF
BNE
$9558 ; raté
BEQ
$956D ; on lit 5 fois..
9582- LDY $C08C,X ; Lit encore un
nibble (c'est encore un $FF)
BPL $9582
STY
$FC ;
Stocke ce nibble en $FC
9589- CMP #$0A ;
Si après 5 ROL, on a : A=00001010 (cf + bas)
BNE
$9558 ; Erreur fatale
958D- LDA $C08C,X ; Lit encore un
nibble (c'est encore un $FF)
BPL
$958D ;
SEC
; (Ne sert à rien,
ROL
; car A=$FF)
AND
$FC ; $FC
était à FF alors..
9596- EOR #$AA ;
on obtient #$55!
9598- STA $95C0 ; et on
est heu-reux!
Ce que vérifie cette routine (suite et fin)
-------------------------------------------------
1) Lecture d'un $FB
2) Regarde le Latch :
Il est < 08 si le nibble précédent est en
40 cycles (-> C=0)
Il est >=08 si le nibble précédent est en
32 cycles (-> C=1)
Ceci à cause des 2 bits 0 supplémentaires en
40c, of course.
3) ROL sur A, qui a l'origine est 00001000.
Si 40c, il rentre un 0.
Si 32c, il rentre un 1.
4) Lecture d'un $FF
5) Retrour en (2), jusqu'à ce que le 1 sorte (5 décalages)
6) Lecture d'un $FF
7) Vérifie que A est bon.
8) Lecture d'un $FF
9) EOR pour trouver $55
et elle le met dans sa culotte avant de s'arracher la tete.. c'est un
original!
________________________________________________________________
!
!
! Ce qui se passe donc
:
!
!
!
! Le nib.$FB est en 40c -> 0
->
A=00010000
!
! Le 1er $FF est en 32c -> 1
->
A=00100001
!
! Le 2nd $FF est en 40c -> 0
->
A=01000010
!
! Le 3em $FF est en 32c -> 1
->
A=10000101
!
! Le 4em $FF est en 40c -> 0
-> A=00001010=$0A ET C=1, ON SORT! !
!________________________________________________________________!
Et on a bien le A=$0A vérifié en $9589!
===============================================================================
5. ANNULATION DE CETTE VERIFICATION
===============================================================================
La valeur résultat "ok, c'est l'original" est de #$55 et doit se
trouver dans
une adresse donnée qui peut varier selon les originaux.
Il suffit, pour annuler cette vérification, de retrouver son
tout début, et
de le modifier par un LDA #$55 STA Adresse RTS. Pour cela, il faut
retrouver
l'adresse "résultat". Dans la vérif ci-dessus, aucun
probleme, on voit bien que
c'est l'adresse $95C0 (shangai).
Pour retrouver cette adr. dans un autre original à la
vérif relogée ailleurs,
il suffit de rechercher les octets de fin de cette vérif ( AND
#$FC EOR #$AA
soit en hexadecimal .. .. 49 AA ). Le STA Adr qui suit vous donne
l'adresse
"résultat" que vous devez retenir. Ensuite, il faut retrouver le
début de
la vérification en recherchant cette fois les octets de
début ( LDA $C089,X
LDA #$56 soit en hexadecimal BD 89 C0 A9 56 )... et remplacez ces
octets par
un LDA #$55 STA Adr RTS.
Rien de plus simple.. non ?
Si vous n'avez pas compris, reportez vous vite à votre plume
pour me demander
plus d'explications que ma foi je ne juge pas necessaire ici (
après 14 cours )
mais que je vous donnerais par courrier si vs le désirez..
ou alors - plus simple - reportez vous au déplombeur automatique
( on en
parle plus loin, ok ? ).
Il convient de faire la recherche de cette vérif non pas en
mémoire, mais sur
le disk.. mais attention! sur une copie, car vous allez etre
amené à la
modifier! alors n'écrivez pas sur votre original, il doit rester
INTACT !.
===============================================================================
6. DISK EN CATALOG 3.3
===============================================================================
La protection (sous-entendu la vérification de la protection)
n'est pas,
comme pour la protection epyx par exemple (c10), chargée en
accès direct du
disk. dumoins pas toujours...
Bien souvent par exemple, le jeu concerné est en catalog et la
verif aussi (!).
bien qu'aucune des originaux (à une exception près :
murder on the mississippi)
ne boote sous dos 3.3 avec un prompt (]).
Voilà où je veux en venir. Il faut, pour annuler la
vérification, comme
je viens de le dire, trouver le début et le brancher sur la fin
de la vérif...
vous me suivez ?.. seulement, le probleme c'est qu'étant
chargé sous forme
de programme en catalog 3.3, le début peut se trouver en piste
$22 0C et la fin
en piste $09 0A par exemple..
Pour les disks en catalog, il vaut mieux donc rechercher la
vérif de la manière
suivante :
* COPY II+ 5.x , utilisez
l'option du SECTOR EDITOR , "S" pour SCAN
et recherchez en
Hexa , les octets du début de la vérification ,
c'est à
dire : BD 89 C0 A9 56 par exemple. On suppose que vous les
localisiez en
piste $22 0C comme dans mon exemple ci-dessus...
* COPY II+ 5.x , utilisez
l'option FILES DISK MAP , et retrouvez le
secteur $22 0C.
Il doit y avoir un caractère à cet endroit de la map
si la
vérif est bien contenue dans un des fichiers apparaissant au
catalog. notez
ce caractère.
* COPY II+ 5.x , refaitez
FILES DISK MAP et recherchez dans le
catalog
affiché (de votre copie) le caractère devant les noms des
fichiers, que
vous aviez peu avant en $22 0C. Le nom du fichier qui
suit ce
caractère est le fichier où se trouve la vérif.
* COPY II+ 5.x , utilisez
CATALOG puis FILE LENGHTS. Vous trouvez
ainsi l'adresse
de départ du fichier où se trouve la vérifcation.
* DOS 3.3 , bloadez le
fichier en question.. et commencez à le lister
depuis son
adresse de départ.. le but du jeu : retrouver la vérif
en
mémoire dans ce fichier pour l'annuler. Bien sur, vous pouvez
utiliser un
scanner d'octets ram pour cela (voir cours 8 par ex.).
Une fois retrouvée, la vérif doit etre annulée en
ram.
Pour resauver le programme, il suffit de faire un BSAVE (nom
prg),A$....,L$....
puisque l'option catalog file lenghts du copy II+ vous aura
donné la valeur
de A$, et de L$ pour ce fichier.. aucun probleme..
Pour plus de détails, regardez les déplombages à
la fin de ce fichier,
c'est ce que nous avons fait pour Shangai par exemple...
A cause de ce probleme (secteurs peut-etre éparpillés de
par le disk, vérif
découpée en deux..) le cracker automatique activision
1.23 n'est pas complete-
ment infaillible !.. mais que voulez vous...?
===============================================================================
7. DEUX EVOLUTIONS DANS CETTE PROTECTION
===============================================================================
Attention! on a relevé deux générations de
protections sous ce plombage
activision... il n'y a pas de différence folle, mais
différence tout de meme.
En général, la vérif se termine de la
manière suivante :
Protection v1.00
----------------------
LDA $C08C,X
BPL *-3
SEC
ROL
AND $FC
EOR #$AA
STA Adresse_Result. ...et cette adr,
vérifiée par la suite dans le jeu,
contient alors la valeur #$55.
Mais une deuxieme génération est apparue. En fait , je ne
suis pas en mesure
de vous affirmer qui a commencé.. La deuxieme avant la
première ou la première
avant la deuxieme, mais enfin, bon.. messieurs.. enfin, bon.. quand
meme..
un peu de calme.
La deuxieme donc, se termine ainsi :
Protection v2.00
----------------------
LDA $C08C,X
BPL *-3
SEC
ROL
AND $FC
STA Adresse_Result. ...et cette adr contient
alors #$FF.
Il manque juste le EOR #$AA qui transformait #$FF en #$55. Comprendo ?
Mais c'est très important, car, si Adr.Result contient #$55 au
lieu de #$FF
ou vice-versa.. ca déplombe rien. Moralité : Il faut
regarder aussi la fin
de la vérification. et en tenir compte :
1. Pour le jmp à la
fin de la vérif (elle est deux octets plus
courte que
la précédente, puisque le EOR #$AA est absent)...
2. Pour la valeur a mettre
dans l'adresse résultat. (#$55 ou #$FF).
A vous de lister toute la vérif en mémoire ou sur disk ,
dés que vous aurez
localisé les octets du début de cette vérif.
===============================================================================
8. CETTE PROTECTION DANS LES DIVERS ORIGINAUX ACTIVISION PROPOSES
===============================================================================
Ce diagnostic a été établit par le
déplombeur automatique activision, dont je
vais vous parler plus loin...
______________________________________
_____________________________________
!
!!
!
!
Hacker
!! Hacker
II
!
!
______
!!
_________
!
!
!!
______________ !
! Adresse ORG$ =
$5E6D
!! Adresse ORG$ =
!
! !
! Adresse Résultat =
$5E18
!! Adresse Résultat = ! PAS ENCORE ! !
! Plombage version =
#$55
!! Plombage version =
!
! !
!
Piste
=
$1C
!!
Piste
= ! DISPONIBLE ! ! !
! Secteur =
$04
!! Secteur =
!______________! !
!
Octet
=
$71
!!
Octet
=
!
! Fichier catalog =
HACKB
!! Fichier catalog
=
!
!______________________________________!!_____________________________________!
______________________________________
_____________________________________
!
!!
!
!
Labyrinth
!! Master of the
Lamps
!
!
_________
!!
___________________
!
!
!!
!
! Adresse ORG$ =
$08B9
!! Adresse ORG$ =
$A125
!
! Adresse Résultat =
$0925
!! Adresse Résultat =
$A0DC
!
! Plombage version =
#$55
!! Plombage version =
#$FF
!
!
Piste
=
$22
!!
Piste
=
$00
!
! Secteur =
$03
!! Secteur =
$0B
!
!
Octet
=
$BD
!!
Octet
=
$25
!
! Fichier Catalog =
BOOT2
!!
Disk
= Accès direct !
!______________________________________!!_____________________________________!
______________________________________
_____________________________________
!
!!
!
! Great American Cross Country R.Race !!
Shangai
!
! ___________________________________ !!
_______
!
!
!!
!
! Adresse ORG$ =
$A0BF
!! Adresse ORG$ =
$9551
!
! Adresse Résultat =
$A070
!! Adresse Résultat =
$95C0
!
! Plombage version =
#$FF
!! Plombage version =
#$55
!
!
Piste
=
$00
!!
Piste
=
$05
!
! Secteur =
$0A
!! Secteur =
$05
!
!
Octet
=
$BF
!!
Octet
=
$55
!
!
Disk
= Accès direct !! Fichier
catalog =
SHANG
!
!______________________________________!!_____________________________________!
______________________________________
_____________________________________
!
!!
!
! Garry Kithen
Gamemaker
!! Top Fuel
Eliminator
!
!
______________________
!!
___________________
!
!
!!
!
! Adresse ORG$ =
$8051
!! Adresse ORG$ =
$6168
!
! Adresse Résultat =
$80F3
!! Adresse Résultat =
$30D4
!
! Plombage version =
#$55
!! Plombage version =
#$55
!
!
Piste
=
$21
!!
Piste
=
$16
!
! Secteur =
$05
!! Secteur =
$0E
!
!
Octet
=
$51
!!
Octet
=
$6C
!
!
Disk
= Accès direct !! Fichier
catalog =
B
!
!______________________________________!!_____________________________________!
Je sais qu'il en manque encore un ou deux.. mais je n'arrive plus
à me rappeler
des titres.. m'enfin..bon.
===============================================================================
9. LE DEPLOMBAGE AUTOMATIQUE.. POUR LES FAINEANTS
===============================================================================
_______________________________________________________________________________
CRACK GARRY KITCHEN GAME MAKER
(ACTIVISION)
GODFATHER + KRISTO
_______________________________________________________________________________
LE DEPGE QU'ON VOUS FILAIT DANS DEP 4 AVAIT BEAU ETRE TRES BIDOUILLEUX,
L'OPTION POUR CREER UN DISK DECONNAIT: ON L'AVAIT MIS EN FBOOT,
UTILISANT LA
PISTE 0, OR LORSQUE LE PROG CREE UN DISK, IL Y COPIE UNE PARTIE DE LA
P.0 DE
GAME MAKER.
VOILA UN DEPLOMBAGE QU'IL EST BEAU, PLUS QUE LE SIDA DE LE LURON EN
TOUS CAS:
SUR UNE COPIE LOCKSMITH:
P.$21 S.$5 A.$5C:D0 38 (D0 04)
A.$96:A9
55 (49 AA)
LA VERIF UTILISEE EST LA MEME QUE CELLE DE SHANGAI, JE LA DECORTIQUE
DANS
LE FICHIER DU MEME NOM.
ARRIVEDERCCI.
_______________________________________________________________________________
_______________________________________________________________________________
CRACK OF HACKER
II <C> 86
ACTIVISION >K< CAPTAIN CRACK
_______________________________________________________________________________
Encore un soft qui tombe sous les coups feroces du deplombeux
acharné et sans
pitie...Ecrasant une larme,je vous livre ici le recit de ce combat
(taratata !)
La protection est bizarre...le jeu se copie facilement au locksmith FDB
et il
boote tranquillement mais au moment crucial ou vont apparaitre les 4
ecrans
de controle de votre ordinateur, une page texte pleine de 'à'
apparait et le
jeu plante...De plus l'original est cataloguable en DOS 3.3,ce qui veut
dire
que la protection est un nibble count..(enfin pas a tous les
coups...mais moi
je le sais parce que j'ai lu le fichier en entier !!!)
En boot-traçant le programme de boot,qui commence en $6000,on
s'apercoit en
remplaçant l'original par la copie pendant plusieurs essais que
la verif se
passe en $6378 (En changeant le disk apres, meme la copie marche
impeccable).
Or en NOP-ant le JSR $6378, le programme se plante quand meme. Deux
solutions
se presentent alors: soit le programme verifie la presence du JSR,soit
la
verification decode une partie du programme necessaire ensuite. C'est
la 2eme
la bonne..En suivant cette routine de pres, on voit qu'elle remplit
d'apres les
donnees lues sur la piste protegee du disk les octets de $6435 à
$6442
qui sont ensuite tripotes pour remplir les octets $01 à
$03 .Il ne reste plus
qu'a trouver les valeurs des octets $01 à $03 en bootant
l'original et a
patcher la copie...ce qui se traduit par:
]BLOAD HACKER II HELLO Hacker 2
dans le drive (Sans blague?)
]CALL-151
*6448:A9 B8 EA ; octet en $01 quand on boote l'original
*6451:A9 FE EA ; octet en
$02 "
*6459:A9 2F EA ; octet en
$03 "
*3D0G
]BSAVE HACKER II HELLO,A$6000,L$589
_______________________________________________________________________________
J'EN PROFITE POUR DIRE BONJOUR A TOUS LES DEPLOMBEUX APPLEUX QUI ME
LISENT - CC
_______________________________________________________________________________
_______________________________________________________________________________
CRACKING LPC <K> LOT
<FICHIER> LES BRIGADES D'OEUVRES OBSCURES + DIGITAL X
_______________________________________________________________________________
NOTE : JE N'AI PAS DEPLOMBE LPC . POSSEDANT UN ORIGINAL , LE L'AI
COMPARE AVEC
UNE COPIE PIRATE <K> BY LOT.
VOILA LE RESULTAT DE MES RECHERCHES :
- 1 BOUTEILLE DE MALIBU EN MOINS
- 2 PAQUETS DE MARLBORO VIDES
ET POUR CE SPEUDO NIBBLE-COUNT :
- PISTE 0 , SECTEUR A :
CHANGER OCTET 88 : D0 ED F0 00 --> EA EA EA EA
94 : B0 0B --> EA EA
9D : D0 D8 F0 --> EA EA EA
A0 : EB --> EA
A6 : 84 FC --> EA EA
A8 : C9 0A D0 CB --> EA EA EA EA
B1 : 38 2C 25 FC 49 --> A9 55 8D 12 0D
B6 : AA 8D --> EA
EA
B8 : 12 0D --> EA EA
C'EST FINI (OUF!)
VOUS AVEZ MAINTENANT UNE COPIE DEPLOMBEE COPIABLE AU LOCKMITH (6.0 ?)
ET SI VOUS N'AVEZ PAS EU ASSEZ D'EMOTIONS FORTES , VOUS POUVEZ TOUJOURS
ECOUTER
SUPER NANA LE SAMEDI SOIR A MINUIT , SUR CARBONE 14 (105.RIEN) DANS
POUBELLE
NIGHT !
>-----------------------------------------------------------------------------<
DIGITAL X , LITTLE PEOPLE COMPUTER (ACTIVISION.)
LES BRIGADES D'OEUVRES
OBSCURES & THE ALIEN CRACKING SOFTWARE
>-----------------------------------------------------------------------------<
----------------------------> CRACK MURDER ON THE MISSISSIPPI
AN
ACTIVISION ACTION-ADVENTURE GAME <------------------------------
----------------------------> ANOTHER CRACK BY GODFATHER
DEDICATED
TO KRISTO AND DEP!86 <------------------------------------
MURDER ON THE MISSISSIPPI EST UN SUPER SOFT ET C'EST LE PLUS RECENT DES
ACTIVI-
SIONs. Y'A UN TRUC PAS MAL QUE J'AI REMARQUE AVEC LES ACTIVISIONs,
C'EST QUE..
TENEZ VOUS BIEN.. LA COULEUR DE LA POCHETTE VARIE AVEC LE PLOMBAGE !!!!
NON.. RESTEZ !! JE SUIS SERIEUX !! LES SOFTS AUX POCHETTES NOIRES ET
AVEC LE
SUPER LOGO MULTICOLORE EN BAS SONT PROTEGES ANTI LOLO 6.0 ALORS QUE LES
POCHETTES CACA D'OIE INDIQUENT QUE LE SOFT SE COPIE AU LOCKSMITH MAIS
POUR NE
PLANTER QU'UN PEU PLUS LOIN DANS LE BOOT! DANS CE CAS, ON A UNE
POCHETTE CACA
D'OIE. (DOIS-JE DIRE CACADOIX OU CACA D'OIE OU PEUT ETRE CACADE OUAH!!
?!?).
AVEC MURDER, ON RETROUVE UNE POCHETTE KAKADOUA.. DONC UN SOFT QUI A
L'AIR DE
BIEN PASSER AU LOLO, AI-JE DIT!
POUR CE DEPLOMBAGE, JE VAIS ENCORE PROUVER MON ESPRIT FAINEANT DE
VAPARLACAVA
PLUVITQUESITUTEMBARKISSI. DAKORRSSAIPLUKLINEMAICESPLULON.
VOUS ALLEZ VITE COMPRENDRE POURQUOI.
MURDER ON THE MISS PIPI (OUAF OUAF !!) EST ENTIEREMENT EN CATALOG...
ON REMARQUE QUE LA COPIE PLANTE VERS LA FIN DU BOOT. EN ANALYSANT LE
FICHIER
DE BOOT (UN FICHIER EXEC APPELE PAR HELLO : 'DL'), ON COMPREND VITE QUE
LA
VERIF NE PEUT GUERE INTERVENIR QU'APRES LE *1000G ALORS COMME ON EST SUR
UNE COPIE, ON SE GENE PAS ET ON ME CHANGE CE *1000G PAR UN *FF59G.
(RESET).
APRES UN REBOOT DE LA COPIE AINSI MODIFIE, ET LE PLANTAGE IGNOBLE, ON
EST
A MEME DE FAIRE *1000L ET D'ANALYSER ..ET OUI! LA VERIF!!! (ORG$1200)
J'AURAIS PU ESSAYER DE LA COMPRENDRE DE HAUT EN BAS, MAIS LA DEJA, JE
CHOIZE
LA SOLUTION DE FACILITE.
POUR SAVOIR SUR QUEL SECTEUR SE PORTE LA VERIF, JE L'EXECUTE (*1000G) EN
AYANT REMPLACE AU PREALABLE LE DOS DE MA COPIE MODIFIEE PAR UN DOS
TRACER.
(CF DEP.1 OU 2) ..ET VOILA! APRES *1000G JE VOIS S'AFFICHER '00 A 0' EN
BAS
A DROITE!! LA VERIF PORTE DONC SUR LA PISTE $00/A !!
SI ON LISTE PAR *1000LLLL ON REMARQUE UN JMP $12CF , ET D'AILLEURS JE
SAIS PLUS
POURQUOI JE L'AI REMARQUE..EN FAIT IL N'A RIEN DE REMARQUABLE... (EN
$12BD)
TOUJOURS DANS CETTE REMARQUABLE INCOMPREHENSION, JE ME DIS : TIENS JE
VAIS
REMPLACER CE JMP $12CF PAR UN JMP $FF59. (PLUS PAR INTIME INSTINCT QUE
PAR
INTIME TECHNICITE DUE A UNE CONNAISSANCE SANS FAILLES DU F0RBIDDEN
LANGUAGE)
ENSUITE, ON LANCE LA VERIF (QUI SERA NEGATIVE SUR LA COPIE) PAR *1000G.
...ET CA PLANTE EN $FF59G.
POUR COMPARER, ON VA REBOOTER PUIS REFAIRE *1000G MAIS AVEC L'ORIGINAL
DS LE
DRIVE ET TOUJOURS AVEC LE JMP $FF59 EN $12CF.
...ET CA PLANTE AUSSI.
DANS LES 2 CAS, LA ROUTINE EN $12CF S'EXECUTE DONC.
IL EST IMPORTANT DE REMARQUER QU'AVANT LE PLANTAGE, ON VOIT LA VERIF
S'EXECUTER
(00 A 0 GRACE AU DOS TRACER).
ALORS JE VOUS EXPLIQUE TOUT... LA VERIF VA MODIFIER DES ADRESSES DONT
VA SE
SERVIR LA ROUTINE EN $12CF ET QUI VA SOIT ENTRAINER UN PLANTAGE, SOIT LA
POURSUITE DU JEU.
SACHANT CECI, LE PLUS SIMPLE N'ETAIT IL PAS DE FAIRE EXECUTER LA VERIF
SUR
L'ORIGINAL, DE FAIRE PLANTER EN $12CF, DE RECTIFIER LES ADRESSES
12CF-12D1
COMME A L'ORIGINE ET DE CHANGER LE *1000G DU FICHIER EXEC PAR UN *12CFG
POUR QU'IL AILLE DIRECTEMENT A LA ROUTINE QUI SUIT LA VERIF MAIS AVEC LE
RESULTAT POSITIF DE CELLE CI EN MEMOIRE ?!
POUR LE DEPLOMBER, IL FAUT DONC FAIRE:
]BLOAD
BOOT
! PROGRAMME CONTENANT LA VERIF A$1000,L$500
]CALL-151
! MONITEUR
*12CF:4C 59
FF
! JMP MONITEUR APRES LA VERIF
*1000G
! AVEC L'ORIGINAL DANS LE DRIVE
> CA PLANTE (JMP
$FF59)
! MAIS AVEC LES BONS RESULTATS DE VERIF
*3D3G
(FACULTATIF)
! POUR REINITIALISER LE DOS AVANT LE ]BSAVE
*12CF:AD CC
12
! ON REMET CE QU'ON AVAIT PRECEDEMMENT
*BSAVE BOOT,A$1000,L$500 (ON RESAUVE LE TOUT AVEC LES BONS RESULTATS DE
VERIF')
DANS LE FICHIER EXEC 'DL' REMPLACER LE '1000G' PAR UN '12CFG'
(ON COMMENCERA AINSI APRES LA VERIF' AVEC UN RESULTAT POSITIF EN
MEMOIRE!!)
..ET VOILA AINSI MURDER ON THE MISSISSIPPI DEPLOMBE !!
JE NE VANTERAI JAMAIS ASSEZ NOTRE VERSION DEPLOMBEE DE CE SOFT QUI
CONTIENT EN
PLUS DE L'ORIGINAL UN SUPER SCROLLING FAIT PAR CE CHER QTIPS AINSI QUE
LA DOC
COMPLETE DU JEU !!!
---------------------------------------> ...SANS HAINE NI
VIOLENCE ! GODFATHER
SHANGAI
SILICON SPY (CRACK) + KRISTO (EXPLIQUANCES FOLLES)
-------------------------------------------------------------------------------
SALUT ET SALUT,
VOICI LE DEPLOMBAGE FOU DE SHANGAI PAR SILICON SPY, ET TOUTES LES
EXPLIQUANCES
DE LA VERIF FOLLE PAR KRISTO...
0- SORTEZ DU LIT
1- PTIT DEJ
2- JOURNAL
3- COURSES
4- FAIRE UNE COPIE LOCKSMITH FDB DE L'ORIGINAL
5- MODIFIER LE FICHIER TEXT 'BOOT' SUR LA COPIE (7C00G -> FF59G)
6- BOOTER LA COPIE
7- TAPER '96E7:00'
8- METTRE L'ORIGINAL DANS LE DRIVE
9- FAIRE '7C00G'
A- REMETTRE LA COPIE DANS LE DRIVE
B- TAPER '96E7:4C'
C- TAPER '3D3G'
D- TAPER 'BSAVE SHANG,A$7C00,L$1C00'
E- MODIFIER LE FICHIER BOOT SUR LA COPIE (FF59G -> 7C00G)
F- ALLEZ VOUS RECOUCHER
ET MAINTENANT, APRES CETTE BELLE CUISINE, VOICI LES EXPLIQUANCES
PROMISES:
JE VAIS ESSAYER DE VOUS DECORTIQUER LA ROUTINE DE VERIF.
MAIS TOUT D'ABORD, VOILA LA FACON DONT JE L'AI DEPLOMBE, QUI EST
DIFFERENTE
DE CELLE DU SILICON, CAR MOINS 'BRUTALE':
ON COMMENCE PAR REMARQUER EN $9545 DANS LE PROG SHANG, UN APPEL A LA
RWTS
($B7B5).
EN DETOURNANT LE PROG A CET ENDROIT, ON TROUVE L'ADRESSE DE LA TABLE IOB
(A:HI, Y:LO) QU'ON TROUVE EN $9705. ELLE NOUS INDIQUE UN DEPLACEMENT DU
BRAS
SUR LA PISTE 0. PLUS LOIN COMMENCE LA VERIF, RECONNAISSABLE BIEN
SUR A SES
LDY $C08C,X BPL $FB ; DE $9551 A $959A; IL S'AGIT DONC D'UNE VERIF DU
FORMATAGE
DE LA P. $0.
LA VERIF EXECUTEE SE CONCLUT PAR UN STA $95C0 QUI EST ZE RESULTAT OF ZE
VERIF!
AVEC L'ORIGINAL (OU UNE COPIE EDD!), L'ACCU CONTIENT #$55.
MON DEPLOMBAGE EST DONC:
*BLOAD SHANG
*9500:4C CF 95 SHUNTE LA VERIF
*95C0:55
*BSAVE SHANG,A$7C00,L$1C00
ET MAINTENANT, L'EXPLIQUANCE DE LA VERIF.
POUR CE QUI SUIT, JE VOUS CONSEILLE EN CAS DE BESOIN DE VOUS REPORTER A
MON
EXCELLLLENT FICHIER 'NIBBLES, SYNCHROS..'.
LE DISK PARAIT COPIABLE AU LOCKSMITH FDB, MAIS PLANTE APRES LA VERIF.
EN REGARDANT LA PISTE 0 AVEC UN NIBBLE EDITOR COMME CELUI DU LOCKSMITH
6.0,
ON REMARQUE AVANT LA SYNCHRO DU CHAMP ADRESSE DU SECTEUR PHYSIQUE 1,
UNE SUITE
TOUT A FAIT CARACTERISTIQUE DE NIBBLES 32 ET 40 CYCLES. PARMI EUX LA
SUITE:
NIBBLES: FB FF FF FF FF
FF FF..
NB CYCLES: 40 32 40 32 40 40
40..
C'EST LA SUITE VERIFIEE!
ET VOILA LE DECORTICAGE DE LA VERIF, DANS LA JOIE:
9551- LDA $C089,X ; TOURNE DRIVE
LDA
#$56 ; EN ENTREE,
ON A: X=60, $FC:00, $FD:56
STA $FD
9558- LDA #$08 ;
POUR LE RESULTAT DE LA VERIF SI ELLE EST NEGATIVE,
; ET SURTOUT POUR LE COMPTAGE PAR DECALAGES (CF + BAS)
DEC
$FC ;
NOMBRE D'ESSAIS
BNE
$9562 ;
DEC
$FD ; IDEM
BEQ
$9596 ; SORTIE AVEC
A=$08 (ECHEC)
9562- LDY $C08C,X ; LIT UN NIBBLE
BPL
$9562 ;
CPY
#$FB ; CHERCHE
#$FB
BNE
$9558 ; ON RECOMMENCE
BEQ
$956D ; POUR TIMING
956D-
NOP
; ET ON Y VA (ON VA VERIFIER LA SERIE
NOP
;
DES FF EN 32 ET 40 CYCLES)
LDY
$C08C,X ; REGARDE LE LATCH AU
PASSAGE
CPY
#$08 ; SI
SUPERIEUR A 8, C=1
ROL
; ON AVAIT A=08=00001000, ROTATION A GAUCHE AVEC C
BCS
$9582 ; SI LE 1 SORT (5
PASSAGES)
9577- LDY $C08C,X ; ON LIT UN $FF
BPL $9577
CPY #$FF
BNE
$9558 ; RATE
BEQ
$956D ; ON LIT 5 FOIS
9582- LDY $C08C,X ; LIT ENCORE UN
NIBBLE (C'EST ENCORE UN $FF)
BPL $9582
STY
$FC ; LE
MET EN $FC
9589- CMP #$0A ;
SI APRES LES 5 ROL ON A A=00001010, J'EXPLIQUE + BAS
BNE
$9558 ; ERREUR FATALE
958D- LDA $C08C,X ; ON LIT ENCORE
UN NIBBLE
BPL
$958D ; (C'EST AUSSI UN
$FF)
SEC
; (NE SERT A RIEN
ROL
; CAR A=$FF)
AND
$FC ; $FC
ETAIT A FF ALORS..
9596- EOR #$AA ;
ON OBTIENT #$55!
9598- STA $95C0 ; ET ON
EST HEUREUX.
^^^
VOILA DONC CE QUE FAIT CETTE BEEELLE VERIF:
1) ELLE LIT UN $FB
2) ELLE REGARDE LE LATCH:
IL EST <08 SI LE NIBBLE PRECEDENT EST EN 40 CYCLES
(->C=0)
IL EST >=08 S'IL EST EN 32 CYCLES (->C=1)
CECI A CAUSE DES 2 BITS 0 SUPPLEMENTAIRES EN 40 C. OF COURSE.
3) ELLE FAIT UN ROL SUR A, QUI A L'ORIGINE EST 00001000.
DONC, SI 40 C., IL RENTRE UN 0; SI 32, IL RENTRE UN 1.
4) ELLE LIT UN $FF
5) ELLE RETOURNE EN (2), JUSQU'A CE LE 1 SORTE (5 DECALAGES)
6) ELLE LIT ENCORE UN $FF
7) ELLE VERIFIE QUE A EST BON
8) ELLE RELIT UN $FF
9) ELLE FAIT UN EOR POUR TROUVER $55
10) ELLE LE MET DANS SA CULOTTE ET ELLE S'ARRACHE LA TETE.
CE QUI SE PASSE DONC:
.LE FB EST EN 40 C. -> 0 -> A=00010000
.LE 1ER FF EST EN 32 -> 1 -> A=00100001
. 2EME FF EN 40 ->
0 -> A=01000010
. 3EME FF EN 32 ->
1 -> A=10000101
. 4EME FF EN 40 ->
0 -> A=00001010=$0A ET C=1, ON SORT!
ET ON A BIEN LE A=$0A VERIFIE EN $9589!
LE PLUS TRISTE DANS CE GENRE DE DEPLOMBAGES, C'EST QUE MALGRE
L'INGENIOSITE
DES VERIFS, IL SUFFIT SOUVENT DE CHANGER 2 OCTETS SANS RIEN Y COMPRENDRE
POUR QUE CA MARCHE! LES BIDOUILLEURS ONT ENCORE DE L'AVENIR!
BON, J'ESPERE QUE JE NE VOUS AI PAS TROP FAIT CHIER CETTE FOIS-CI.
J'EN PROFITE POUR VOUS PARLER DE 2 SERVEURS SYMPAS EN T2:
SM1 (CODE 19118010101 OU 19118007001) (TAPER SUITE
POUR ACCEDER A LA
MESSAGERIE MALGRE L'INTERDICTION)
ET SYSTEL (113020721), TOUJOURS EN T2, CE QUI ME PERMET DE
FAIRE DES
ECONOCLAQUES CAR JE SUIS A PLAT DEPUIS QU'ON A ACHETE NOTRE ST. (UN
1040,
UNE AFFAIRE EN OR)
ALLEEEEZ, A LA REVOYURE.
::::::::::::::::::::::::::::SILICON SPY ET KRISTO, LES POURFENDEURS
GALACTIQUES