Disk : Gdf25.dsk
"-" files are DELETED files | "*" files are LOCKED files
----------------------------------------------------------------------
B A$2000 (008192) L$0C21 (003105) 014 MASTER.SYSTEM
B A$0901 (002305) L$021F (000543) 004 MASTER.SYSTEM.S
B A$1000 (004096) L$1000 (004096) 018 MSYSTEM.OBJ
B A$0901 (002305) L$43AC (017324) 069 MASTER.SYSTEM.OBJ.S
B A$0901 (002305) L$0840 (002112) 010 VERIF RRABBIT.S
B A$8000 (032768) L$0133 (000307) 003 VERIF RRABBIT
T A$0000 (000000) L$0A00 (002560) 010 T.LES PROGRAMMES DE CE DISK
T A$0000 (000000) L$6000 (024576) 096 T.COURS 25 REVISION
1.00
*A A$0000 (000000) L$009D (000157) 002 VERIF.ROGER RABBIT
T A$0000 (000000) L$0500 (001280) 005 T.INTRODUCTION
A A$0000 (000000) L$0B75 (002933) 013 HELLO
A A$0000 (000000) L$001F (000031) 002 MASTER.SYSTEM.OBJ
T A$0000 (000000) L$0700 (001792) 007 DEPLOMBAGE ROGER RABBIT
This catalog contains 13 files. 0 were DELETED.
----------------------------------------------------------------------
DOS 3.3 |
Download Cours GDF 25 rev 1.00 (gzipped) |
Lien | Article |
Introduction. | |
Cours 25 révision 1.00. | |
Les programmes de ce disk. | |
Déplombage de Roger Rabbit. |
===============================================================================
INTRODUCTION
Godfather, Janvier 89 !
===============================================================================
Cours 25 Révision 1.00
Salut les fous !
Voici un nouvel éditeur sur Apple..
Buena vista software!
Voici un nouvel
original..
Roger Rabbit
Voici une nouvelle
protection..
Inédit!
Voici un nouveau cours de déplombage.. Cours 25 !!
Voici un nouveau type de
cours.. ProDOS !!!
A suivre donc dés le prochain soft Buena Vista qui arrivera !!
Il vous sera communiqué en avant première comme toujours
!! Ok?
Allez, va!
==============================================================
Amicalement, GDF
===============================================================================
COURS 25 : La protection Buena Vista Software , Rogger
Rabbit Godfather
===============================================================================
Révision
1.00
Update Janvier 1989
Salut les fous !
A chaque fois qu'un nouvel éditeur apparait, on est toujours
à l'affut de son
premier logiciel.. quel qu'il soit.. et uniquement (en tant que
déplombeur),
pour voir un peu quelle nouvelle protection va nous arriver..
Aujourd'hui, et peu de temps après Taito corporation, voici la
nouvelle
protection trouvée sur le premier soft de chez Buena Vista
Software...
et en un temps record, voici un cours complet sur ce sujet. original
inclus !
Originalité : tout se passe ni sous DOS 3.3 , ni Boot 3.3 , mais
sous ProDOS !
Occasion pour moi de vous dire quelques mots sur ce système
d'exploitation,
pour lequel, je dois l'avouer, j'ai dit beaucoup de mal.. essayons
aujourd'hui
d'en dire du bien..
Sommaire Maestro :
Déplombage
----------
1. La découverte de la protection sous ProDOS (Quelques mots sur
le ProDOS)
2. Indices à rechercher ($C08C,X / Tracing ProDOS files / Texte
/ ProDOS Func.)
3. Le plan de la disquette originale avec Copy II+ 8.2 ProDOS
4. Recherche vérification sur le disk par $C08C,X _ Copy II+ 5.x
5. Recherche vérification dans les fichiers de la
vérification
6. Recherche vérification par le systeme ProDOS! Fonction QUIT.
7. Listing et source du fichier principal contenant la
vérification
8. Le source très commenté de la vérification
9. La vérification est-elle déconnectable ? Pourquoi, et
Comment l'annuler ?
===============================================================================
1. PROTECTION ProDOS : A la découverte de cette nouvelle
protection!
===============================================================================
Première chose faite, comme toujours, un essai de copie de
l'original.. qui
passe très bien au locksmith rapide.. on va ensuite booter
l'original, qui
enchaine du boot ProDOS au jeu sans probleme, alors que la copie ainsi
faite
vous ramene au selectionneur "Next Application" dés le boot...
Que s'est-t-il passé entres les deux ?
Une série de nibble planquée sur l'original et
vérifiée au boot, ne se
trouvant plus sur la copie, la copie plante en revenant au prodos au
lieu de
charger le boot du jeu...
Quelle est la commande prodos qui ramene au selectionneur ?
C'est la commande mli quit. mais on va voir ca plus en détail..
pour les fous du prodos, aucun probleme.. pour les autres, voilà
tout !
Comment faire pour retrouver (et annuler l'effet de) cette
vérification disk ?
C'est ce que nous allons voir tout de suite..
Les outils à posseder
: - COPY II+
ProDOS (Avec ce cours!)
Les outils pour éditer la vérif - Copy II+
5.x (Copy
Enfoires Disk!)
- Merlin Pro
- ProDOS
Disk (Avec
un BASIC.SYSTEM)
Première chose à faire face à un original :
_____________________________________________________
!
!
! Faire un essai de copie locksmith rapide pour voir !
! si l'on est en face d'un protection format ou d'une !
! protection nibble. (voir cours 1 pour + de détails) !
!_____________________________________________________!
===============================================================================
2. LES INDICES ET LES METHODES DE RECHERCHE POSSIBLE
===============================================================================
Il y a deux méthodes, en gros, pour retrouver la
vérification disk, que l'on
va coupler dans le déplombage proposé dans ce cours,
à savoir :
- Recherche disk d'une
lecture de nibble (instruction LDA $C08C,X
c'est à
dire les octets BD 8C C0 ou plutot 8C C0 ou encore EC C0).
(pour plus de
détails lire cours 10, 10.2 ou encore 14.2...)
- Recherche parmi les
fichiers launcher du disk qui est en ProDOS
classique avec
un catalog prodos normal.
Le but du jeu etant de retrouver la vérification disk original
c'est à dire
une routine de lecture de nibbles qui donc passe obligatoirement, si
elle
n'est pas codée, par l'instruction LDA $C08C,X avec X = #$60 ou
alors
LDA $C0EC ou LDY $C08C,X ou LDY $C0EC.. $C0EC étant l'adresse
fill_latch
c'est à dire la base de la lecture des nibbles. Mais on aura
l'occasion d'en
reparler plus en détail bientot...
Pour la vérif, puisqu'elle se produit au boot, on peut aussi
donc penser à
aller inspecter les fichiers de boot en les chargeant betement et
simplement
par un bload sous prodos et en listant leur contenu sous moniteur..
à la
recherche des memes C08C,X ou C0EC. (octets 8C C0 ou EC C0)
La règle d'or est donc la suivante :
___________________________________________________________
!
!
! Disk copiable au locksmith mais qui plante
:
!
! Il y a donc une verification disk par lecture de nibble !
! Il faut donc rechercher des LDA $C08C,X ou LDA $C0EC, sur !
! le disk, et/ou en mémoire... et
lister..
!
!___________________________________________________________!
===============================================================================
3. LE DISK MAP DE LA DISQUETTE DE ROGER RABBIT et QUELQUES MOTS SUR LE
ProDOS
===============================================================================
Bootez maintenant un copy II+ ProDOS (inclus avec ce cours), c'est le
meilleur
moyen d'aller jeter un oeil à des fichiers sur un disk ProDOS..
alors, let's go
L'option CATALOG nous donne ceci :
CATALOG DISK
/DISK1SIDEA
NAME
TYPE BLKS
MODIFIED CREATED
ENDFILE SUBTYPE
a PRODOS
SYS 32
14-APR-88 30-NOV-88
15485 A=$80E8
b DHRSFONT
BIN 5
16-NOV-88 30-NOV-88
2048 A=$2000
c TITLE
BIN 33
23-NOV-88 30-NOV-88
16384 A=$2000
d
BV
BIN 33
23-NOV-88 30-NOV-88
16384 A=$2000
e CREDITS
BIN 33
02-MAY-04 30-NOV-88
16384 A=$2000
f HERMAN.FOLD BIN
33 23-NOV-88
30-NOV-88 16384 A=$2000
g HERMAN.ARMS BIN
33 23-NOV-88
30-NOV-88 16384 A=$2000
h CREDITS2
BIN 33
30-NOV-88 30-NOV-88
16384 A=$2000
i MASTER.SYSTEM SYS
8 30-NOV-88
30-NOV-88 3105
j SIGNON
BIN 8 <NO
DATE> 30-NOV-88
3420 A=$6000
k PROG0
BIN 1
30-NOV-88
30-NOV-88 367 A=$6000
l
FONT
BIN 3
24-AUG-88 30-NOV-88
1024 A=$8C00
m
SHRS
BIN 3
30-NOV-88
30-NOV-88 587 A=$D000
L'option DISK MAP sur la face de boot de roger rabbit, nous donne ceci
(résumé en une page de tous les fichiers et des secteurs
occupés):
_____________________________________________
!
!
!
TRACK
1
2 ! J'ai laissé des indications
!
0123456789ABCDEF0123456789ABCDEF012 ! donnés par le copy II+
Prodos,
!
! les données suivantes :
! S0
0aaaa
i à !
! EE
0aaaa
i à ! 0 - Emplacement du boot ProDOS
! CD
0aaaa
i àà ! a - Emplacement du ProDOS file
! TC 0aaaa
_________________ i àà ! i -
Emplacement du MASTER.SYS
! OB 0aaaa
!
! i àà ! à - Emplacement
secteurs vides
! RA 0aaaa ! FICHIERS DIVERS
! i àà !
! 9 0aaaa ! Sans
Interet. ! i àà ! La
vérification disk étant au
! 8 0aaaa
!_________________! i àà ! boot du
disk, elle se situe
! 7
0aaaa
i àà ! surement dans un de ces deux
! 6
0aaaa
i àà ! fichiers system. mais on
! 5
0aaaa
i àà ! donnera la priorité au fichier
! 4
0aaaa
i àà ! master system, au lieu du
! 3
0aaaa
i àà ! prodos car le master system
! 2
0aaaa
i àà ! gere le chargement des fichiers
! 1
aaaa
i àà ! et le prodos contient des
! F
aaaa
i àà ! $C08C,X étant donné qu'il
!_____________________________________________! comprend la routine de
lecture
du ProDOS, tout comme le boot1
du DOS 3.3 contient la rwts 3.3 qui va ensuite permettre une lecture
des pistes
différentes de la piste 0, donc le chargement des fichiers.
En un sens, le fichier system PRODOS est la rwts 3.3 et les commandes,
et
le fichier MASTER.SYSTEM est le bloader, c'est à dire le
programme de boot..
alors où chercher la vérif du boot sinon dans le fichier
du boot ?
C'est à dire :
Si l'on cherche sur le disk, de rechercher depuis la piste $1E à
$1F comme
nous l'indique la map ci-dessus (emplacement du fichier master.system),
et
si l'on cherche en mémoire, de passer sous prodos pour charger
le fichier
master.system et aucun autre pour commencer, sauf si l'on ne trouve rien
dans le fichier master system.
===============================================================================
4. RECHERCHE DE LA VERIFICATION DIRECTEMENT SUR LE DISK
===============================================================================
Pour effectuer cette recherche, si vous le voulez bien, on va se servir
du
Copy II+ 5.x, le plus rapide de tous les scanners d'octets sur disk..
bien que
l'on soit en train d'utiliser le Copy II+ 8.2 ProDOS... m'enfin...
Bootez donc le Copy II+ 5.x du Copy Disk Enfoires ou du Cours 8, et
passer
sous l'option Sector Editor puis pressez "S" pour Scan For Bytes, puis
entrez
les octets suivants ("H" pour Hexa Bytes) : 8C C0 soit $C08C, l'adresse
de
lecture d'un nibble (fill latch, mais on s'en fout..)
Comme on vient de le voir, on va commencer par la piste $1E 0F (pour le
Copy II+ 5.x qui fait un recherche identique mais plus rapide car en
secteurs
décroissants) ou par la piste $1E 00 (pour le Copy II+ 5.5
classique qui fait
la recherche dans l'ordre croissant, ou pour tout autre scanner d'octets
allant dans l'ordre des secteurs croissants... le but étant que
tout la piste
$1E soit lue et scannée).
On trouvera des 8C C0 aux coordonnées suivantes :
______________________________________________
!
!
! Piste $1F Secteur $0D Octet $0C : BD 8C C0 ! LDA $C08C,X
! Piste $1F Secteur $0E Octet $A8 : BD 8C C0 !
! Piste $1F Secteur $0E Octet $B8 : BD 8C C0 !
! Piste $1F Secteur $0E Octet $C6 : BD 8C C0 !
!______________________________________________!
On se limite donc des 560 secteurs du disk à deux secteurs...et
en fait, à une
routine unique qui commence en piste $1F secteur $0E octet $3F et qui se
termine piste $1F secteur $0D octet $30 environ.. le tout étant
méga-limité
par des 00. Donc, rien de plus simple à cerner..
On a vu que c'était dans le fichier MASTER.SYSTEM comme on le
pensait,
il suffira de le charger en mémoire et de le lister avec un
scanner d'octets
ram (cf cours 8, sous prodos la méthode par les
paramètres de la routine move
étant la méthode la plus éfficace) et on retrouve
cette routine en ram à
l'adresse suivante :
BLOAD MASTER.SYSTEM,TSYS,A$2000
Routine d'accès direct aux nibbles trouvée sur le disk en
: $1A3C
En la listant, on voit bien que c'est la vérification du disk
que l'on
recherchait, mais chut! tout cela est listé bien clairement plus
loin...
===============================================================================
5. RECHERCHE DANS LES FICHIERS DISK
===============================================================================
La méthode de recherche par le biais du bload des fichiers
catalog suspectés
se fera de manière très similaire :
BLOAD MASTER.SYSTEM,TSYS,A$2000
Recherche d'octets 8C C0 méthode du cours 8 en mémoire,
et ainsi on remonte
mais en mémoire directement cette fois-ci, à la routine
de vérification.
Meme principe que sur le disk.
Encore une fois, on listera la routine de vérif trouvée
pour la comprendre
et l'annuler. mais avant, voici une méthode encore plus ...
clean !
===============================================================================
6. RECHERCHE VERIFICATION PAR LA FONCTION PRODOS QUIT
===============================================================================
Méthode ACS-Dijon! Trademark.89
La vérif' enchaine sur un QUIT /PRODOS, c'est à dire par
un retour au
selectionneur s'il détecte une copie. Pour cela, le ProDOS fait
un
jsr au MLI c'est à dire à l'interpreteur des commandes
ProDOS.
Ca se programme ainsi : 20 00
BF JSR
Machine_Language_Interface_ProDOS
65
HEX 65
65 est le code hexa prodos pour signifier la fonction quit. C'est
à savoir !!!
Il faudra donc rechercher des 20 00 BF 65 sur tout le disk, ou plutot,
encore
une fois sur les pistes $1E,$1F du fichier master.system.. puisque
c'est lui
que l'on suspecte hardiment, isn't it ?
On en trouvera aux coordonnées suivantes :
_________________________________________________
!
!
! Piste $1F Secteur $00 Octet $7B : 20 00 BF 65 !
!_________________________________________________!
Le programme de vérification disk se passe ainsi :
Voilà d'abord ce qui est admis :
- Boot
- Chargement ProDOS
- Master System
- Vérification dans
le Master System
Et voilà la manière dont la vérification se
déroule surement :
- Lecture nibbles (via LDA
$C08C,X = BD 8C C0)
- Comparaison avec les
nibbles à trouver
- Retour positif : original
trouvé
- Retour négatif :
copie trouvée
Si copie , alors : saut à la routine où se trouve ce JSR
MLI_Quit .
Si original , alors : saut à la routine où se trouve la
suite du boot .
Il faut donc remonter jusqu'au branchement ci-dessus.. Si copie alors
JSR $BF00
sinon boot suite. Et l'on a déjà en main la routine
Quit_MLI (JSR $BF00 HEX 65)
On va donc mettre un 00 à la place du 20 (JSR) trouvé
ci-dessus , toujours sur
une copie , et booter cette copie. On obtient ceci au boot : un
plantage en
moniteur (suite à votre 00 qui correspond à la fonction
BReaK) au lieu d'un
plantage par the quit_prodos_function. Normal.. l'adresse donnée
alors est
$1A3E c'est à dire que votre 00 était en $1A3C (un break
donne toujours une
adresse décalée de 2 octets vers le bas), ce que vous
pourrez vérifier en
listant cette zone ram par un simple L (retun) ou 1A3CL (return).
On a donc l'adresse de la routine JSR QUIT, on va donc la rechercher
(puisque
c'est le début d'une routine, il n'y a rien avant en effet),
pour y acceder,
il doit donc y avoir un jsr $1A3C ou un jmp $1A3C. On le recherche en
recherchant les octets 3C 1A sur la meme zone disk ou dans le meme
fichier.
On les trouve aux coordonnées suivantes :
______________________________________________
!
!
! Piste $1E Secteur $0B Octet $78 : 4C 3C 1A ! JMP $1A3C
! Piste $1E Secteur $01 Octet $4B : 4C 3C 1A ! (quit prodos)
! Piste $1E Secteur $01 Octet $DF : 4C 3C 1A !
!______________________________________________!
Il vous suffira ensuite de simplement NOPER (remplacer par EA EA EA) les
trois fois trois octets de jmp quit trouvés (en fait, les deux
derniers
suffisent bien assez, le premier ne servant qu'en cas d'erreur disk je
crois, cas où il est normal sous prodos d'effectuer un quit!)
sur le disk,
et c'est déplombé..
===============================================================================
7. FICHIER MASTER.SYSTEM ROGER RABBIT , TOUS LES POINTS CHAUDS !!!
===============================================================================
Les points chauds du master.system sont tous les endroits ayant attrait
à
la vérification disk, à son (ses) appel (s), et à
tout ce qui s'y rattache!
Le point d'entrée du master.system est en $17EF (jmp $17EF au
début du fichier)
on y trouve ceci, et un peu plus loin, cela :
H17EF LDX #<H192C
...
JSR
Vérif ; Appel
vérification disk!
BCC
Original ; si copie (carry=1) alors Original
Copie JMP
Quit ; Copie!
Original JSR H199B ; Suite du boot
normal : chargement jeu...
JSR H19C3
... .....
Un peu plus loin, en $1885, on trouve ceci :
H1885 JSR H1092 ;
Get Key
AND #$DF
CMP #$59
BEQ H1898
CMP
#$4E ; si le retour de 1092
and #$DF donne #$4E alors :
BEQ
H18A0 ; Plantage ! (QUIT TO PRODOS)
JSR
TempoBip ; Pas plantage !.. suite du boot.
JMP H1885
En $18A0 aussi, on trouve un appel de la routine 'quit to prodos' :
H18A0 JMP Quit
Le Quit to ProDOS se fait ainsi :
Quit JSR
mli ; Copie !
Adresse = $1A3C
HEX 65
... ..
... ..
===============================================================================
8. LE SOURCE DE LA VERIFICATION DISK (DANS LE MASTER.SYSTEM)
===============================================================================
La vérification, nous l'avons vu plus haut, se trouve dans le
fichier rrabbit
master system prodos en $17EF si je ne m'abuse. Voici le listing de
cette
vérification auquel j'ai rajouté au début (pour
donner le programme brunable
de vérification disk qui se trouve sur ce disk, cf liste
programmes de ce disk)
une routine d'affichage "copie" ou "original" selon le disk en drive A.
Vous pouvez la lancer par un simple BRUN VERIF.RRABBIT en catalog sur
ce disk.
Pour le relancer, sachez que ce programme commence en $.
Selon le disk en drive lors de l'execution de ce prg, il affichera
"copie" ou
"original". Voici comment, et surtout, voici comment est la
vérification
tant recherchée depuis le début de ce cours!
* GDF Test routine
LDA
#0 ;
STA
$16EB ;
JSR
H17EF ; JSR Vérification Disk.
TAX
LDA #>Or
STA LpT+2
LpT LDA $FF00,X
BEQ EndT
JSR $FDED
INX
JMP LpT
EndT RTS
Or ASC "ORIGINAL."
HEX 00
Co ASC "COPIE."
HEX 00
*** PROGRAM ENTRY POINT
H17EF LDX #<$192C ; Cette
routine là, on s'en fout..
STX
Jump ; rien à voir avec la
vérification disk.
LDX
#>$192C ;
STX
Jump+1 ;
H17FB LDA #$FF ;
Rappel du programmeur.
BEQ
Original ; si = $FF alors c'est original.
LDA
$16EB ; l'adresse à
vérifier est $16EB
BNE
Original ;
LDA
#$FF ; On l'initialise à #$FF
STA
$16EB ; elle doit pas bouger.
JSR
Vérif ; Appel vérification
disk!
BCC
Original ; si copie (carry=1) alors Original
Copie LDA #<Co
; Copie!
RTS ;
Original LDA #<Or ; Original
RTS ;
***
***
***
*** VERIFICATION DISK ORIGINAL (H1B00)
***
Vérif LDA
#$60 ; Slot 6 : Disk 5'25 Drive A.
STA
Slot ;
LDA
#$05 ;
STA
H1BDA ;
LDX
Slot ; Allume drive. Lecture mode.
LDA
$C08E,X ;
LDA
$C089,X ;
Retry LDA #$00 ;
Essai de vérification lecture nibble #0.
STY
Try ;
H1B27 JSR Rd_Nibb ; Lecture nibble
INY ;
BNE
Cmp_D5 ; Est-ce un D5 ?
INC
Try ;
BNE
Cmp_D5 ;
JMP
Fd_Copie ; Copie trouvée.
* D5AABB Scan for.
Cmp_D5 CMP #$D5 ; CMP
: ( D5 )
BNE
H1B27 ;
JSR
Rd_Nibb ;
CMP
#$AA ; CMP
: ( AA )
BNE
Cmp_D5 ;
JSR
Rd_Nibb ;
CMP
#$BB ; CMP
: ( BB )
BNE
Cmp_D5 ;
* D5AABB Found
LDY
#$00 ;
H1B49 JSR Rd_Nibb ;
SEC ;
ROL ;
STA
Try ;
JSR
Rd_Nibb ;
AND
Try ;
STA
H1BDC,Y ;
INY ;
CPY
#$02 ;
BNE
H1B49 ;
LDY
#$00 ;
H1B61 JSR Rd_Nibb ;
INY ;
CPY
#$04 ;
BNE
H1B61 ;
H1B69 LDA $C08C,X ;
BPL
H1B69 ;
CMP
#$FF ;
BNE
Bad_Try ;
LDA
$C08D,X ;
LDY
#$10 ;
LDA
$09 ;
H1B79 LDA $C08C,X ;
BPL
H1B79 ;
DEY ;
BEQ
Bad_Try ;
CMP
#$EE ; CMP
: ( EE )
BNE
H1B79 ;
LDY
#$00 ;
Rd_4Nibb LDA $C08C,X ;
BPL
Rd_4Nibb ;
STA
H1BDE,Y ;
INY ;
CPY
#$04 ;
BNE
Rd_4Nibb ;
LDA
H1BDC ;
CMP
H1BD3 ;
BNE
Bad_Try ;
LDA
H1BDD ;
CMP
H1BD4 ;
BNE
Bad_Try ;
LDY
#$00 ;
H1BA6 LDA H1BDE,Y ;
EOR
#$87 ;
SEC ;
SBC
#$01 ;
CMP
H1BD5,Y ;
BNE
Bad_Try ;
STA
H1BDE,Y ;
INY ;
CPY
#$04 ;
BNE
H1BA6 ;
Fd_Orig LDA $C088,X ; Original trouvé !
CLC ;
Carry = 0.
RTS ;
Bad_Try DEC H1BDA ; Mauvais
essai... s'il en reste, on reessaye.
BEQ
Fd_Copie ; Sinon, on sort : Copie trouvée !
JMP
Retry ;
Fd_Copie LDA $C088,X ; Copie trouvée.. Carry =
1.
SEC ;
RTS ;
Rd_Nibb LDA $C08C,X ; Lecture nibble.
BPL
Rd_Nibb ;
RTS ;
H1BD3 HEX 00
H1BD4 HEX 07
H1BD5 HEX 4A
HEX 4F
HEX 53
HEX 48
Slot HEX
00 ; Slot
H1BDA HEX 00
Try HEX
00 ; Nombre d'essais
lecture nibbles "original"
H1BDC HEX 00
H1BDD HEX 00
H1BDE HEX 00
HEX 00
HEX 00
HEX 00
Jump HEX
69FF ; On s'en fout.
===============================================================================
9. LA VERIFICATION EST-ELLE DECONNECTABLE ? PEUT ON LA CONTOURNER
FACILEMENT ?
===============================================================================
La vérification est déconnectable dans le sens où
elle se termine par,
si elle détecte un original, par :
Fd_Orig LDA $C088,X ;
CLC ;
Carry = 0.
RTS ;
Et se termine par, si elle détecte une copie (plus d'essais) :
Fd_Copie LDA $C088,X ;
SEC ;
Carry = 1.
RTS ;
Et si le nombre d'essais est revenu à 00, la sortie se fait par :
Bad_Try DEC H1BDA ;
BEQ
Fd_Copie ;
JMP
Retry ;
La seule différence en ram est celle de l'adresse H1BDA , c'est
à dire
l'adresse du nombre d'essais necessaire à (ne pas) trouver les
nibbles
relatifs au plombage !.. mais cette adresse n'est jamais
vérifiée..
Il suffira donc de commencer la vérification sur le disk par un
18 60
(Clear Carry, RTS) pour que le soft soit déplombé
à merveille !..
Encore une méthode !
_____________________________________________________
!
!
! Modifier piste $1F s$0E o$3F : 18 60 (Was A9 60) !
Allez
va,
!_____________________________________________________!
Buena Vista E Amigos !!
========================================== Vous avez tout compris mes
canards ?
Amicalement, GDF! 89
===============================================================================
LES PROGRAMMES DE CE
COURS
Signé Godfather, par exemple!
===============================================================================
Révision
1.00
Update : Janvier 89!
Ce cours s'accompagne de , en outre la copie de l'original de Roger
Rabbit
qui est sous prodos normal bete et méchant et ayant un catalog
et une diskmap
prodos tout ce qu'il y a de normal , des programmes suivants :
Copy II+ 8.2 ProDOS (c) Central Point Software
1988 (1 face)
---------------------------------------------------
Ce programme de gestion des fichiers / disk prodos est géant car
il permet,
comme le permettait en son temps universal file converter , de
transferer un
fichier quelconque de prodos à dos ou de dos à prodos..
c'est le programme
qui m'a rendu les fichiers master.system sous dos pour ce cours (en
catalog
également..) . A avoir et à décortiquer !
Passer des fichiers ainsi se fait par le biais de l'option COPY tout
simplement, qui accepte à la fois le dos et le prodos. C'est
giga-utile!
Disk Formatté ProDOS + Basic.system (1
face)
-----------------------------------
A avoir également, donc le voici !
Master.System
(en catalog sur ce disk!)
-------------
Début du fichier master.system en $2000 (routine move)
Master.System
(en catalog sur ce disk)
-------------
Fichier master.system pret à etre éxécuté
(bonne adresse ram).
Ce fichier est celui dont on parle dans ce cours, et qui contient la
vérif'
Verif.Rabbit
(en catalog sur ce disk)
------------
Runez le, ce programme détecte original ou copie en fonction du
disk inséré.
Ce programme est listé dans ce cours et détaillé !
Il le sera bientot encore plus.
Comme tjrs, si vous avez des idées de routines à
écrire pour faciliter ce
type de recherche de vérif, ou de déplombage, faites moi
signe !
J'y travaillerais !
===============================================================================
-------------------------------------------------------------------------------
WHO FRAMED ROGER RABBIT (c) BUENA
VISTA SOFTWARE (k)
FLYNN'S
-------------------------------------------------------------------------------
salut a tous et a toutes ,
Who framed roger rabbit est un soft de buena vista software . Il y a 2
disks
recto verso . Il tourne sous prodos .
La premiere protection , car il y en a 2 , vous renvoie au quit prodos
quand vous booter la copie .
La deuxieme protection est beaucoup plus sadique ... Elle vous pose une
question sur un des article du gag factory catalog .
vous - C'est grave docteur ?
moi - Mais non , il n'y a la rien
d'incurable .
vous - Que faut-il faire docteur ?
moi - Patience , j'y arrive
Donc , au boulot :
- locksmith 6.X ,
- copie en fast backup ,
- editeur ( en passant je vous conseille le tres boooooo anstrom
2.3 ) ,
- remplacer en disk 1 face A piste $1E
secteur $01 :
90 03 4C 3C 1A
par 90 03 4C 0F 18 ,
- remplacer en disk 1 face B piste $0D
secteur $09 :
4C 03 60
par 60 03 60 ( tout au debut du secteur
) .
Et puis c'est tout ... Vous etes joyeux , moi aussi ...
Flynn's
-------------------------------------------------------------------------------