Disk : Gdf14.dsk
"-" files are DELETED files | "*" files are LOCKED files
----------------------------------------------------------------------
B A$0800 (002048) L$14FB (005371) 022 ADVANCED DEMUFFIN 1.1
B A$5000 (020480) L$009D (000157) 002 GHOSTBUSTERS.DECODE
B A$0901 (002305) L$0FD2 (004050) 017 GHOSTBUSTERS.DECODE.S
B A$4F00 (020224) L$00D1 (000209) 002 GHOSTBUSTERS.READ NIBB
B A$0901 (002305) L$11D8 (004568) 019 GHOSTBUSTERS.READ NIBB.S
B A$2700 (009984) L$0057 (000087) 002 GHOSTBUSTERS.RWTS
B A$0901 (002305) L$04C1 (001217) 006 GHOSTBUSTERS.RWTS.S
A A$0000 (000000) L$0460 (001120) 006 HELLO
T A$0000 (000000) L$4100 (016640) 065 T.APPENDIX COURS
T A$0000 (000000) L$B900 (047360) 185 T.COURS 14 REVISION 2.00
T A$0000 (000000) L$0600 (001536) 006 T.ET LA PROCHAINE FOIS...
T A$0000 (000000) L$1700 (005888) 023 T.GHOSTBUSTERS.DECODE
T A$0000 (000000) L$1B00 (006912) 027 T.GHOSTBUSTERS.READ NIBB
T A$0000 (000000) L$0800 (002048) 008 T.GHOSTBUSTERS.RWTS
T A$0000 (000000) L$1600 (005632) 022 T.GODFATHER
RACONTE...
T A$0000 (000000) L$0D00 (003328) 013 T.INTRODUCTION
T A$0000 (000000) L$0500 (001280) 005 T.LES PROGRAMMES DE CE DISK
T A$0000 (000000) L$0D00 (003328) 013 T.APPENDIX ORIGINAUX
B A$6D00 (027904) L$0500 (001280) 007 MUSIQUE
This catalog contains 19 files. 0 were DELETED.
----------------------------------------------------------------------
DOS 3.3 |
Download Cours GDF 14 rev 2.00 (gzipped) |
Lien | Article |
Introduction. | |
Cours 14 révision 2.00. | |
Les programmes de ce disk. | |
Et la prochaine fois. | |
Appendix originaux. | |
Appendix cours. |
===============================================================================
INTRODUCTION COURS
14
Godfather, le 11/9/87, Devon. Angleterre
===============================================================================
Salut et salut tout le monde,
..ca va ?? jusque là vous avez bien digéré
tous les cours précédents ??
alors okay!.. on continue.. on continue avec un gros morceau :
LES PLOMBAGES ACTIVISION
Activision a utilisé 3 protections différentes depuis 3
ans...
Elles sont toutes trois très différentes, avec des
qualités et des défauts
pour l'une que l'on ne retrouve pas dans l'autre et inversement, et
toutes
trois très interessantes...
Je vous propose donc de TOUT vous dire sur ces 3 plombages et sur les
méthodes
de déplombages à utiliser pour en venir à bout !
Les 3 protections pourraient se nommer (chronologiquement) : 1. Nibble
key
2. Tracks format
3. Nibble count
Elles seront le sujet de 3 cours différents, dont voici le
premier !!...
Voici, pour vous réjouir, la liste des programmes Activision
utilisant telle
ou telle protection, que vous auriez su déplomber à ma
place lors de leur
sortie... mais rassurez vous, je parie ma chemise que leurs prochains
softs
seront plombés d'une de ces 3 façons !...
1ere protection : Nibble key - Ghostbusters
- Space Shuttle
2eme protection : Tracks Format - Mindshadow
- Tracer Sanction
- Borrowed Time
3eme protection : Nibble count - Hacker
- Garry Kitchen Game Maker
- Murder on the Mississippi
- Little People Computer
- Shangai
Il y a aussi : Hero, Master of the lamps.. que je n'ai pas
étudié !!
Tous leurs jeux sont des Best-Sellers !... alors, je ne peux m'empecher
de vous
donner leur adresse, si vous souhaitez obtenir la liste des
nouveautés qui
sont annoncées, ou si vous voulez leur commander un soft...
******************************
*
*
* Activision,
Inc. *
* P.O. Box
7287 *
* Mountain View, CA 94039 *
*
*
******************************
On commence donc tout de suite avec "Nibble key", la première
protection
Activision de la série !...
Amicalement, GODFATHER
==============================================================================
===============================================================================
COURS 14 : Tout sur la première protection Activision "Nibble
Key" Godfather
===============================================================================
Révision
2.00
Devon, le 11/07/87
ATTENTION
=================
Avant de commencer une quelconque manipulation avec les copies
d'originaux de
ce cours, protegez les contre l'écriture !!.. Ca
évitera bien des problemes !
C'est fait ..?? Okay!. alors je commence...
Salut et salut,
Comme d'habitude, je vais TOUT décortiquer à propos de ce
plombage...
On va voir :
- La théorie : Le
principe de la protection "Nibble Key"
- La découverte : Pour voir comment la
protection se présente...
- La pratique .1 : La conversion au format 3.3 avec
Adv. Demuffin 1.1
- La pratique .2 : La recherche de la
vérif'...
- La pratique .3 : La compréhension de toute
la vérif' (lecture + décode)
- La pratique .4 : La "déconnection" de la
vérif'
- Le parrallele : Les adresses clé de
cette protection ds les autres softs
- La pratique .5 : Les Déplombages "cookbook
fashion"
- La conclusion : Les critiques que l'on peut
faire à cette protection
- La copie .1 : Disk Muncher
(Pourquoi ça marche ??)
- La copie .2 : Locksmith 6.0 Fast
Disk Backup (comment faire ??)
- Le plombage : Plombez vos disks
avec cette protection !!
Ca, c'est un cours qu'il est beau...
J'ai déjà trouvé cette protection sur
Ghostbusters, Space Shuttle et
The Designer's Pencil.. Je vous donnerais donc, au fur et à
mesure que je
développerais ce cours du coté théorique, les
résultats de la pratique pour ces
trois softs... A vous de tout bien comprendre et de vous adapter pour un
prochain Activision qui utiliserait ce plombage...
Malheureusement, je n'ai pas eu entre les mains l'original de
Designer's Pencil
aussi, certains détails ne vous seront pas indiqués pour
le moment en ce qui
concerne ce soft, mais le cours est là pour vous apprendre
à vous adapter et
les détails données concernant ces 3 softs n'étant
que des exemples, vous n'en
souffrirez pas du tout.. néanmoins, mon esprit de perfection en
souffrira, lui
ATTENTION : Ces originaux Activision ont la meme protection mais pas sur
=========== les memes pistes, les vérifs sont les memes mais ne
sont pas aux
memes adresses, et le programme n'étant pas le meme, il n'est
pas chargé dans
le meme buffer... etc. Alors, pour pas qu'on mélange tout, je
vais completement
décortiquer Ghostbusters et à la fin de ce fichier, je
vous dirais les adresses
clés de la protection dans les deux autres.. J'étudie le
principe puis je vous
fait bouffer du Ghostbusters.. Okay ??.. C'est parti !!!
===============================================================================
LE PRINCIPE DE LA PROTECTION "Nibble Key"
===============================================================================
Numéro 6 a comparé une fois mes cours de
déplombage à des cours de cambriolage!
Illégals s'ils sont appliqués mais néanmoins
très instructifs à lire...
Je vais prolonger cette comparaison pour vous faire comprendre toute la
partie
théorique de ce cours...
Imaginez une villa sur la cote... et dans cette villa, un coffre, avec
une
combinaison chiffrée (de 4 chiffres par exemple), et dans ce
coffre, un
super lode runner en 3D inédit, dont vous voulez vous
emparrer!.. vous etes
le cambrioleur...
Ce plombage est très similaire.. et vous etes le
déplombeur !
Je vous explique quel doit etre l'effet d'une protection (cas
général) :
Une routine verifie si le disk booté est l'original...
Si ce n'est pas le cas, il fait délirer le programme d'une
manière ou d'une
autre. (Sinon, rien n'est modifié en mémoire)
Ici, le programme principal est codé et la routine donnera un
certain
résultat A pour l'original et B pour la copie... seulement, le
programme
codé ne peut se décoder qu'avec la routine de
décodage ET la clé A !..
Si une copie est dans le drive, la clé sera B et le programme
décodé avec
cette mauvaise clé ne correspondant à rien, ca va planter
!!...
C'est exactement ce qui se passe pour Ghostbusters et Space Shuttle
lorsque
vous bootez une copie faite au locksmith rapide !!...
Revenons à notre villa sur la cote...
On a d'un coté le programme convoité (à
déplomber), d'un autre coté le coffre
(le plombage), et enfin la combinaison inviolable (la clé de
Nibbles
ou "Nibble Key")..
Avant le seul moyen de s'approprier le programme était de
connaitre la
combinaison du coffre.. là, c'est là meme chose.. le seul
moyen de déplomber le
soft est de trouver la clé de nibbles qui se trouve sur
l'original et qui
décode une partie indispensable du programme !...
En théorie, c'est la meme chose que la désynchro'
incopiable des softs EPYX...
Une vérif' qui lit une clé de Nibbles sur le disks.. et
une routine qui
décode la suite du programme avec cette clé!.... Si la
clé n'est pas lue
(copie d'original?), la suite du programme ne sera jamais executable
!...
But du jeu : Trouver la combinaison.. et remplacer la lecture de cette
clé
============ de Nibbles dans des adresses (qui ne sera plus sur la
copie), par
une routine qui a le meme effet et qui mette dans ces memes adresses,
les
bonnes valeurs pour la suite..... Comprendo ??
En esperant que vous avez bien tout compris de la théorie, on va
maintenant
passer à la pratique...
===============================================================================
A LA DECOUVERTE DE LA PROTECTION : Pour voir comment ça se
présente !
===============================================================================
Bon.. Première chose à faire : Booter un Locksmith FDB
(Fast Disk Backup) et
essayer de copier l'original !.. qu'est ce qu'on voit ???
(Ghostbusters)
=> Les pistes $01, $12, $13 sont illisibles au 6.0
(Space Shuttle) =>
Les pistes $04, $05, $06 sont illisibles au 6.0
(Designer's Pencil) => Les pistes $03, $04,
$05 sont illisibles au 6.0
Attention!.. Est ce que ça veut dire qu'elles ne sont pas
formattées !??
NON.. ce n'est pas sur!.. Il se peut qu'elles soient formattées
différemment et
pour le locksmith rapide, ça reviendrait au meme qu'elles soient
formattées
autrement qu'en D5 AA 96 DE AA EB D5 AA AD DE AA EB ou qu'elles soient
vierges!
Pour etre fixé, puisqu'on ne peut pas lire les secteurs de ces
pistes, on va
aller lire ses nibbles avec un Nibble Editor (j'apprécie surtout
Nibbles Away
II.. je m'y suis habitué avant la venue du 6.0 et j'ai toujours
du mal à me
reconvertir !!.. Gnarg !).. On part à la recherche de Headers
modifiés, puisque
ces pistes sont illisibles en format normal... Si on ne trouve aucun
signe de
Prologue/Epilogue, on pourra alors envisager le cas "pistes pas
formattées" !
On trouve facilement, en lisant au Nibbles Away II vC3 que les pistes
concernées sont en format "Patched", c'est à dire que
seuls les entetes de
fin de champ (data et adresses) sont modifié (Différents
de DE AA EB).
Pour vous, je suis allé voir la piste $1 de Ghostbusters au
Nibbles Editor..
Voilà le résultat :
NIBBLES AWAY
II
Vers. C3
TRACK EDITOR
--------------------------------------------------------
PTR=2200
ADDR=2200
TRK=01
--------------------------------------------------------
2200 -
96969696 96969696
96969696 96969696
2210 -
DEAAEBEB FDFF9FE7
F9FEFFFF FFFFFFFF
2220 -
FFFFFFFF FFFFFFFF
FFFFFFD5 AA96FFFE
2230 -
AAABAFAB FAFEDEAB
EBEBC1FE FFFFFFFF
2240 - D5AAAD....
JE RESUME :
Voici ce qu'il faut remarquer :
- En $2210 : DE AA EB ; Fin de champ données
(secteur précédent)
- En $222B : D5 AA 96 ; Début de champ adresse
- En $2236 : DE AB EB ; Fin de champ adresse
==> et pas DE AA EB !!
- En $2240 : D5 AA AD ; Début de champ
données
==
Seule chose qui diffère d'un format 3.3 normal (toutes les
autres pistes) :
- le AB de DE AB EB (format patched) au lieu de AA pour DE AA EB
(format 3.3)
(N.B. : Les adresses ne correspondent à rien.. Ce sont les
adresses ou sont
chargées les nibbles lu sur une piste donnée..
Elles permettent d'avoir un
point de repere mais en fait, elles ne correspondent à
rien de précis!)
Vous avez donc bien compris pourquoi ces pistes NE SONT PAS DES PISTES
VIERGES
mais bien des pistes contenant des données indispensables au
programme...
Il faut donc les CONVERTIR au format 3.3 en passant en mode Patched !...
La piste $01 est en format patched D5 AA 96 DE AB EB D5 AA AD DE AA EB
La piste $12 est en format patched D5 AA 96 DE BC EB D5 AA AD DE AA EB
La piste $13 est en format patched D5 AA 96 DE CD EB D5 AA AD DE AA EB
On voit donc au nibble editor que les 3 pistes illisibles sont en format
patched par modification unique du second octet de l'épilogue du
champ adresses
(Piste $01 = #$AB, Piste $12 = #$BC, Piste $13 = #$CD...)
===============================================================================
LA PRATIQUE .1 : Conversion des pistes au format "Patched" en format
normal 3.3
===============================================================================
Il suffit de patcher le dos (CALL-151, B942:18) et de convertir le disk
original avec ADVANCED DEMUFFIN 1.1... (Le disk est en Boot 3.3, vous
pouvez
aussi bien utiliser ADV DEM. BOOT TRACER 1.2 et faire le patch
après...)
Pour plus de FIABILITE et pour le principe (pour etre le plus clean
possible),
vous pouvez copier le disk au locksmith rapide (avec Verify) et ensuite,
convertir (de l'original à cette copie) les pistes en format
"Patched".
Vous eliminez ainsi le risque d'erreur de lecture lors de la copie en
Patched
pour les pistes en format normal...
Tout passe correctement...
Votre copie contient donc toutes les DONNEES de l'original mais le
format de 3
de ses pistes est maintenant différent!.. le disk ne va plus
booter!..
Pourquoi ??.. : Parce qu'il y a une vérif' concernant ces pistes
!...
Essayez de booter la copie.. Elle a l'air de bien tout charger mais
après un
moment, le programme plante...!
On passe donc à la recherche de cette vérif' !!...
===============================================================================
LA PRATIQUE .2 : Recherche de la vérif'...
===============================================================================
* On a vu (à l'instant) qu'il y avait une vérification du
disk original
(pistes au format "Patched") lors du boot de chacun de ces softs
Activision.
* On veut retrouver cette vérif'...
***> Comment commence t-on la recherche ???
On va "BOOT-TRACER" evidemment !!!!
La vérif est au BOOT.. donc on BOOT-trace...
Il faut que ça devienne lié comme le chat et sa souris,
comme Tom et Jerry,
comme Laurel et Hardy, comme Wozniak et Jobs !!... comprendo ???
Il FAUT que ça devienne un automatisme : "Vérif au boot
entraine boot-tracing"
Bon.. Je continue...
Ces originaux sont basés sur un Boot 3.3 classique... On
commence donc comme
toujours dans ce cas :
*1600<C600.C700M
; Pour déplacer la Rom de boot
*16F8:A9 4C LDA
#$4C ; On remplace le JMP
($8FD) du boot 3.3
8D 4A 08 STA
$084A ; (correspondant à un
JMP $B700) par un
A9 59 LDA
#$59 ; JMP $FF59 (MONITOR)
pour reprendre la main..
8D 4B 08 STA
$084B ;
A9 FF LDA
#$FF ; Remarquez, on aurait
aussi bien simplement
8D 4C 08 STA
$084C ; mis un #$00 (BRK) en $84A
et ça aurait
4C 01 08 JMP
$0801 ; aussi rendu la main
à l'utilisateur !!...
*1600G
; Pour executer le boot-tracer ainsi créé
...On examine ensuite le code en $B700 (On aura avant
vérifié en listant les
adresses $8FD.8FE que le JMP ($8FD) remplacé correspondait bien
à un JMP $B700)
On obtient ceci (source reconstitué) :
ORG $B700
PATCH1 EQU $B7E8
PATCH2 EQU $B7FB
RWTS
EQU $B7B5
SECTEUR EQU $B7ED
HB743 EQU
$B743
HB751 EQU
$B751
BUFFERHI EQU $B7F1
RESET EQU
$3F2
STX HB743
STX HB751
LDA #$15 ; Vectorise Reset
sur $B715
STA RESET ;
LDA #$B7 ;
STA RESET+1 ;
EOR #$A5 ;
STA RESET+2 ;
HB715 LDY
#$10 ; Mise en place d'une
nouvelle table IOB
LOOP1 LDA
NEWIOB,Y ; pour avoir : Piste #$00
STA PATCH1,Y
;
Secteur #$0A
DEY
;
Mode LECTURE
BPL LOOP1
;
Buffer $4F00
LDY #$03 ;
LOOP2 LDA
NEWCART,Y ; Nouvelle table des caracteristiques
STA PATCH2,Y ;
DEY
;
BPL LOOP2 ;
LDA #$B7 ; Lecture de la
piste $00 0A en $4F00
LDY #$E8 ;
JSR RWTS ;
INC BUFFERHI ; On incremente le Buffer jusqu'en $5000
INC SECTEUR ; On incremente le Secteur jusqu'en
$0B
LDA #$B7 ; Lecture de la
piste $00 0B en $5000
LDY #$E8 ;
JSR RWTS ;
$B741 ==> JMP
$4F00 ; Fin du boot2 de Ghostbusters.
$4000 pour Sp.Sh
NEWIOB HEX
01600100000AFBB7 ; Cette table IOB qui va remplacer
HEX 004F000001000060 ; l'autre indique la piste $00 0A
HEX
01
; le Buffer $4F00 et le mode Lecture
NEWCART HEX
0001EFD8
; Table des caractéristiques
Le boot2 charge donc (avec une RWTS 3.3) la piste $00/A en $4F00 et la
piste
$00/B en $5000... ensuite, il saute au boot3 par un JMP $4F00 qui se
trouve
en $B741.
On modifie donc ce JMP Boot3 pour reprendre la main dés la fin
du boot2
Allons y...
*B741: A2 60 4C 59 FF (On met #$60 dans X-reg pour les
besoins de la RWTS..
*B700G
..comme on l'a vu dans le cours 3)
Et dés que ça plante, on va examiner le code en
$4F00..puis le code en $5000...
C'est la vérif'... On va tout décortiquer maintenant..
suivez moi...
===============================================================================
LA PRATIQUE .3 : La compréhension de toute la vérification
===============================================================================
On en était à $4F00 dans Ghostbusters. ($4000 pour Space
Shuttle)
La routine que l'on y a trouve va charger le boot suivant en lisant
d'abord la
piste $12, $13 puis $01.. et comme par hasard, on a vu plus haut que
ces 3
pistes de Ghostbusters n'étaient pas lisibles au locksmith
rapide....
et comme par hasard, on remarque que cette routine modifie la RWTS en
$B99A
avant d'acceder à ces pistes...
Que modifie-t-elle dans la RWTS...? Elle va modifier la routine de
lecture
de l'épilogue du champ adresses après la lecture du
second nibble de cet
épilogue (pour un format normal,après la lecture du #$AA
de l'épilogue
#$DE AA EB du champ adresses). Ainsi modifiée, la RWTS rendra la
main à
l'utilisateur avec dans l'adresse $04, la valeur de ce second Nibble qui
n'aura pas été vérifié...
Les pistes $12,$13,$01 sont de format "Patched" par modification unique
de
cet octet de l'Epilogue adresses et pour chaque piste, cet octet est
différent.
L'épilogue de la piste $12 est #$DE BC EB
L'épilogue de la piste $13 est #$DE CD EB
L'épilogue de la piste $01 est #$DE AB EB
Ainsi, après lecture de la piste $12, $04 contient #$BC qui sera
mis en $01
Ainsi, après lecture de la piste $13, $04 contient #$CD qui sera
mis en $02
Ainsi, après lecture de la piste $01, $04 contient #$AB qui sera
mis en $00
Si l'on change le format de ces pistes (en le convertissant au format
3.3),
après chaque lecture, $04 contient $AA (format normal #$DE AA
EB) et ainsi,
avant le décodage $00,$01,$02 contiennent #$AA.
On se posait, dans le cours 1, la question suivante :
"Qu'est ce qui
différencie un original d'une copie ???"
Ici la réponse est simple..
* Pour que le disk soit copiable
au locksmith il faut partout avoir
un format
épilogue adresses en #$DE AA EB
* Au boot, une routine (celle qui
va suivre) charge le programme et
sauve le second de ces
nibbles en $00,$01,$02
* Pour l'original, on aura,
après lecture : $00=AB, $01=BC, $02=CD.
* Pour la copie
déplombée, on
aura : $00=AA, $01=AA, $02=AA.
Voila la différence !!.. Cette différence se trouve dans
les adresses $00-$02
qui peuvent etre simplement testée par une routine machine
simplissime...
On va voir ce qu'il en est...
En attendant, voici LA routine de chargement de l'image et du boot4
(c'est
la boot3), avec tous les commentaires... Voici ce qu'elle fait
exactement :
* Modification de la RWTS
pour lire les pistes plombées et avoir en $04
le 2nd nibble de
l'épilogue adresses du dernier secteur lu...
* Lecture de la piste $12 du
secteur $00 à $0F en $2000-2FFF
* Sauvegarde en $01 de la
valeur en $04 (#$BC)
* Lecture de la piste $13 du
secteur $00 à $0F en $3000-3FFF
* Sauvegarde en $02 de la
valeur en $04 (#$CD)
* Lecture de la piste $01 du
secteur $00 à $0F en $0800-17FF
* Modification de la RWTS
(retour au format normal)
* Lecture de la piste $02 du
secteur $00 à $0F en $6000-6FFF
* Lecture de la piste $03 du
secteur $00 à $04 en $1B00-1FFF
* JSR à la routine de
décodage (chargée avec le boot 3 en $5000)
* JMP au boot4
(Chargé de la piste $1 en $800)
Bon.. maintenant, je vous la balance enfin cette routine extraite comme
nous
l'avons vu en boot-tracant Ghostbusters...
Elle se termine par JSR $5000 JMP $0800...
On passe donc après à l'étude de la routine
(incluse au boot3) en $5000...
Il n'est pas vraiment important de la comprendre à fond...
Ce qu'il faut surtout c'est comprendre la logique de la protection.. et
tout
ce que je viens de vous balancer ci-dessus...
La programmation n'est en rien interessant par rapport à la
logique du plombage
(Godfather a parlé!)
ORG $4F00
START EQU
$0800
RWTS
EQU $B7B5
PISTE EQU
$B7EC
SECTEUR EQU $B7ED
BUFFERHI EQU $B7F1
CMD
EQU $B7F4
HB7EB EQU
$B7EB
HB7F3 EQU
$B7F3
PATCHADR EQU
$B99A ; Patch la RWTS pour lire les
pistes patched
TXTCLR EQU $C050
HIRES EQU
$C057
MIXCLR EQU $C052
LOWSCR EQU $C054
DECODE EQU $5000
LDA #$12 ; Piste $12
STA PISTE ;
LDA #$00 ; Secteur $00
STA SECTEUR ;
STA HB7EB ; Volume = #$00 (pour tt
lire)
STA HB7F3 ;
LDA #$20 ; Buffer $2000
STA BUFFERHI ;
LDA #$01 ; Mode LECTURE
STA CMD ;
* Modifie la RWTS pour pouvoir lire les pistes "plombées"
* et sauver le nibble lu après le #$DE de l'épilogue...
* (Normalement #$DE AA...)
LDX #$00 ; On va sauver dans
la pile ce qu'il y a
H4F1C LDA
PATCHADR,X ; en PATCH (ds la RWTS) avant de remplacer
PHA
; cette routine PATCH par la routine qui
LDA PATCH,X ; se trouve dans ce programme en
H4FCD..
STA PATCHADR,X ;
INX
;
CPX #$04 ; Il y a 4 octets
à sauver et remplacer
BNE H4F1C ;
* Chargement de l'image contenue sur la piste $12 et $13
* dans l'ordre croissant des secteurs
H4F2B LDA
#$B7 ; Lecture de la piste
$12 00 en $2000
LDY #$E8 ; et secteurs et
piste suivante...
JSR RWTS ; (Ghostbusters et
Space Shuttle)
LDA #$00 ;
STA $48 ;
INC BUFFERHI ; On incremente le Buffer
INC SECTEUR ; On incremente le secteur
LDA SECTEUR ;
CMP #$10 ; Il y a #$10 - 1
secteurs par pistes
BNE H4F2B ; (-1 car on compare
après avoir incrémenté)
LDA #$00 ; On recommence au
secteur $00 de la piste
STA SECTEUR ; suivante...
INC PISTE ; Voila! On passe
à la piste #$13
LDA PISTE ; On va jusque la piste
$13
CMP #$13 ; ($2000-3FFF
correspond à 2 pistes)
BNE H4F59 ;
* On met le second nibble de l'épilogue de la piste $13
* en $02 (il était dans $04 d'après le patch)
* L'épilogue de la piste $13 est bien #$DE CD EB...
LDA $04 ; $01 = BC
(Piste $12 : DE BC EB)
STA $01 ;
CLC
;
BCC H4F2B ; JMP H4F2B
H4F59 LDA
$04 ; $02 = CD (Piste
$13 : DE CD EB)
STA $02 ;
* Passage en page HGR format HGR2
LDA TXTCLR ; On passe maintenant en mode
HGR puisqu'on a
LDA HIRES ; à l'instant
chargé l'image des piste $12 et
LDA MIXCLR ; $13...
LDA LOWSCR ;
* Lecture des pistes $01, $02, $03 en $800, $6000, $1B00
LDA #$01 ; On passe
maintenant au chargement du boot4
STA PISTE ; qui se trouve en piste
$00...
LDA #$00 ; ..secteur $00
STA SECTEUR ;
LDA #$08 ; ..et on va mettre
tout ca en $800-$17FF
STA BUFFERHI ;
H4F78 LDA
#$B7 ; et maintenant, on lit
la piste $00
LDY #$E8 ; secteur par
secteur...
JSR RWTS ;
LDA #$00 ;
STA $48 ;
INC BUFFERHI ; On incrémente le Buffer (#$08
-> #$17)
H4F86 INC
SECTEUR ; On incrémente le secteur de la
piste $00
LDA SECTEUR ;
CMP #$05 ; et on s'arrete au
secteur #$05 - 1
BNE H4F97 ; de la piste $03...
LDA PISTE ;
CMP #$03 ;
BEQ H4FC7 ;
H4F97 CMP
#$10 ; si on n'est pas sur la
piste $03,
BNE H4F78 ; on s'arrete au secteur
#$F (#$10 - 1)
LDA #$00 ; Quand on passe
à la piste suivante, on
STA SECTEUR ; recommence au secteur #$00 bien
sur,
INC PISTE ; et là, on passe
à la piste suivante
LDA PISTE ;
CMP #$02 ;
BNE H4FBF ;
* On vient de lire la piste $01.. on sauve un nibble de décodage
LDA $04 ; Si piste =
#$02, puisqu'on vient d'incré-
STA $00 ; menter le
numéro de la piste, c'est que
; la derniere piste lue est la #$01 donc on
; va mettre en $00 le second octet de
; l'épilogue adr de la piste $01 qui est #$AB
LDX #$03 ; On va lire la
piste #$02 et comme elle
H4FB0
PLA
; est en format 3.3 classique, on doit
STA PATCHADR,X ; remettre en place la partie de la RWTS 3.3
DEX
; que l'on avait remplacée par PATCH et mise
BPL H4FB0 ; dans la pile...
LDA #$60 ; On va charger la
piste $2 en $6000
STA BUFFERHI ;
CLC
; et on saute en H4F78
BCC H4F78 ;
* Après lecture de la piste $02.. On va lire la piste $03
H4FBF LDA
#$1B ; On met le buffer
à $1B00
STA BUFFERHI ; pour lire la piste $03
CLC
; et on saute en H4F78
BCC H4F78 ;
* Après la lecture de la piste #$03...terminé
H4FC7 JSR
DECODE ; On a la "clé" des 3
nibbles, on décode tt
JMP START ; et on saute au prgm
ainsi correctement décodé
* Routine qui remplacera la routine situé à l'adresse
PATCHADR ds la RWTS
PATCH STA
$04 ; Routine qui
s'implantera en $B99A
NOP
; (Après la lecture du second nibble #$DE .. EB
NOP
; qui sera sauvé en $04 !). Tout est là !!...
Bon je disais donc...
En sortant de là (H4FC7), on a :
Avec l'original : $00 = AB,
$01 = BC, $02 = CD
Avec la copie :
$00 = AA, $01 = AA, $02 = AA
A ce niveau là, le programme pourrait simplement vérifier
que les bonnes
valeurs (AB, BC, CD) sont bien dans les bonnes adresses ($00, $01, $02)
ou bien encore se compliquer plus la vie...
Et bien sur.. ils se sont compliqué la vie en se disant "Si un
déplombeur
arrive jusqu'ici, ce que je lui réserve sera bien trop
compliqué pour lui !"
On va voir ce qu'on peut faire pour faire tomber definitivement ce
plombeur
dans le désespoir le plus noir !!...
On arrete de parler de lecture, d'accès disk et de Nibbles...
tout va
désormais se dérouler en mémoire...
Si on examine le code en $800-17FF et en $6000-6FFF, on ne peut pas
trouver
le moindre bout de programme et pourtant, il y a bien (en $4FC7 pour
Ghostbusters) un JMP $800 !!... et en $800 il n'y a que des octets en
vrac !
C'est donc que : LE PROGRAMME (en $800 notamment) EST CODé !!...
et que le décodage se fait par le JSR $5000..
Bon.. Alors $5000 est une routine de décodage et les zones
mémoires
$800-17FF, $6000-6FFF sont des programmes codés !!... ca vous va
comme
hypothèse ???.. Mouais !!..
et si on étudie en détail la routine de décodage
que l'on a en $5000 on voit
que c'est bien ça et que les valeurs caractéristiques
UNIQUEMENT de l'original
qui se trouve en $00, $01, $02 avant le JSR $5000 sont utilisées
comme
"clé" pour décoder les zones mémoire codées
!!...
Donc...
"LE PRGM NE PEUT SE DECODER CORRECTEMENT QUE SI L'ORIGINAL EST
DANS LE DRIVE!"
C'est donc bien le but du jeu... le but de tout plombage !!...et c'est
assez
génial!...
Pas la peine de décortiquer completement la routine de
décodage puisqu'on n'a
pas la routine de plombage... on va pas avoir à la comprendre du
tout pour
venir à bout d'un de ces softs Activision.. ce qu'il faut juste
savoir
c'est qu'elles ont besoin des bonnes valeurs dans $00, $01, $02 avant de
s'executer, et quelles sont ces valeurs !!...
Si vous voulez vraiment (par pure masochisme) tout comprendre de ce
décodage,
vous n'avez qu'à attendre le cours sur les
codages/décodages qui va vous
permettre, non seulement de piger tout sur tous les codages couramment
utilisés mais aussi qui vous apprendra comment coder vos propres
routines
(votre signature d'un crack, une image signée, ou quoi que ce
soit d'autre..)
On va maintenant passer à la "deconnection" de la protection
!!!..
Comment passer outre (puisque la routine de lecture ne va pas lire les
bonnes
valeurs pour $00, $01, $02...) ???
===============================================================================
LA PRATIQUE .4 : La "déconnection" de la protection !!!!
===============================================================================
Simple.. Je vous explique comment ça se passe !...
On a dans l'ordre : 1. Lecture des nibbles
"clés" de décodage en $0,$1,$2
2. Décodage
3. Execution du programme décodé
Etant donné que le programme est chargé codé, on
ne peut pas purement et
simplement supprimer le décodage... alors comment faire ???
Evident ! Evident !.. Il suffit de "glisser" après la lecture
des mauvaises
valeurs en $0,$1,$2 et avant le décodage, une routine qui
mettrait les bonnes
valeurs en $0,$1,$2. (Les valeurs qui seraient lues si l'original
était dans
le drive !).
Une fois qu'on a le raisonnement, l'application est très simple
à faire !..
On recherche d'abord de la place libre pour y mettre notre routine..
Voilà où j'ai trouvé de la place libre sur ces 2
softs :
_____________________________________________________________________________
!
!
!
Ghostbusters
!
!
!
! Piste $00 Secteur $0A Octets
$CD-$FF Chargé en mémoire en
$4FCD !
! Piste $00 Secteur $0B Octets
$9D-$FF Chargé en mémoire en
$509D !
!_____________________________________________________________________________!
!
!
!
Space
Shuttle
!
!
!
! Piste $00 Secteur $0B Octets
$12-$47 Chargé en mémoire en
$4112 !
! Piste $00 Secteur $0B Octets
$DC-$FF Chargé en mémoire en
$41DC !
!_____________________________________________________________________________!
Pour Designer's Pencil, je ne saurais vous dire où il y a de la
place libre.
Y'aurais pas quelqu'un qui possederais l'original dans la foule, par
hasard ??
On va déja implanter une routine qui replace les bonnes valeurs
($AB, $BC, $CD)
pour Ghostbusters dans les bonnes adresses ($01, $02, $03) :
Adresses - A9 AB LDA #$AB
85
00 STA $00
A9
BC LDA #$BC
85
01 STA $01
A9
CD LDA #$CD
85
02 STA $02
60 RTS
Pour Ghostbusters, on va la mettre piste $00 0A CD (ORG $4FCD)
Pour Space Shuttle, on va la mettre piste $00 0B 12 (ORG $4112)
Pour Designer's Pencil, fouillez un peu vous meme..
Bon... Alors donc, maintenant, dés que l'on bootera Ghostbusters
par exemple,
la routine se chargera en $4FCD mais evidemment ne
s'éxécutera pas ! (elle
n'est pas "appelée"...).
On a vu qu'il fallait l'appeler juste avant le décodage...
On n'a qu'a remplacer le JSR Décodage par un JSR Adresses et au
lieu de
terminer la routine Adresses par un RTS, la terminer par un JSR
Décodage
(si on remplace ce JSR par notre JSR Adresses, il faut bien en remettre
un
pour effectuer le décodage une fois que l'on a remis de l'ordre
dans les bonnes
adresses !!)
===============================================================================
LE PARALLELE entre les protections de Ghostbusters et de Space Shuttle
===============================================================================
_____________________________________________________________________________
!
!
!
!
Ghostbusters
!
Space
Shuttle
!
!______________________________________!______________________________________!
!
!
!
! Piste $01 en "patched" DE AB EB ! Piste
$04 en "patched" DE AB EB !
! Piste $12 en "patched" DE BC EB ! Piste
$05 en "patched" DE BD EB !
! Piste $13 en "patched" DE CD EB ! Piste
$06 en "patched" DE DE EB !
!
!
!
! Chargement + lecture clé en $4F00 !
Chargement + lecture clé en $4000 !
!
!
!
! JSR Décodage en P$0 S$A B$C7 ($4FC7) ! JSR Décodage en
P$0 S$A B$BC ($40BC) !
!
!
!
! Décodage en
$5000
! Décodage en
$4148
!
!______________________________________!______________________________________!
!
!
! Designer's
Pencil !
!______________________________________!
!
!
! Piste $03 en "patched" DE 8B EB !
! Piste $04 en "patched" DE 9C EB !
! Piste $05 en "patched" DE AD EB !
!______________________________________!
===============================================================================
LA PRATIQUE .5 : Les déplombages "cookbook fashion"
===============================================================================
Convertissez les originaux au format 3.3 en utilisant *B942:18 et
l'Adv.Demuff.
Ghostbusters :
--------------
Modifiez piste $00 secteur $0A octet $C7 : 20 D1 4F (20 00 50)
Modifiez piste $00 secteur $0B octet $D1 : A9 AB 85 00 A9 BC 85 01
A9 CD 85 02 20 00 50 60
Space Shuttle :
---------------
Modifiez piste $00 secteur $0A octet $BC : 20 12 41 (20 48 41)
Modifiez piste $00 secteur $0B octet $12 : A9 AB 85 00 A9 BD 85 01
A9 DE 85 02 20 48 41 60
Designer's Pencil :
-------------------
Modifiez piste $00 secteur $0A octet $3D : EA EA (85 00)
Modifiez piste $00 secteur $0A octet $5E : 20 A2 (EE 3E)
Modifiez piste $00 secteur $0A octet $A2 : A9 8B 85 00 A9 9C 85 01
A9 AD 85 02 60
===============================================================================
LA CONCLUSION : Les critiques que l'on peut faire à cette
protection
===============================================================================
On dit souvent que les meilleurs plombeurs sont les
déplombeurs...
En fait, c'est assez logique.. car quand un plombeur met au point une
protection, il la connait comme sa poche et il se dit que tout est bien
planqué
et que ce sera IMPOSSIBLE pour le déplombeur de localiser toutes
les routines
qui forment sa protection !!..
mais c'est compter sans le "flair" du déplombeur...
et ça, seul un déplombeur chevronné qui a vu par
des dizaines de déplombages,
ce qui n'allait pas dans telle ou telle protection, et pourquoi il a su
déplomber tel ou tel programme, et comment la protection
pourrait etre
améliorer, et comment le plombeur aurait pu faire pour lui
compliquer encore
plus le travail; peut vraiment savoir comment faire un plombage qui
résisterait
ou du moins qui LUI resisterait si on lui présentait cette
protection...
donc, plus balaise est le déplombeur, plus balaise est sa
protection, donc
plus balaise est le plombeur !!... (ca a l'air d'un raisonnement
mathématique!)
Dorénavant (et dans la mesure ou il y a des critiques
constructives à faire sur
un plombage), je laisserais toujours une place pour décrire les
points faibles
et les points que l'on pourrait améliorer, dans toutes les
protections que l'on
rencontrera... (Vous progressez en déplombage, vous allez
progresser en
plombage !!)
Allons y...
Les critiques "CONTRE" cette première protection Activision :
-------------------------------------------------------------------------------
* Première méga-critique : avoir utilisé la meme
protection plusieurs fois
Pour un soucis
d'économie, ils ont acheté un plombeur pour plusieurs
softs.. m'enfin.. c'est pas
sérieux ca..
Question, fric..
c'était surement okay.. mais pour le principe, je
suis contre.. !!
* Cette protection, telle qu'elle, n'empeche pas la copie "intacte"
Imaginez le scénario
très fréquent... Albert a acheté dans le commerce
un original incopiable, il
va l'envoyer (l'original) à UN déplombeur
qui, au boot de plusieurs
jours, semaines (ou mois ?), lui renverra
une version
déplombée avec son original...
Maintenant, imaginez que cet
original soit copiable...
Albert le copie.. met
l'original dans sa culotte (plus de risques
avec les PTT, le
café, le chaises à roulettes ou le déplombeur
ignare!)
et en envoye une copie
à CINQUANTE déplombeurs... (y'en a cinquante
valables dans le monde
entier ???). Sur le nombre, il y en a bien
un qui va trouver tout de
suite.. et trois jours après, il recevra
une version
déplombée !!!..
Déplombé plus
vite... Répandu plus vite... Aucun risque de perte...
De plus, si ne Albert ne
connait aucun déplombeur, il peut toujours
répandre une copie
plombée copiable au disk muncher qui ira vite
jusqu'à un
déplombeur si c'est vraiment un soft nouveau !!...
Alors qu'une copie qui ne
marche pas (disk original incopiable) ne se
répandrait pas du
tout... et albert pourrait garder dans sa culotte
son original pendant des
mois avant que quelqu'un d'autre achete le
meme original et le fasse
parvenir à un déplombeur !...
Moralité : Il ne faut
jamais faire une protection qui permette la copie
* Décodage de Ghostbusters repérable facilement (adresses
clé $5000)
Oui.. je parlais tout
à l'heure du "flair" du déplombeur...
Je vous parlais, il y a
quelques cours, d'une piste à chercher, et d'un
Sherlock Holmes de l'octet...
Si vous voyez au milieu
d'une routine qui devrait contenir un
JSR protection (vous avez
boot-tracez, et vous devriez logiquement vous
approcher de ce JSR, vous en
etes sur!..), un JSR à une adresse "clé"
($800, $5000,.. bref, une
adresse "entière") au milieu d'une routine
quelconque qui contient
d'autres JSR eventuellement mais aucun vraiment
à des adresses
entières... là, vous pouvez fortement suspecter que
c'est un appel à la
routine de protection que vous cherchez...
Bien souvent, le programme
est fait par le programmeur chez lui et
APRES le plombeur
intervient... et bien souvent, il va loger sa routine
de protection à une
adresse entière (pourquoi mettre un ORG $9475 alors
que $5000 est beaucoup plus
simple ???.. ils ne pensent pas au flair !)
et ensuite, il va glisser
dans le programme normal un JSR à sa routine.
De plus, bien souvent, il la
loge tout à la fin du programme du
programmeur.. Ce qui fait
qu'en $851 par exemple, on va trouver un
JSR $9000... il n'y a rien
de plus suspect !!... et comme ça ne nous
coute rien d'aller voir ce
qu'il y a en $9000, on tape "9000L" et on
a de fortes chances de
gagner le gros lot !!!...
Moralité : Pour ne
pas eveiller le flair du déplombeur, ne mettez
jamais une routine de
protection independamment au programme.. et
jamais à une adresse
entière !... essayez de la glisser au coeur du
programme.. au besoin, au
niveau commercial, demandez le source du
programme au programmeur
pour tout reloger à votre manière...
(9 fois sur dix, il ne
comprendra pas pourquoi et gardera son source
jalousement !!!)...
* Décodage très complexe mais court-circuitable
facilement !!
La routine de
décodage du programme est très complexe mais pour tout
vous faire comprendre de ce
plombage, je n'ai meme pas eu à vous la
lister !.. c'était
inutile d'aller la décortiquer alors qu'elle est
utilisable telle qu'elle
dés qu'on a obtenu la clé de décodage !!...
Comment faire pour
améliorer ça ??
Ils auraient du mettre DANS
LE PROGRAMME CODé, une vérification
(checksum) pour voir si l'on
a modifié un quelconque octet de tout
ce qui a été
chargé précedemment... à ce niveau là,
puisque le
déplombeur est
OBLIGé de modifier l'appel au décodage, il aurait
aussi été
obligé de modifier le programme codé !!...
et comme le décodeur
ne permet pas de coder, il aurait du entièrement
le décortiquer afin
de programmer lui meme tout un codeur..
Ensuite, il aurait
décodé le programme, modifié le programme, et
recodé le programme...
Cependant, il aurait pu (et
c'est en fait surement ce que j'aurais
fait), retrouver le
programme codé sur le disk (on a tout en mémoire,
c'est facile de tout
retrouver sur le disk, non?), tout décoder en
mémoire (facile une
fois qu'on a la clé) et ensuite sauver sur le disk
le programme
décodé à l'emplacement du programme codé..
ainsi, on se
débarassait
définitivement de tout codage...
Moralité : Ce qui
compte n'est pas SEULEMENT la complexité d'un codage,
mais aussi l'utilisation de
ce codage, ce qui l'entourre.. son
environnement... Si on fait
un super décodeur et que l'on code super
bien son programme, il faut
s'arranger pour que ce super codeur soit
le plus
incompréhensible possible et que le déplombage passe
obligatoirement par sa
compréhension totale !!.. ce qui repoussera
beaucoup de
déplombeurs peu expérimentés !...
Question Space Shuttle, la
routine de décodage, au lieu de $5000
était en $4148... je
suis sur qu'ils n'ont pas fait ça contre le
flair des déplombeurs
mais simplement parce qu'ils ont modifié la
routine qui
précèdait le décodage dans le plombage de
Ghostbusters
dans le source, ce qui a
repoussé le décodage.. le bloader étant logé
en $4000, au lieu de $4F00,
le décodage ne se trouve plus en $5000
mais en $4148. (La routine
précédente a été ralongée de $48
octets !!)
Bref.. Cherchez pas à
comprendre mais retenez ça : le déplombage de
Space Shuttle m'a
posé bcp plus de problemes de celui de Ghostbusters
uniquement à cause du
fait que j'avais une routine avec pleins de
JSR partout et que aucun
n'avait d'adresse entière.. j'ai tout essayé
pour trouver le bon... Si ca
avait été un JSR $5000 au lieu de $4148,
j'aurais trouvé bcp
plus facilement et rapidement !
..mais malheureusement, ils
ne l'ont pas fait exprès !!!
* Vérif' (relativement) au boot (retrouvable en boot-tracant :
facile)
Eh! oui.. Là c'est
une critique que l'on retrouve souvent !!....
Les routine qui constituent
le plombage se trouvent éxécutés dés le
boot, alors s'ils veulent
les planquer au boot, qu'ils compliquent
le boot-tracing bordel !!...
Là c'est comme si on
boot-tracait un DOS 3.3... c'est pas plus dur que
ça !!!...
Je prépare depuis
quelques temps un super cours concernant les boot-
tracings balaises (comment
les comprendre et en venir à bout) qui
expliquera aussi comment
compliquer un boot de manière la plus
dingue possible (qui me
caractérise!!)...
===============================================================================
LA COPIE .1 : Copiez ces originaux avec le Disk Muncher...
===============================================================================
Le Disk Muncher ne tient pas compte des Epilogues lors de la lecture
mais il
les charge quand meme en mémoire pour les réécrire
INTACTS sur la copie !!..
Tout ce qui est plombage par Dos Patched, s'il n'y a pas de
vérif' d'une autre
sorte derriere ce format "patched", se copie au Disk Muncher sans
probleme...
Attention au Disk Muncher 10.00 qui est completement bugué quand
vous ne copiez
pas un disk entier mais seulement quelques pistes !
===============================================================================
LA COPIE .2 : Copiez ces originaux avec le Locksmith 6.0 rapide
===============================================================================
On va essayer de copier l'original de Ghostbusters avec le 6.0 rapide...
Commencez par faire une copie desquelles il manquera la piste $01, $12
et $13
qui sont illisibles en format normal... Maintenant, on va modifier ce
format
dans le 6.0 (parametres de copie) pour copier ces 3 pistes de
manière intacte
sur la copie que vous venez de faire et où elles manquent
cruellement !!
Vous vous rapellez les parametres de copie du locksmith 6.0 rapide ?
Je vous en avait parlé dans le cours 6...
Pour copier une piste en format D5 AA 96 DE AA EB D5 AA AD DE AA EB,
vous
n'avez rien à faire,.. juste à taper sur la barre
d'espace...
mais si le format change (prenons la piste $01 de Ghostbusters qui est
en
D5 AA 96 DE AB EB D5 AA AD DE AA EB), il faut adapter les parametres de
copie..
Pour la copier de manière intacte, on va modifier les parametres
Headers de
copie à la lecture et l'écriture pour le second octet de
l'épilogue adresses.
Sous locksmith 6.0 rapide, tapez 00EC (return) puis AB (pour modifier
le AA
du second octet de l'épilogue adresses à la lecture),
puis 00F8 (return)
puis encore AB (pour modifier le meme Headers à
l'écriture)... maintenant,
votre locksmith est pret à copier un disk entier au format D5 AA
96 DE AB EB...
mais on n'a seulement la piste $01 qui soit à ce format
là...
On va donc modifier les parametres "Piste de départ" , "Piste
d'arrivée"...
Pour se faire, tapez 0008 (return) puis 01 au lieu de 00 (on veut
uniquement
copier la piste $01).. tapez ensuite 0009 (return) puis 01 au lieu de
22,
pour modifier la piste de fin...
Maintenant, vous n'avez qu'à introduire votre original de
Ghostbusters..
taper Espace.. le locksmith va lire la piste $01 qui se lit
parfaitement bien !
(enfin!) alors que toutes les autres pistes sont maintenant illisibles..
(le format de la piste $01 auquel on vient d'adapter le 6.0, n'est que
sur la
piste $01 !!)...
Vous avez en drive 2 le disk copie (auquel il manque les 3 pistes)...
Le locksmith va copier au meme format que l'original (on a aussi
modifié le
format à l'écriture dans le locksmith!) la piste $01
!!... la copie de cette
piste est intacte en format epilogue adresses DE AB EB...
A vous de copier pareillement les 2 autres pistes incopiables en
modifiant
les parametres en fonction du format cité plus haut pour ces
deux originaux !
Et la copie va marcher parfaitement.. aussi bien que l'original !
===============================================================================
LE PLOMBAGE : Comment plomber vos disks avec la meme protection
===============================================================================
D'ici peu de temps, j'aurais terminé le PLOMB DISK ACTIVISION 1
qui vous
permettra de réaliser exactement le meme plombage (vous pourrez
l'améliorer
vous meme si vous le désirez !!) sur un disk à vous en
boot 3.3 !!
Réalisé avec Oliver Twist, c'est vraiment un plombeur
très sympa...
(Il m'a fallut 46824 caractères pour tout en décortiquer
!)
===============================================================================
Bon, je vous laisse ici.. salut!.. et à la prochaine pour le
second chapitre de
la série de 3 cours sur les protections Activision !... (Courage
!!)
Amicalement, GODFATHER
===============================================================================
LES PROGRAMMES DE CE
DISK
Cours 14
===============================================================================
Vous trouverez sur ce disk les sources complets et
détaillés de toute la
protection décrite dans le cours !...
Ces sources sont evidemment entièrement relogeables et sont
à assembler avec
Big Mac, Merlin, ou Merlin Pro.
Vous avez le source de :
GHOSTBUSTERS.RWTS ; Le boot 2
GHOSTBUSTERS.READ NIBB ; La lecture du format + load
GHOSTBUSTERS.DECODE ; Le décodage avec la
clé
Je vous ai aussi mis ou remis ADVANCED DEMUFFIN 1.1, DISK MUNCHER et le
LOCKSMITH 6.0 Fast Disk Backup qui sont utilisés dans le cours
!...
===============================================================================
===============================================================================
ET LA PROCHAINE
FOIS..
Cours 15 et suivants...
===============================================================================
Ma foi.. je ne sais pas encore pour le cours 15...
Je dois faire les 2 autres cours sur les protections Activision.. mais
pas tout
de suite, je voudrais souffler un peu et vous laisser souffler aussi,
sinon
je vais vous inculquer la haine des protections Activision!...
Je vais donc laisser passer au moins un cours avant de m'attaquer
à la seconde
protection Activision...
En attendant, il y a toujours des propositions de cours en l'air :
* Tom E. Hawk
Boot (Chapitre Signatures de disks
déplombés)
* Tout sur Electronic Arts
* Tout sur.. la suite du
cours "Mise en catalog"
* Tout sur les boot-tracings
balaises..
* Tout sur les images
codées à signer.. et sur les codages d'images...
J'aimerais vraiment faire un de ces cours comme cours 15...
Faites moi vite votre choix...!!
Amicalement, GODFATHER
===============================================================================
.FE1
.MD80
.PS^
.LI67
UPDATE 13/07/87
TOUS LES ORIGINAUX DES COURS DE DEPLOMBAGE PAR GODFATHER
================================================================
BIBLIOTEQUE D'ORIGINAUX / APPENDIX
Pour plus de renseignements, contactez moi sur minitel code ANTI
bal GODFATHER
Cours 1 : Tout sur les protections par Dos Patched
-------------------------------------------------------------------------------
Temple of Apshai Trilogy..........Disk Muncher 8.00.........Patched pas
vérifié
Halley Project....................Disk Muncher 8.00.........Patched pas
vérifié
Cours 2 : Tout sur les protections par Dos 3.3 modifié
-------------------------------------------------------------------------------
Fortress of the Witch King........Echo + et P$0 à l'EDD4....
Tap //c...........................
Mirv..............................(n'est plus disponible en copie
plombée)
Cours 3 : Tout sur la RWTS 3.3
-------------------------------------------------------------------------------
Cours 4 : Tout sur le DOS 3.3
-------------------------------------------------------------------------------
Cours 5 : Tout sur la signatures d'images non codée 32 sect.
accès direct
-------------------------------------------------------------------------------
Cours 6 : Tout sur le Plombage/Deplombage par Dos Patched
-------------------------------------------------------------------------------
Cours 7 : Tous les complements des cours 1,3,5
-------------------------------------------------------------------------------
Cours 8 : Tout sur la recherche d'octets
-------------------------------------------------------------------------------
Cours 9 : Tout sur la signature d'images compressées
chargées en accès direct
-------------------------------------------------------------------------------
Cours 10 : Tout sur la dernière protection EPYX
-------------------------------------------------------------------------------
Championship Wrestling............Epyx Copy 1.00....Désynchro en
P$0 physiq' $8
Movie Monster Game................Epyx Copy 1.00....Désynchro en
P$0 physiq' $8
Cours 11 : Tout sur la technique de mise en CATALOG simple
-------------------------------------------------------------------------------
Cours 12 : Tout sur les signatures de softs déplombés en
mode TEXTE
-------------------------------------------------------------------------------
Cours 13 : Tout sur la pratique : signature de l'image compr' de
M.Monst.Game
-------------------------------------------------------------------------------
Cours 14 : Tout sur les protections ACTIVISION. 1er Chapitre.
-------------------------------------------------------------------------------
Ghostbusters......................Disk Muncher 8.00.....Patched
clé de décodage
Space Shuttle.....................Disk Muncher 8.00.....Patched
clé de décodage
.FE1
.MD80
.PS^
.LI67
UPDATE 13/07/87
FICHIERS DE DEPLOMBAGE / APPENDIX
===============================================================
TOUS
LES COURS "PARTICULIERS" DE DEPLOMBAGE PAR GODFATHER
Pour plus de renseignements, appelez moi sur minitel code ANTI
bal GODFATHER
COURS 1 : Les Protections
primaires...
25/12/86 Par Godfather
===============================================================================
Révision 2.21
* LES PROTECTIONS 'DOS PATCHED' (Comment commencer le
déplombage...)
* Un nouvel outil - ADVANCED DEMUFFIN 1.1
* A DEPLOMBER - TEMPLE OF APSHAI TRILOGY
* BONUS : Bidouilles BLACK MAGIC, BORROWED TIME, POLO, TRACER
SANCTION...
* GODFATHER RACONTE, Introduction...
COURS 2 : Les Protections par DOS 3.3
Modifié...
Décembre 86 / Godfather
===============================================================================
Révision 1.0C
* LES PROTECTIONS BASEES SUR UN DOS 3.3 MODIFIE. COMMENT FAIRE ?
* LE BOOT TRACING D'UN DOS 3.3 COMMENTE EN DETAILS
* UNE PREMIERE UTILISATION DE BREAK (en dernier recours seulement !)
* Un nouvel outil - ADV DEM. BOOT TRACER 1.2
* A DEPLOMBER - THE FORTRESS OF THE WITCH KING ou TAP //c
* Les DEPLOMBAGES complets et expliqués clairement pour ces deux
premiers cours
(Différences des marqueurs analysées, la
méthode la plus rapide...etc)...
* GODFATHER RACONTE : Un déplombeur, c'est quoi ?? c'est qui ??
COURS 3 : Tout ce qu'il faut savoir sur la RWTS 3.3...
Janvier 87 / Godfather
===============================================================================
Révision 1.31
* COMMENT MAITRISER TOTALEMENT LA RWTS 3.3...?? (Indispensable !!!)
* Un nouvel outil - DOS 3.3 BOOT TRACER (C) GODFATHER'S PRODUCTS
* Des EXERCICES fous sur la RWTS à faire...(pour mieux
comprendre le cours!)
* GODFATHER RACONTE : Les utilisateurs d'Apple... c'est qui ??
COURS 4 : Tout ce qu'il faut savoir sur le DOS 3.3...
01/13/87 Par Godfather
===============================================================================
Révision 1.00
* L'ORGANISATION DES FICHIERS SUR UN DISK DOS 3.3.. (les plombeurs
maitrisent
totalement ces connaissances, il vous faut donc comprendre
comment ils
ont (éventuellement) réogarnisé le disk)
* DEUX nouveaux outils - DISK RECOVERY et DISK FILLER 3.1 !!!
* Un nouveau défi - Récuperer DISK RECOVERY qui
n'apparait pas dans le CATALOG
* Un fichier explicatif sur DISK FILLER 3.1
COURS 5 : Signez vos disks
déplombés...
22/01/87 Par Godfather
===============================================================================
Révision 3.00
* COMMENT SIGNER LES DISKS QUE VOUS AVEZ DEPLOMBE ?!?...
(Les images qui se chargent en accès direct du disk et
nom pas en catalog)
* Pleins de nouveaux outils complètement TOP-SECRET :
- SMART SCAN + ERROR (C)
DAVID MICROCOSM
- CHASSEUR D'IMAGES
(C) HEBDOGICIEL (Prix 10000F Concours mensuel)
- QUICK
SEEKER (C) COCHONOU CRACK BAND
- PICTURE
FINDER (C) MISTER DD (TMC)
-
PICSCAN
(C) THE ALIEN
(NEW) -
AUTOSCAN
(C) CHIP SELECT
(NEW) - MANUAL
SCAN (C) COPYART
(NEW) - INDISCRETION 2.00 (C) PATCHMAN
COURS 6 : PLOMBAGE /
DEPLOMBAGE
Un cours par Godfather et Kristo
===============================================================================
Révision
1.00
1er Mai 1987
* Toute la théorie, toute la pratique sur le plombage, la copie
plombée et le
déplombage des disks ayant les champs de fin
modifiés (Dos patched)..
* Un programme 'on ne peut plus' inédit : le PLOMB DISK GDF V1.8
qui va vous
permettre de plomber N'IMPORTE QUEL DISK comme vous voudrez
(source
modifiable très facilement)...contrairement à tous
les programmes de plombage
actuels commerciaux (LOCK IT UP, CERBERE 2.0, PROTECTOR
3.0..etc...) qui ne
plombent que des softs sous DOS 3.3 MASTER !!!
* Le programme 'DEFENSEUR' (MIRAGE) programmé par SAM et parut
dans Hebdogiciel
83 secteurs de language machine..le tout PLOMBé en FBoot
(!) avec le GDF 1.8.
* Un locksmith rapide (FDB) modifié par votre serviteur pour
plomber, déplomber
ou copier des disks plombés en dos patched (on fixe les
Headers..)
COURS 7 : LES REPONSES A VOS QUESTIONS COURS 1, 3,
5 Un cours par Godfather
===============================================================================
Révision
2.00
05/06/87
Après analyse et synthèse de toutes vos questions
(interessantes) à propos du
contenu des cours précédents, ce COMPLEMENT #1 regroupe
toutes les réponses
vraiment très détaillées... C'est ce qu'on
pourrait appeler :
* Vous n'avez pas compris la théorie.. Alors je vous l'explique
par la pratique
La pratique sera, pour les differents cours :
Cours 1 : Pourquoi B942:18 permet-il de lire certains originaux...?
Cours 3 : Résolution d'exercice. Le programme de copie en basic,
pas à pas
Cours 5 : Retrouvez et signez une image de boot (tout expliqué
par la pratique)
Avec, pour vous simplifier la vie, deux super routines folles :
Pour détourner toutes les difficultés de la RWTS :
SREAD/SWRITE
Pour éviter l'achat INDISPENSABLE d'une machine : Convert'
HEXA <--> DECIMAL
Avec tous les programmes du cours en catalog ainsi que la
première application
des commandes SREAD/SWRITE : Le GDF SECTOR COPY 2.00...
(Dés le cours 9 révision 2.00 on utilisera cette routine
galactique...)
+ le déplombage complet et détaillé : MIRAGE
(plombé PLOMB'DISK GDF / cours 6)
+ un nouvelle épisode de la Saga épique : GODFATHER
RACONTE... Radio France!!
+ une copie d'original à déplomber : THE HALLEY
PROJECT (C) MINDSCAPE
COURS 8 : TOUT SUR LA "RECHERCHE" D'OCTETS (Disk ou
Ram) Par Godfather
===============================================================================
Révision 3.00 (2
faces)
20/06/87
Les prochains cours necessitent certaines connaissances... alors pour
bien se
préparer, ce cours va vous appendre TOUT (Absolument TOUT) sur :
* La recherche d'octets en mémoire
* La recherche d'octets sur un disk (au format normal)
* La recherche de données codées (EOR quelconque)
* La recherche d'octets "à trou"
* La recherche d'octets sur des disks plombés
* La recherche d'octets sur des disks 3.5" (pas encore testé)
* La recherche de tout un secteur (identique à celui en
mémoire)
Avec un super éditeur de secteurs en 80
colonnes/Joystick/Souris/Clavier !!!!!!
Avec comme toujours pleins de nouveaux outils (Les 3 meilleurs sont
inédits!) :
* Le CORE DISK SEARCHER (C) HARDCORE COMPUTIST
* ANSTROM 1.00 (C) DANNY SECTOR from PAD
* SCAN DISK EOR (C) KRISTO 1987
* Le COPY II+ 5.x
* Le FIND du DAVID DOS
* Le scanner d'octets de POMS 29
* GODFATHER RACONTE : Big Shits.. ERRATUM contre CHIP SELECT!..
et un fichier expliquant ce qui nous sera utile pour le cours 9 dans
MERLIN PRO
Ainsi, vous saurez tout pour passer au cours suivant :
COURS 9 : Signez vos disks déplombés Part2 (Images
Compressées Part1) Godfather
===============================================================================
Révision
1.00
Le 29/05/87
* COMMENT SIGNER LES DISKS QUE VOUS AVEZ DEPLOMBE ?!? (2eme Partie)
(Les images compressées et le décompresseur se
chargent en accès direct)
Ce cours va vous expliquer le plus clairement possible comment signer
une
image au boot d'un disk que vous avez déplombé, quand
cette image n'est pas en
catalog ni codée mais compressée...
Le principe est simple : il faut : RETROUVER LE DECOMPRESSEUR SUR DISK,
PUIS
EN MEMOIRE, PUIS RETROUVER L'IMAGE EN MEMOIRE, PUIS SUR DISK, PUIS TOUT
CHANGER
mais la pratique ne l'est pas toujours... Dans ce fichier, tout est
décomposé !
* Pleins de Compresseurs/Décompresseurs avec quelques sources
reconstitués :
- TRAITIMAGE 1.4 (C)
HEBDOGICIEL Source
décomp'
-
INFOGRAMMES (C)
INFOGRAMMES Source complet
comp' décomp'
- BEAGLE COMP'
(C) BEAGLE BROS -
- LAURENT RUEIL (C)
CCB
-
- COMP'
N.IV (C)
-
-
- SCRUNCH/UNSCR. (C)
-
-
- PAC' UNPACK'
(C)
-
-
* GODFATHER RACONTE : L'escroc qui aimait le IIGS...!
COURS 10 : TOUT sur la dernière protection
EPYX
Godfather
===============================================================================
Révision
1.00
08/06/87
Plus de 150 secteurs de fichier texte (!!) pour TOUT comprendre sur leur
plombage actuel et pour etre capable de déplomber les deux
derniers Epyx,
Championship Wrestling et Movie Monster Game... et evidemment tous les
prochains donc le super : SUPER CYCLE...
Original au choix * Championship
Wrestling (2 faces)
* Movie Monster
Game (2 faces)
et bientot : * Super Cycle
* World Games (Copies
100% identiques à l'original !)
* GODFATHER RACONTE : Pourquoi ne changent ils pas toujours leurs
protections ?
Copieur d'originaux
EPYX
Par KRISTO
===============================================================================
Révision
1.00
(C) Godfather's Products #1
Les softs Epyx dont je parle dans le cours 10 ne sont PAS copiable du
TOUT
avec AUCUN programme de copie actuellement disponible sur le
marché...
Que ce soit LOCKSMITH 6.0 lent, EDD4, CRAZY COPY.. aucun ne peut vous
fournir
une copie qui boote correctement...
Ce programme va vous permettre de copier vos originaux et vous en
donnera une
copie 100% identique à l'original !!.. ("Mettez l'original en
drive 1, un disk
vierge en drive 2; et attendez le miracle !!!"...)...
COURS 11 : TOUT sur la mise en CATALOG
"simple"
Godfather
===============================================================================
Révision 1.00
Vous saurez absolument tout sur...
* COMMENT METTRE EN CATALOG TOUT CE QUI PEUT SE METTRE EN CATALOG...
C'est à dire : - Comment retrouver l'adresse de départ
d'un programme ???
- Comment déterminer sa longueur ??? (On ne peut pas tt sauver)
- Comment sauver et executer le programme sous DOS (ou ProDOS)
* GODFATHER RACONTE : Déplombage Mode D'Emploi !!...
Cours 12 : TOUT sur les signatures en
texte...
Godfather
===============================================================================
Révision
1.00
20/06/87
TOUT.. TOUT.. TOUT... en ce qui concerne les techniques de signature
d'un
soft basé sur un Boot 3.3 (soit environ 9 softs sur 10 !!)...
On parlera :
- De programmation assembleur : La routine
Print...
- De codage, de temporisation : Codez,
décodez, attendez...(codage simple)
- Des bugs du GS (l'inverse quand le drive
tourne fait tout planter!)
- Du boot 3.3 (où implanter la routine
Print?)
- Du boot barbare (où implanter la
routine Print?)
* GODFATHER RACONTE : L'échelle de "balaisité"
/déplombage/plombage/bid/prog...
DOS EOR MAKER
1.00
Par GODFATHER et SAM
===============================================================================
Fichier explicatif Révision
1.00
(C) Godfather's Products #2
LA PREMIERE PROTECTION CONTRE LES CURIEUX !!....
* Protégez vos données des indiscrets armés d'un
éditeur de secteurs...
Tous les secteurs du disk (meme le CATALOG!!) seront
incompréhensibles mais
néanmoins, votre disk aura un boot et un environnement
DOS tout à fait
classique...
* PersonnPalisez le DOS vous meme...(255 combinaisons possibles!)
* Compatibilité DOS 3.3 classique par un simple POKE !... (pour
charger
des fichiers, un fois d'un disk EOR, une autre fois d'un disk
normal!)
* Comprenez le codage pour mieux l'améliorer (un fichier texte
vous détaille
tout!!)
* En quoi le DOS EOR peut empecher bcp de déplombeurs moyens de
vaincre !!!
Cours 13 : Signer une image compressée.. La pratique
!
Godfather
===============================================================================
Révision
1.00
20/06/87
La théorie, c'est beau.. Ca explique tout.. Mais pour tout avoir
vraiment dans
la peau, il faut pratiquer !!...
Ce cours se propose de vous montrer comment j'ai signé l'image
compressée de
Movie Monster Game, sachant qu'elle était
compréssée avec un compresseur que
je ne connaissait pas, ce compresseur étant
réutilisé plusieurs fois (il n'est
donc pas remplaçable !!)... J'explique tout mon raisonnement
depuis le début
pour tout de meme le remplacer !!
Ce qui était trop balaise en théorie va vous sembler
super évident !!
Cours 14 : Tout sur les 3 protections Activision.. 1ere
protection Godfather
===============================================================================
Révision
1.00
13/07/87
Tout sur la 1ere des trois protections utilisées par
Activision..."Nibble Key"
Un classique des schémas de protection!... (Meme principe que le
plombage
utilisé par Epyx et que celui de Lucky Process!...)
J'y décortique completement TOUTE LEUR PROTECTION :
- La théorie :
Le principe de la protection "Nibble Key"
- La découverte : Pour voir
comment la protection se présente...
- La pratique .1 : La conversion au format 3.3
avec Adv. Demuffin 1.1
- La pratique .2 : La recherche de la
vérif'...
- La pratique .3 : La compréhension de
toute la vérif' (lecture + décode)
- La pratique .4 : La "déconnection" de
la vérif'
- Le parrallele : Les adresses
clé de cette protection ds Space Shuttle
- La pratique .5 : Les Déplombages
"cookbook fashion"
- La conclusion : Les critiques que l'on
peut faire à cette protection
- La copie .1 : Disk Muncher
(Pourquoi ça marche ??)
- La copie .2 : Locksmith
6.0 Fast Disk Backup (comment faire ??)
- Le plombage : Plombez vos
disks avec cette protection !!
Original au choix : - Space Shuttle (Copies
100% identiques à l'original !)
- Ghostbusters
Ca, c'est un cours qu'il est beau...
SOURCE COMPLET du FBOOT utilisé dans tous les ELECTRONIC
ARTS par Godfather
===============================================================================
Révision 1.00 au
12/07/87
(C) Godfather's Products #3
TOUT le FBoot Electronic Arts reconstitué en Fichier SOURCE
MERLIN PRO!
Plus rapide que le FBoot de Chip Select (Tsunoo) et que celui de Sam !
Entièrement relogeable et ré-utilisable....
..et bientot, un FBoot maker adapté, avec un Pseudo-Catalog
!...(Révision 2.00)
Et voici maintenant des propositions de cours futurs :
01. Tout sur les Activision (2eme et 3eme protection d'Activision)
02. Boot tracings complexes !.. comment les suivre ???... comment en
créer ??
03. Cours de codage : comment coder vos signatures txt ou graphiques...
04. Tout sur le boot de "Tom E.Hack"... Comment faire un tel boot ?
05. Tout sur les Electronic Arts (TOUT c'est à dire bien mieux
que DEP ME!!)
06. Comment mettre en 2nd stage file tout ce qui peut pas se mettre en
CATALOG
07. Comment mettre en Mad Compactor tout ce qui peut pas se mettre en
2nd St.F.
08. Comment signer les images codées et comment coder vos images
09. Comment faire un "FIX" ?? (Retrouver les nombres de vies, les
players....)
10. Etude complète du Lock-It-Up (Plombage/Déplombage
pour toutes les options)
11. La protection de Don Juan (Dos
modifié de façon très originale!)
12. Tout sur le Plombage/Déplombage : Protection Nibble count !!!
13. Tout sur les
Datasofts (+Original)
14. Boot tracings balaises (comment compliquer le boot...comment le
comprendre)
15. Plombage/Déplombage avec la protection de Lucky process
(Très chouette!)
16. Plombages/Déplombages avec Plombage mode d'emploi 1
17. Plombages/Déplombages avec Plombage mode d'emploi 2
18. Comment vaincre (dans la joie!) le Protector 3.0.
Faites moi votre selection... Ils sont plus ou moins classés par
interet...