Disk : Gdf15.dsk
"-" files are DELETED files | "*" files are LOCKED files
----------------------------------------------------------------------
B A$0800 (002048) L$1800 (006144) 026 DISK MUNCHER 8.0 $23 PISTES
*B A$07FD (002045) L$4A30 (018992) 076 DISK OPTIMIZER SYSTEM
A A$0000 (000000) L$04CE (001230) 006 HELLO
B A$0800 (002048) L$7000 (028672) 114 NIBBLES AWAY II VC3 $23
PISTES
T A$0000 (000000) L$0900 (002304) 009 T.COMPLEMENT COURS 15
T A$0000 (000000) L$B900 (047360) 185 T.COURS 15 REVISION 1.10
T A$0000 (000000) L$0F00 (003840) 015 T.FICHIER ADRESSES
T A$0000 (000000) L$1600 (005632) 022 T.INTRODUCTION
T A$0000 (000000) L$1300 (004864) 019 T.LES PROGRAMMES DE CE DISK
T A$0000 (000000) L$0800 (002048) 008 T.PROPOSITION DE COURS
B A$0830 (002096) L$00A0 (000160) 002 TEST DISK $23EME PISTE
A A$0000 (000000) L$01B8 (000440) 003 TEST RETENUE BASIC
B A$4B00 (019200) L$00C1 (000193) 002 VERIF$23.CODEE
B A$0300 (000768) L$0093 (000147) 002 VTOC $23
T A$0000 (000000) L$0500 (001280) 005 T.ADRESSES SOFTS ENGLAND
-B A$01FF (000511) L$27A5 (010149) 008 TEST DISK $23EME
PISTE.S ^
-B A$01FF (000511) L$27A5 (010149) 006 VTOC
$23.S
B
This catalog contains 17 files. 2 were DELETED.
----------------------------------------------------------------------
DOS 3.3 |
Download Cours GDF 15 rev 1.10 (gzipped) |
__ Introduction au cours 15
_________________________________________________
!
!
! Salut et
salut,
!
!
!
! Adam est un des mes eleves depuis fevrier ou mars de cette
année.. (87) !
! Il est arrivé chez moi ce dimanche matin (30 aout), pour me
soumettre une !
! idée de protection - indéplombable - qu'il voulait
mettre en place... !
! Il en était sur : ce serait indéplombable..
L'idée était géniale, et
il !
! ne savait pas comment lui faire prendre forme.. la théore
était là, mais la !
! pratique ne suivait pas
encore..
!
!
!
! En une matinée, on a réalisé sa protection sous
DOS 3.3, et l'après-midi !
! meme, je commencais ce
cours..
!
! On échaffaudait déjà pleins de complications
pour le déplombeur, en passant !
! par le E-Boot Epyx, par le FBoot d'Electronic Arts, par le source du
FBoot !
! de Sam (source génial !!), par le plombeur Activision, par un
bluff de !
! protection MCode Electronic Arts..et Dieu sait quoi
d'autre..
!
!
!
! Bref, on va bien s'amuser.. Je vais completement décortiquer
tout ce que !
! l'on peut faire à partir de l'idée - très sympa
- de départ, et comme !
! d'habitude, après avoir décortiqué toute la
théorie et la pratique du !
! plombage, ainsi que tout ce qui concerne le déplombage d'une
telle !
! protection, on verra les défauts et avantages de cette
protection, et ce !
! que l'on pourrait faire contre les défauts.. On parlera meme
de la copie !
! et des programmes du commerce de copie/édition de secteurs,
qui peuvent !
! nous faciliter la tache en tant que plombeur ou
déplombeur..
!
!
!
! Si vous avez une idée de plombage comme celle d'Adam, proposez
la moi, on !
! pourrait y bosser si c'est vraiment
instructif..
!
!
!
! J'ai donné une copie plombée d'un programme en language
machine à plusieurs !
! d'entre vous, pour voir ce que vous en comprendriez, et comment vous
feriez !
! sans aide, avec vos connaissances actuelles sur la RWTS et le
déplombage, !
! face à une telle protection - à son stade le plus
simple -, pour la tester. !
! Les résultats sont les
suivants...
!
! Sur 13 eleves - sans Adam bien sur - au 30 aout 87, voici vos
résultats.. !
!
!
! - .. eleves on abandonné sans
rien
trouver
!
! - .. eleves on pensé à la
piste $23 sans
plus
!
! - .. eleves on réussit à
examiner le format de la piste
$23 !
! - .. eleves on réussit à
charger la piste $23 en
Ram.
!
! - .. eleves on pensé à du
MCode EOA à cause de la piste
$6
!
! - .. eleves on réussit à
déplomber le programme en supprimant la vérif !
!
!
! Kristo a fait ce
déplombage en 55 minutes chrono !!... ce qui prouve !
! qu'une idée de
départ classique mais bien exploitée peut faire
mal. !
! surtout si l'on sait que la
protection de James n'était en fait pas !
! bien balaise par rapport à
toutes les alternatives complicatrices !
! que l'on va voir dans ce
cours...
!
!
!
! En projet : - La face cachée des
locksmiths, depuis le
2.0
!
!
- La protection Origin Systems, Inc. (Ultima
5)
!
!
- Electronic Arts
MCode
!
!
!
! Dépéchez vous maintenant, dés que vous en aurez
terminé avec ce cours 15, !
! de sauter sur le 16 !! c'est le "cran" au dessus !!.. avec la
seconde !
! protection Activision. (on avait vu la premier dans le cours
14).. !
! les 560 secteurs ont chacun un format différent !!.. et il
faut déjà (pour !
! avoir une chance de vaincre ce type de plombage fou) convertir tous
ces !
! secteurs au format 3.3 !.. alors comment ne pas y passer sa nuit ??
et !
! comprendre le boot pour vaincre cette super protection :
réponse - Cours 16 !
! Alors à très bientot j'espère car ça en
vaut vraiment le coup
!! !
!
!
!
Amicalement, GODFATHER !
!_____________________________________________________________________________!
===============================================================================
TOUT SUR LA PROTECTION - INEDITE - D'ADAM, REALISEE PAR
GODFATHER 30/08/87
===============================================================================
Révision
1.10
Update 12/10/87
Salut et salut,
On a déjà vu trois programmes inédits de plombage,
programmé par mes soins pour
vous.. c'étaient :
- PLOMB DISK GDF - v1.08 - pour le Cours
6 - Protection DOS PATCHED
- FORMAT.OBJ1 - v1.00 - pour
le GP's #6 - Protection HEADERS PATCHED
- PLOMB ACTIVISION - v1.00 - pour le GP's #4 -
Protection ACTIVISION (C.#14)
En voici un quatrième, dont la paternité me revient en
tant que programmeur,
certes, mais qui part d'une idée très sympa, d'Adam..
C'est le premier plombeur basé sur une vérification
d'original, 100% maison.
Il a des avantages, des inconvénients, et on va le
décortiquer completement..
On va parler de tout.. de plombage, de déplombage, de la vente
de plombage à
des sociétés meme, de la dure loi de la vie, de la
philosophie des moules
au fond de l'eau et de pleins de belles choses...
Ce plombage est basé sur la $23eme piste.. Ne dites pas "on
connait déjà", car
l'idée d'Adam a vraiment un plus important par rapport aux disks
plombés pour
le commerce simplement par le rajout d'une piste supplémentaire
numérotée $23
sur l'original (piste contenant bien sur des fichiers indispensables
à la
bonne execution du programme commercialisé).
On verra comment réaliser toute sorte de plombage en $23 pistes..
Le cours se compose ainsi :
1.1
- La "ruse folle" de ce plombage (l'idée de départ d'Adam)
1.2
- La réalisation d'un plombage simple $23 pistes
1.3
- La réalisation du plombage fou d'Adam
1.3.1 -
Formatter un disk en $23 pistes (+ Disk Organizer System !)
1.3.2 - Oter
toutes les traces d'une $23eme piste, du boot
1.3.3 - Changer
le format de la piste $23
1.3.4 - Mettre
une vérification de la piste $23
1.3.4.1 - La
vérification sur l'original - en basic sous DOS 3.3
1.3.4.2 - La
vérification sur l'original - en machine sous DOS 3.3
1.3.4.3 - La
vérification sur l'original - en machine sous Boot inconnu
Et ensuite, les améliorations que l'on peut envisager :
1.4
- Le bluff "Electronic Arts"
1.5
- Ajouter le principe du Dos Indispensable Décodeur (DOS EOR)
1.6
- Ce que l'on envisage comme plombage fou
Et ensuite, la copie :
1.7
- Les programmes de copie envisageables (T$23, format diff.)
Et ensuite, le déplombage :
1.8
- Le déplombage simple d'un disk en $23 pistes..
(pourquoi ça peut etre quasiment "indéplombable" !!)
1.8.1 - Plombage
/ Piste $23 juste vérifiée mais ne sert à rien
1.8.2 - Plombage
/ Piste $23 contient des données (voir VTOC $23.S)
1.8.3 - Plombage
/ Piste $23 contient des données (disk full)
1.8.3.1 - Transvaser des
données sur une face supplémentaire !!
1.8.3.2 - Faire un copieur
pour l'original
1.8.3.3 - Comprendre
où l'on peut gagner de la place
1.9
- Critiques de ces protections
1.9.1 - Les
points forts du plombage d'Adam.
1.9.2 - Les
points faibles du plombage $23eme piste.
Et enfin, sur une idée géniale de Oliver Twist,
inspirée par A.C.S...
1.10 -
Mettez un numéro de série sur vos disks qui change
à chaque
- copie, et ce, quel que soit le copieur utilisé !!!
Allons y dans la joie...
===============================================================================
1.1 L'IDEE DE DEPART D'ADAM (LA RUSE FOLLE DE CE PLOMBAGE)
===============================================================================
L'idée de départ est classique.. (déception), mais
le développement de
départ de cette idée de départ est très
intelligent..
L'idée de départ, vous la trouvez dans POM'S 29 (KARIM,
programme nul s'il en
est), vous la trouvez dans PLOMBAGE MODE D'EMPLOI 1 (où mon
grand copain
Goldpom parle de ce qu'il ne connait pas)..
L'idée de départ est d'utiliser la piste $23...
Mais maintenant, il faut voir comment !!!!..
L'idée d'Adam est simple..
Il y a peu de pirates qui pensent à aller vérifier si la
piste $23 est
formattée quand un disk est lisibles au locksmith et qu'il
plante..
Tout le monde conclut vite par un Nibble Count ou quelque chose du
genre...
Maintenant, il faudrait que meme ceux qui essayent de lire la piste $23
l'aient
dans l'os.. On va donc - et c'est de là que tout a
commencé - formatté la
piste $23 avec un format différent.. (patched ou autre), et si
un pirate
essaye de la lire, comme le reste du disk est en format normal, il se
dira tout
de suite "Non. La piste $23 n'est pas formattée, car si elle
l'était, elle le
serait comme toutes les autres, en format normal..".. au lieu de se dire
"Et si elle était en format différent"..
Pourquoi est ce que le pirate se dirait ceci ??..
Tout simplement parce que c'est très rare, actuellement, de
trouver un plombage
utilisant la $23eme piste (sauf chez la vieille taupe) - on verra
pourquoi
après, dans la rubrique "inconvénients de ce plombage" -
et que si on la lit
en format normal et/ou comme toutes les autres pistes du disk, et que
ca ne
marche pas, mieux vaut chercher ailleurs.. les probabilités
d'avoir une piste
$23 sont trop minimes.. il y en a tellement peut souvent, et on a pas
réussit
à la lire au premier essai..!
D'autre part, si on abandonne l'idée que l'on aurait pu avoir
à propos d'une
piste $23 eventuelle, qu'est ce qui pourrait nous remettre sur cette
voie ?
car si l'on est jamais remis sur cette voie, c'est que l'on
déplombera mal ce
soft.. Isn't it ??
On va voir ca dans la partie "réalisation du plombage d'Adam"..
===============================================================================
1.2 LA REALISATION D'UN PLOMBAGE CLASSIQUE $23 PISTES
===============================================================================
Le plombage par $23 pistes se compose de 2 étapes :
1. Formatter un disk en $23
pistes
2. Mettre les programmes sur
les $23 pistes
L'adresse clé à connaitre pour réaliser un tel
plombage est connue de boukou
de monde.. Elle se trouve dans la routine INIT du dos, qui est
localisée en
$BEAF. L'adresse à modifier pour initialise un disk avec un
nombre de pistes
en plus est $BEFE.
Faites un essai..
Bootez un DOS 3.3 classique, et tapez : ]CALL-151, *BEFE (return)
Vous devez voir apparaitre $23. Tapez donc *BEFE:24 (return) puis *3D0G
]LOAD HELLO (qui sera le boot programm du disk en $23 pistes) puis enfin
]INIT HELLO.
Le disk ainsi formatté sera formatté en $23 pistes au
lieu de $22.
Mais attention la piste $23 de ce disk ne sera pas utilisable si on ne
fait
rien d'autre pour elle..
Il faut aller indiquer à la VTOC du disk ainsi obtenu qu'elle
peut stocker
des programmes sur la piste $23.
Pour cela, on y va gaiement.. modifiez piste $11 secteur $00 (VTOC,
comme on
l'a vu dans le cours 3) l'octet $30 de #$23 à #$24. (Nombre de
pistes +1)
Ensuite, modifiez sur ce meme secteur les octets $C5 et $C6 de #$00 en
#$FF.
Et votre disk sera ainsi opérationnel sur les #$23 pistes.
Avantage immédiat indéniable : vous gagnez une piste pour
mettre des données,
------------------------------ soit #$FF * #$F (255 octets * 16
secteurs) soit
plein de place (255*16 octets)
Avantage pour le plombage : peu de programmes peuvent copier en $23
pistes,
--------------------------- et surtout, peu d'utilisateurs savent que
tel ou
tel soft doit se copier en $23 pistes..aussi, ils ont des versions qui
bootent
mais qui plantent.
Le dernier soft que l'on a vu plombé en $23 pistes sur Apple
étant Globe
Trotter de chez Excalibur. C'est numéro 6 qui l'a
déplombé proprement..et
personne d'autre.
===============================================================================
1.3 LA REALISATION DU PLOMBAGE FOU D'ADAM
===============================================================================
Le plombage d'Adam se compose de 4 étapes :
1. Formatter un disk en $23
pistes
2. Enlever toutes les traces
d'une $23eme piste
3. Changer le format de la
piste $23
4. Mettre une
vérification de la piste $23 dans les programmes
5. Mettre les programmes sur
$22 pistes
Je m'en vais étudier chaque étape encore un fois..
1.3.1 Formatter un disk en $23 pistes
------------------------------------------------------------------------------
La premiere chose bien sur est d'initialiser un disk avec un format
normal
D5 AA 96 DE AA EB D5 AA AD DE AA EB.
Evidemment, on peut se compliquer la vie et modifier ce format comme on
le
voit dans le cours 6 (qui explique le plombage par modification des DE
AA EB)
et dans le Godfather's products #6 (où se trouve un listing
source d'un
plombeur qui modifie les D5 AA 96 et D5 AA AD qui est plus complexe)..
M'enfin.. On a décidé de laisser le format des pistes
$00-22 normal pour que
l'on ne soupconne pas que la piste $23 puisse etre dans au format autre
que
le format 3.3 classique... Vous faites comme vois voulez..
Pour quelqu'un qui s'y connait, le déplombage ne sera pas
vraiment plus dur,
que le format soit changé simplement ou pas du tout..
Pour l'initialiser, il y a plusieurs moyens..
En voici la liste :
* Sous DOS 3.3, le plus simplement du monde,
comme on vient de la voir
* Sous DISKFIXER 4.00, en faisant les
opérations suivantes :
-
Bootez le Disk Fixer 4.00 qui est sur notre COPY ENFOIRES
-
Tapez "Q" pour passez en moniteur
-
Modifiez les headers que vous voulez etant donné que le
Disk F. 4.00 se sert d'un DOS 3.3 (adresses dans le cours 6)
-
Tapez "800G" pour revenir au programme
-
Tapez "E" pour initialiser le disk en $23 pistes
* Sous LOCKSMITH $23 PISTES (attendez le cours sur
la face cachée du
locksmith, où il y aura un
locksmith rapide compatible GS et qui
permet d'aller jusqu'à la 40eme
piste, si votre drive suit !!)
Il suffit de faire la copie de votre
programme $22 pistes à plomber
et cette copie sera formattée en
$23 pistes automatiquement.
* Sous DISK ORGANIZER SYSTEM. (lire fichier
complement cours 15)
Trois méthodes suffisant largement (triple double emploi !!), je
passe à la
suite...
1.3.2 Enlever toutes les traces d'une $23eme piste sur le disk
-------------------------------------------------------------------------------
Qu'est ce qui pourrait nous remettre sur la voie d'une piste $23 donc ??
Plusieurs choses si l'on a formatté le disk comme plus haut, par
un INIT du
DOS en ayant modifié ensuite la VTOC. (certains disent "LE"
VTOC.. va savoir
comment doit se prononcer les sigles anglais en français !!)
Rien si l'on passe par un DISK FIXER ou par un LOCKSMITH..
D'abord le boot.. Si le disk boote en DOS 3.3, on peut facilement voir
si
ce DOS autorise ou non des programmes (fichiers apparaissants dans le
catalog)
sur une eventuelle piste $23.
Pour le savoir, il y a une adresse du dos à connaitre, que l'on
va voir
plus loin, et qui nous indique en combien de pistes le disk a
été formatté..
On peut avoir l'instinct d'aller la consulter, si l'on a rien de mieux
à
regarder.. et il faut bien sur qu'elle soit à $23, pas à
$24. (elle correspond
à la première piste que l'on ne formatte pas, si l'on
trouve $23, ça signifie
que le disk a été formatté en $22 pistes, en
comptant bien sur la piste $00 !!)
Première chose donc, meme si on formatte le disk en $23 pistes
sous DOS 3.3,
il faut remettre $23 au lieu de $24 à l'adresse en question.
(le plus simple est de formatter le disk en $23 pistes, et de recopier
un DOS
$22 pistes quelconque dessus..)
Ensuite, le second détail à ne pas oublier est la Vtoc.
En effet, pour que
le Dos soit capable de mettre un fichier sur la $23 eme piste, il faut
que
la vtoc (Plan des secteurs libres du disk) en soit informé,
sinon le DOS
considère qu'il n'y a pas de place sur la $23 eme piste.
Mais on va en reparler lors de la création du disk...
On va voir déjà comment creer un disk $23 piste ayant la
$23eme piste
utilisable comme les autres (pour ceux qui s'y interessent) et on
s'attaquera
à la réalisation du plombage d'Adam juste après.
La méthode idéale : la méthode idéale
consiste à initialiser le disk en $23
------------------- pistes, comme vous voulez, puis de copier un disk
vierge
initialisé normalement en $22 pistes (et contenant un DOS bien
sur) avec un
locksmith normal, sur les $22 premières pistes de votre disk $23
pistes.
Enfin, dernier point.. C'est la vérification de la piste $23 qui
peut
indiquer au plombeur qu'il y a une piste $23.. On va voir comment
planquer
cette vérification un peu plus loin...
1.3.3 Changer le format de la piste $23
-------------------------------------------------------------------------------
Si vous avez suivit la méthode idéale ci-dessus, vous
avez surement compris
que quitte à formatter tout le disk ($23 pistes) puis à
reformatter avec le
locksmith (lors de la copie) les $22 premières, on peut, pour
modifier le
format de la piste $23, commencer par modifier celui de tout le disk (en
pokant le DOS comme dans le cours 6 ou GP#6 pour modifier les Headers,
puis en
faisant INIT) et continuer en reformattant au format normal les $22
premières
lors de la copie locksmith.
Ainsi, les pistes $00-22 seront en format normal, et la piste $23 sera
en
format différent.
La ruse de départ est donc bien réalisée, si un
déplombeur essaye de lire
normalement la piste $23, il pensera tout de suite qu'elle n'est pas
formattée
s'il a eu un jour un doute, puisqu'à la première lecture
(au meme format que
tout le disk, c'est à dire en format normal), le DOS lui aura
renvoyé un
message d'erreur...
Un autre moyen pour modifier le format de cette piste $23 de DE AA EB en
D4 AA EB serait par exemple de copier uniquement la piste $23 avec un
locksmith
6.0 $23 pistes, en modifiant les headers à l'écriture et
en les laissant
normaux à la lecture. (voir cours 6)
1.3.4 Mettre un vérification de la piste $23
-------------------------------------------------------------------------------
On va voir plusieurs moyens de faire une vérification de cette
piste $23 rusée.
Sous BASIC d'abord, si vous désirez plomber un listing Basic,
puis en
ASSEMBLEUR, dans les deux cas sous DOS 3.3.
J'expliquerais ensuite (si vous n'avez pas compris) comment adapter
cette
vérification au super FBoot de Sam, au E-Boot, au ProDOS..etc..
Allonzy.. Allonzo..
Le principe de la vérification est simple..
Question classique : Quelle sera la différence entre un original
et la copie.
La $23eme piste ne sera pas présente sur la copie locksmith bete
et méchant.
Moralité : Quelle différence y aura t'il si on essaye de
lire une piste $23
en format modifié qui est présente et une piste $23 qui
n'est pas sur le disk
ou qui y est convertie au format 3.3 ??..
Réponse : dans le premier cas (original en $23 pistes avec la
$23eme piste en
format différent), la lecture sera impecable.. dans le second
cas, la piste
$23 n'étant pas présente sur le disk copie (la piste $23
n'est pas formattée),
on obtiendra un message d'erreur.
1.3.4.1 La réalisation de la vérification de la piste $23
en BASIC /DOS
-------------------------------------------------------------------------------
Sous Basic, j'ai pensé à deux méthodes pour
verifier si la piste $23 était
présente (formattée) sur le disk ou pas.. Je vous offre
deux vérifs en basic,
n'hésitez pas à les utiliser..
Etant donné que vous avez modifié le format de la piste
$23 par un INIT avec
un Dos modifié, il faut adapter les routines de
lecture/écriture qui vont
suivre, en pokant les bons Headers dans le dos et en les remettant
normaux
après l'accès disk.. Mefiez vous, les
vérifications ci-dessous ne tiennent
pas compte des modifications de Headers..
Premiere méthode de vérification T$23 sous Basic / Dos 3.3
----------------------------------------------------------
Il s'agit d'ecrire sur la piste $23/00 par exemple la valeur #$01
à l'octet
$00 de ce secteur lors du plombage, puis de charger ce secteur en $2000
et de verifier que l'adresse $2000 contient bien la valeur $01.
Pour ne pas que le hasard fasse que $2000 contienne déjà
la valeur 01 avant
la lecture, au cas où la lecture n'est pas possible si c'est une
copie,
on mettra par POKE la valeur 0 en $2000 avant la lecture.
En décimal (Basic ne parle que décimal), la valeur $2000
est 8192.
(si vous voulez modifier cette adresse, servez vous du converter
HEX-DEC du
cours 7 ou d'un calculatrice Hexadécimale, si vous avez, ou
encore des outils
GS).
Les programmes (qui se servent du SREAD/SWRITE du cours 7) sont les
suivants :
Ecriture du 01 en $23 00 00
---------------------------
10 PRINT CHR$(4)"BRUN SREAD/SWRITE" : HGR : TEXT : HOME
20 POKE 8192,1 : PRINT "INTRODUISEZ LE DISK EN $23 PISTES..."
30 POKE 49168,0 : GET A$: PRINT A$
40 PRINT CHR$(4)"SWRITE T35,S0,A8192"
Verification du 01 en $23 00 00 (vérification de la $23eme piste)
-----------------------------------------------------------------
10 PRINT CHR$(4)"BRUN SREAD/SWRITE" : POKE 8192,0
20 PRINT CHR$(4)"SREAD T35,S0,A8192"
30 IF PEEK (8192) = 1 THEN GOTO 50
40 PR#6
50 PRINT CHR$(4)"BRUN PROGRAMME" (ou bien suite du programme basic en
50)
Une autre technique serait d'essayer de lire la piste $23 et de tester
le
contenu de la retenue qui se trouve en mémoire dans l'adresse de
la page $00
qui est $48. C'est dans l'adresse $48, je dirais meme plus, la retenue
est
le 8eme bit de l'adresse $48. (La retenue est à 0 ou 1)..
L'adresse $48 correspond au registre P qui vous obtenez en moniteur en
tapant
CTRL-E (return). Mon dieu, comment tester un bit d'un octet dans le
language
le plus c.. de la galaxie ??..
Je remercie Oliver Twist qui m'a donné l'algorithme pour cette
2eme vérif'
folle en basic. C'était pas évident de teste un certain
bit d'un certain
octet en basic... S'enfoncer dans le binaire (la plus profonde couche),
en basic (la couche la plus "artificielle"), c'est pas de la tarte !!
Essayez de piger ce programme, c'est assez rusé !!
Pour faire cette vérif, on va essayer de lire la piste $23 (par
SREAD ou bien
par l'utilisation de la RWTS, simplement comme dans le cours 3)...
Ensuite, si la lecture a réussit (l'original est dans le drive),
la retenue
sera à 0. Si la lecture n'a pas réussit, la retenue sera
a 1.
Ce programme teste la retenue, à vous de faire planter (PR#6 ou
autre plantage)
l'execution du programme si la retenue est à 1.
A combien est la retenue ??
---------------------------
10 HOME : RESTORE : CLEAR : N = PEEK (72) : H$ = "0123456789ABCDEF" :
N$ = ""
20 Q = INT (N/16) : R = N - 16 * Q : N = Q
30 N$ = MID$(H$,R+1,1) + N$
40 IF N <> 0 THEN 20
50 IF LEN (N$)<2 THEN N$ = "0" + N$
60 L$ = LEFT$(N$,1) : R$ = RIGHT$(N$,1)
70 FOR I = 1 TO 16 : READ A$,B$ : IF A$ = L$ THEN OT$ = B$ : GOTO 90
80 NEXT
90 RESTORE : FOR I = 1 TO 16 : READ A$,B$
100 IF A$ = R$ THEN OT$ = OT$ + B$ : GOTO 120
110 NEXT
120 PRINT "$48 (";N$;") = ";OT$
130 RET$ = RIGHT$(OT$,1) : PRINT "LA RETENUE EST A ";RET$
140 DATA
0,0000,1,0001,2,0010,3,0011,4,0100,5,0101,6,0110,7,0111,8,1000,9,1001
150 DATA A,1010,B,1011,C,1100,D,1101,E,1110,F,1111
1.3.4.2 La réalisation de la vérification de la piste $23
en ASSEMBLEUR /DOS
-------------------------------------------------------------------------------
Les messages d'erreur d'accès disk sont indiqués par un
code d'erreur (qui,
si je ne m'abuse serait dans la table IOB - cf cours 3) et par la
retenue.
l'instruction CLC (clear carry.. la "retenue" est à 0) est
executée s'il n'y a
pas d'erreur lors de l'accès disk et l'instruction SEC (set
carry.. la
"retenue" est mise à 1) est éxécutée s'il y
a eu erreur..
La vérification se compose donc de 2 parties : - Lecture piste
$23
- Test de la retenue (à 0 ou 1?)
Lecture, c'est simple..
Sous DOS 3.3, il suffit de faire :
Lecture + Vérification retenue (BCS = Branch on Carry Set) ASM /
Dos 3.3
------------------------------------------------------------------------
*300 : A9 23 - LDA
#$23 ; Piste = #$23
: 8D EC B7 - STA
$B7EC ;
: A9 00 - LDA
#$0 ; Secteur
quelconque (ici #$00)
: 8D ED B7 - STA
$B7ED ;
: 8D EB B7 - STA
$B7EB ; Volume quelconque
: 8D F4 B7 - STA
$B7F4 ; Commande SEEK
(déplace tete sur la piste)
: 8D F0 B7 - STA
$B7F0 ; Adresse basse buffer
= #$00
: A9 20 - LDA
#$20 ; Adresse haute
buffer = #$20 ($2000)
: 8D F1 B7 - STA
$B7F1 ;
: 20 E3 03 - JSR
$3E3 ; Get Adresse IOB
(Haute ds A, Basse ds Y)
: 20 D9 03 - JSR
$3D9 ; Accès
disk (JSR $3D9 = JSR $B7B5)
*31E : B0 ?? - BCS
$330 ; La retenue est
à 1 ? Error. Saut en $330
*320 : ........ -
........ ; Chargement
ou JMP à la suite du programme
*330 : ........ -
........ ; Routine de
plantage (JMP $C600 par expl.)
On peut également utiliser la première technique vue sous
basic, à savoir de
faire, après la lecture (JSR $3D9), un LDA $2000 CMP #$01 BNE
(plantage).
M'enfin.. Comme ça, c'est plus sympa.. mais rien ne vous
empeche, pour tout
compliquer de mettre une petite routine en piste $23, et de la charger
ainsi.
Le programme se servant ensuite de cette routine, ou bien mieux, vous
pourrier
faire charger cette routine en $31E, c'est à dire JUSTE APRES LE
JSR $3D9,
et si la lecture est bonne, tout marche impec, le contenu de la piste
$23 0
chargé en $31E permet au programme de se continuer sans
probleme...
Si la lecture n'est pas bonne, le programme plante car la suite n'aura
donc
pas été chargé en $31E.. Y'a pleins de solutions
possibles..
L'avantage de cette dernière solution est que si le
déplombeur cherche sur
le disk un accès à la RWTS pour retrouver une
vérif' du disk, et qu'il trouve
une routine qui se termine, quelque soit le résultat de la
lecture, par un
JMP $FF59 par exemple, c'est sensass... Dans la pratique, la lecture
précédant
ce JMP au moniteur va remplacer ce JMP et la suite par la suite du
"bloader"
par exemple..
Le bloader étant en piste $23, si un malin copie tout en $22
pistes, il n'a
plus aucune chance de trouver le bloader !!
Et comme souvent le mec qui a un original en envoie une copie au
déplombeur
et que le déplombeur ne pense pas à dire "copie aussi
l'eventuelle piste $23",
il peut toujours chercher à le déplomber !!
De là à ce qu'il se dise qu'il y a une piste $23 !!
Probleme qui est du meme genre que ceux vu ci-dessus concernant les
"marques",
les "pistes" qui pouvaient indiquer au déplombeur la
présence d'une éventuelle
piste $23, c'est que la routine qui lit cette piste contient un LDA
#$23.
Il vaudrait mieux mettre LDA #$22 STA $B7EC INC $B7EC, ou un truc un peu
plus fou avec un EOR $B7EC...pour pas qu'on devine tout, tout de suite.
Autre chose qu'il vaut mieux faire lors du plombage, c'est, si l'on
désire
charger de la piste $23 la suite du bloader juste après le JSR
$3D9 (accès
disk à la piste $23), etant donné qu'il va falloir
définir l'adresse basse
du buffer, si l'adresse basse du buffer est $1E par exemple, et que sur
le
disk le déplombeur trouve un JMP $FF59 en $1E, il va se poser
bien des
questions.. et peut très bien deviner notre ruse..
Il convient donc de sauver le programme en $320 par exemple, enfin pas
à une
adresse fixe qui coinciderait avec les numéros des octets des
secteurs vus
à l'éditeur de secteurs. ok ?.. Reloger le programme
à une adresse pas trop
courante genre $1234... Dans ce cas, c'est moins évident pour le
déplombeur
de venir à bout de cette ruse.
Quand vous écrirez votre propre vérification, il vaut
mieux faire attention
au points suivants :
- Ne la codez pas avec un décodage qui
se voit (voir AIRHEART dans DEPME)
Si vous voulez l'EORer, glissez
votre routine après une image et faites
un EOR #$80 de toute la page
graphique, par exemple, plus de votre
routine.. Ca a pour effet
d'inverser les couleurs de la page graphique
et de décoder votre
routine, que vous auriez au préalable codé avec #$80
Le déplombeur ne pensera
pas que votre routine se trouvait juste après
la page HGR, et il ne verra qu'une
routine de changement de couleurs de
l'image en page $20 (HGR).
- Il ne faut pas que la protection
(vérif) soit indépendante du programme
à déplomber...
essayer de souder au maximum les deux.. de rendre le
programme le plus dépendant
possible de la protection !!..
Le déplombeur aura d'autant
plus de mal à les détacher l'un de l'autre
- Ne faites pas un plantage evident..
Evitez les trucs (que l'on voit
trop souvent, malheureusement pour les
boites de softs) du genre :
TEST...
.......
BCC OK ; Branch
on Carry Clear (Si c=0)
PLANTE JMP
$C600 ; Err. Plantage par REBOOT du
disk..
OK ...
Car si le plantage se fait par un
REBOOT du disk, tout le monde va
penser tout de suite à un
JMP (ou JSR) $C600 et rechercher (cours 8),
les octets 00 C6. Dés qu'il
les trouvera, il mettra EA (NOP) trois fois
sur le JMP $C600 (4C 00 C6) et le
plombage sera vaincu.. Le plantage
sera annulé..
Déjà, ne faites pas
suivre PLANTE et OK.
Ensuite, ne mettez pas JMP $C600..
Faites comme pour le numéro de la
piste (#$23) trop voyant.. Codez
#$C6..
Ou bien, pendant le boot, mettez
les octet 00 C6 quelque part en Ram
(dans reset en $3F2, $3F3 par
exemple), et remplacez le JMP $C600
par un JMP ($3F2)...
JMP ($3F2), c'est meme encore trop
suspect car tout le monde connait
l'adresse de Reset.. Et si en
pressant CTRL-RESET on obtient un reboot,
après avoir cherché
un 00 C6 sans succès, le déplombeur cherchera
surement un F2 03.
Le mieux, c'est encore d'utiliser
la piste $23 pour y mettre les octet
00 C6, qui seront chargé en
($xxxx), et de remplacer le JMP $C600 ou
JMP ($3F2) par un JMP ($xxxx).
- Si vous faites votre vérif en basic,
ne faites par un programme du
genre, pour protéger le
programme GOLDORAK :
10-100 ; Test en basic du disk
110 IF RET$ = "1" THEN PR#6
120 PRINT CHR$(4) "BRUN GOLDORAK"
Le déplombeur ne cherchera
pas à comprendre, il remplacera
automatiquement ce boot-programm
en basic par GOLDORAK, avec un
COPY II+ 5.x..
- Attention aussi de ne pas faire comme dans
OPIUM ,par exemple,c'est à
dire de faire un programme Basic
avec une vérification qui était
(je ne change - presque - rien),
à peu près celle ci...
La routine de vérification
était en assembleur, mais chargée du
disk sous un nom quelconque (pour
exagérer un peu je l'apellerais
"VERIFICATION DISK"..)
Voici de quel style était
le programme de boot d'Opium..
Vous comprendrez tout de suite...
10 HOME : PRINT CHR$(4)"BLOAD VERIFICATION DISK, A8192"
10 PRINT "BIENVENUE A OPIUM, UN JEU D'AVENTURE AGAGA"
20 CALL 8192
30 PRINT "UN JEU DANS LA CHINE DES ANNEES 60"
40 PRINT CHR$(4)"BRUN OPIUM"
Moralité, au boot d'un
original, on voit s'afficher dans l'ordre :
"BIENVENUE..."
"UN JEU DANS LA CHINE..."
puis vient le jeu..
Au boot d'une copie, on voit
marqué :
"BIENVENUE..."
Puis avant le second message, le
disk reboote !!...
Pour le déplomber, il
suffit de charger le programme de boot (HELLO)
et de le lister.. Un mome de 2 ans
remarquerais tout de suite le
CALL 8192 entre les deux messages,
qui peut etre la seule cause de
plantage (reboot) entre les deux
messages !!!...
Il suffit de l'enlever..
Pour compliquer leur plombages,
quitte à faire déjà cette erreur,
ils auraient pu rendre leur
routine indispensable, c'est à dire
la terminer, dans le cas d'un bon
résultat par un POKE quelconque
qui serait ensuite
vérifié bien plus loin dans le jeu...
Si la vérif est bonne, elle
se termine par un LDA #$1 STA $9999
et plus tard, le programme
principal, en plein milieu du jeu
irais verifier le contenu de
l'adresse $9999.
Le déplombeur ayant (comme
le ferais tout déplombeur), enlevé la
vérif (enlevé le
BLOAD et le CALL), il enleve aussi SANS LE SAVOIR
le poke indispensable bien plus
loin dans le programme.. !!
Et donc il répendra une
version mal déplombée, et il ne le saura pas
à moins de terminer le jeu
d'aventure avant de le diffuser, ce qui
peut prendre des mois.. C'est pour
cette raison par exemple, que je
disait dans mon emission sur RADIO
FRANCE l'année dernière, que
les jeux d'aventures sont les plus
facilement plombables..
Procédant par
étapes, on peut toujours glisser des vérifications
à
une quelconque étape du
programme..
Autre complication du plombage auquel on peut penser (et c'est grace
à ça
que certains jeux d'aventures Excalibur n'ont jamais été
BIEN déplombés),
on peut COMPILER la vérification de basic en assembleur..
Le résultat sera beaucoup plus tordu qu'une routine directement
écrite
en assembleur (surtout pour le teste Basic de la retenue), et qui dit
programme de vérification du disk tordu, dit difficultés
supplémentaires pour
le déplombeur...
1.3.4.3. La vérification en assembleur sur un disk en Boot
Inconnu
-------------------------------------------------------------------------------
Tout dépend de la routine de lecture du Boot.
Si c'est un FBoot, le FBoot de SAM, de CHIP ou d'EOA, un ProDOS, un
E-Boot Epyx
Dieu sait quel autre boot ??...
Bref, il faut étudier la routine de lecture et étudier
les codes d'erreur
si l'on veut teste l'absence de piste $23 pour une copie, ou bien
étudier
la lecture si l'on veut tester l'original par lecture de la piste $23.
M'enfin..
Pour le ProDOS, qui est une M.. totale, je ne dirais rien.. j'aime pas
ça !!
Pour le E-Boot Epyx, la RWTS est une RWTS 3.3. On utilisera les
adresses DOS.
Pour le FBoot de sam par exemple , il suffit de faire une lecture avec
une
erreur max' quelconque (grande quand meme, par sécurité),
et de tester le
code erreur..
L'idéal galactique est de posseder le source
détaillé de la routine de lecture
et là, plus de probleme.. Le principe est toujours le meme, et
meme si l'on
n'y trouve pas de routine de traitement d'erreurs I/O, on peut toujours
utiliser la méthode de lecture de la piste $23 en placant une
valeur précise
ou une routine sur un secteur précis de cette piste diabolique..
===============================================================================
1.4 LE BLUFF "ELECTRONIC ARTS"
===============================================================================
Quand j'ai discuté avec Adam, après avoir mis la
protection, à l'état primaire
sous DOS 3.3 avec une vérif' par lecture en basic de la piste
$23, on a
discuté longuement de comment compliquer son plombage.
Voici une des techniques que je lui ai proposées...
Ce "bluff" très personnel n'a pas de rapport du tout avec le
plombage en
$23 pistes, mais ca m'amuse tellement de compliquer des plombages avec
des
méthodes (personnelles) assez folles, que je vous dévoile
tout ce que j'ai
derriere la tete..
Simple.. Tous les Electronic Arts (les meilleurs softs Apple en
général),
sont plombés depuis 2 ans toujours de la meme manière, en
spiralling
incopiable avec le drive Apple sur la piste $6 et avec une
vérification
codée en MCode (une invention EOA), lors du boot..
Il y a toujours de vérifications de la piste $6, voire 3.
Devant le MCode, la plupart des pirates reculent, ou alors recopient
betement
des déplombages EOA MCode vus dans DEPME qui permettent souvent
de passer le
cap des vérifs du boot, mais des vérifications suivantes
font planter le jeu
longtemps après, quand on pense avoir gagné !!...
(Y'en a qui veulent un méga-cours sur Electronic Arts ??!!, Y'a
de quoi dire)
Beaucoup de pirates reculent en voyant une piste $6 incopiable, en se
disant
"Zut !! la protection folle EOA a encore frappé !!"..
Et comme notre but, c'est de faire reculer les pirates, faisont reculer
!!!
Il suffit, au moment où la vérif est prete et où
le plombage est complet;
au moment où l'on va copier les programmes sur le $22
premières pistes,
de copier sur la piste $6, la piste $6 avec CRAZY COPY qui se trouve
dans
le drive 2 ouvert !!.. ca va dé-formatter la piste $6 ! (fou!
non ??)
Faites néanmoins attention que cette piste soit vide avant cette
opération.
Le mieux est de prendre un éditeur de VTOC et de remplir la
piste $6 avant
de copier des fichier sur le disk à plomber.
La piste $6 ne ressemblera alors qu'à une piste pas
formattée, comme tout
le monde pense que la piste $6 des EOA n'est pas formattée..
En théorie, beaucoup se mordront les levres, en commencant comme
toujours le
déplombage par un essai de copie au locksmith du disk, avant
meme de le
booter..
Les pirataillons de banlieue vont tous abandonner tout de suite...
Ensuite, pour continuer le bluff (on peut reproduire la protection EOA
avec
les drives Apple, alors on fait des coups de bluff !), on pourrait
changer
le boot en FBOOT EOA (voir GP'S #3) et rajouter la vérif
annulée de facon
à ce qu'elle ne serve qu'à ajouter le "bruit" des verifs
EOA sur le disk..
Moi je me mordrais le levres, et j'abandonnerais peut etre, avant de
meme
penser que ce n'est qu'un bluff et que le plombage n'a rien a voir avec
la piste $6 mais avec la piste $23..
M'enfin..
===============================================================================
1.5 AJOUTER LE PRINCIPE DES DOS 3.3 INDISPENSABLES
===============================================================================
Il est évident qu'on peut rajouter une vérification de la
piste $23 dans le
boot.. (attention! si on en trouve une seule, si elle est mal
planquée, le
déplombeur va tout de suite deviner la présence d'une
piste $23 !!, il vaut
des fois mieux ne pas trop en rajouter comme vérif' sur une meme
caractéristique de l'original..)
Comment le déplombeur fera t'il s'il voit que le disk original
boote avec un
prompt et que la copie plante avant l'apparition du prompt ??
Il changera tout simplement de DOS sur sa copie et la vérif sera
annulée !
Comment faire pour l'en empecher ??
Allez voir le principe des DOS INDISPENSABLES EOR, et DOS CODEUR (GP#2
et GP#7)
C'est génial... et ca peut s'adapter à n'importe quel
disk plombé par piste $23
sans probleme aucun.
===============================================================================
1.6 LE PLOMBAGE FINAL QUE L'ON A IMAGINE, ADAM ET MOI...
===============================================================================
Sachant que la meilleure protection est un mélange intelligent
de plusieurs
protections, voici un exemple simple de bonne protection...
On a imaginé un plombage fou que l'on va mettre en place
bientot..
Le boot serait un E-Boot, ce qui permet déjà une
vérif' simple de la piste
$23, bien planquée, avec la RWTS 3.3 du E-Boot.
Ce E-Boot aurait dans son pseudo-catalog plusieurs programmes de boot,
et le
bon (numéroté dans X, voir E-Boot Maker 1.00), serait en
fait la routine
FBoot d'EOA. Cette routine ferait faire au drive le bruit de la
protection EOA
(la piste $6 aurait un format fou, comme convenu).
Ensuite, cette routine bluff chargerait la routine de lecture finale (on
garde la meilleure pour la fin), la routine de FBoot de Sam, qui
chargerait
le programme après avoir testé dans tous les sens la
piste $23.
On pensait meme greffer à un endroit ou à un autre un
bout de la protection
Activision du cours 14.
Il suffirait de modifier un des nibbles de fin de champ sur la piste
$23 par
exemple et de se servir de cette clé (ou de plusieurs nibbles
comme clés),
comme clé de décodage d'une routine FBoot suivante..
(mieux vaut la routine de
FBoot de Sam, qui contient ou charge la vérif que l'on veut
planquer le mieux
possible !!).. La lecture de/des clé/s de nibbles se ferait plus
facilement
sous E-Boot (RWTS 3.3 comme pour Activision), et serait
mémorisée jusqu'au
chargement par le FBoot EOA de la routine FBoot SAM...
On aurait donc 3 routines de lecture à boot-tracer, une fausse
vérif bluff
à ne pas "suivre", un décodage par lecture et la ou les
vérifs finales
(celles qu'il faut annuler) au bout du boot, au bout de la chaine...
Si vous décidez de réaliser une telle protection, moi
ça m'arrange étant donné
le nombre de Godfather's Products qu'il vous faut acquérir...
Gnarg! Gnarg!
===============================================================================
1.7 LES PROGRAMMES DE COPIE PERMETTANT DE COPIER UNE PISTE $23 AU
FORMAT DIFF.
===============================================================================
La piste $23 ne se copie déjà pas avec tous les
programmes de copie Apple,
et de plus, pas en format différent du format 3.3 ou du format
Patched simple.
Si le format est juste une/les fins de champs modifiés (DE AA
EB), le DISK
MUNCHER 8.0 sera parfait et très rapide..
Sinon, vous avez le LOCKSMITH LENT, ou mieux, si vous connaissez le
format
exact de la piste $23, vous pouvez utiliser le LOCKSMITH 6.0 RAPIDE $23
TRKS
en adaptant ses parametres de copie.. (attendez le cours sur les
Locksmith !)
Ce programme n'est pas encore terminé à mon gout !!
Si vous connaissez le format exact de la piste à copier, vous
pouvez meme
vous faire le copier vs memes. (les connaissances à avoir sont
dans le cours 3)
===============================================================================
1.8 LE DEPLOMBAGE SIMPLE D'UN DISK EN $23 PISTES
===============================================================================
On peut considerer deux types de plombages en $23 pistes...
1.8.1 - Le plombage où la piste $23 est juste
vérifiée mais ne sert à rien
1.8.2 - Le plombage où la piste $23 contient
des données (disk not full)
1.8.3 - Le plombage où la piste $23 contient
des données (disk full)
Voici ces différents cas de figures, étudiés par
le déplombeur.
1.8.1 Le déplombage d'un disk en $23 pistes avec un
vérif' sur la $23
-------------------------------------------------------------------------------
Si la piste $23 sert juste à la vérif' de sa
présence, le déplombeur devra
chercher un accès disk à cette vérif (selon le
boot, cet accès disk se fera
d'une manière ou d'une autre)...
Une fois la vérif' localisée en mémoire et sur le
disks, il se doit - pour etre
clean - de la comprendre de A à Z et de voir ainsi si elle peut
etre enlevée
betement.. déconnectée.. et que ce déconnectage
n'entrainera pas un plantage
plus loin dans le programme, ou aucune malfontion du programme...
S'il arrive à s'en débarasser, le disk redeviendra un
disk $22 pistes.
Attention, néanmoins. si le programme à un boot qui
autorise l'utilisation de
la piste $23 et que ce programme sauve dés fichiers ou
pseudo-fichiers sur
le disk original, il faut modifier le Disk Operating System de
manière à
n'autoriser aucune sauvegarde de la piste $23.
Il faut remettre le disk en $22 pistes, enlever la/les vérifs de
cette pistes
ou les déconnecter intelligemment, puis empecher tout
accès futur à cette
$23ème piste qui n'existe déjà plus.
1.8.2 Le déplombage où la piste $23 contient des
données essentielles
-------------------------------------------------------------------------------
Il suffit de replacer - en fonction du Disk Operating System - les
données
que contient la piste $23 sur les secteurs libres restant sur d'autres
pistes
puis de limiter le DOS afin d'interdire tout futur accès
à la piste $23.
S'il ne reste pas suffisamment de secteurs libres, on se retrouve dans
le cas
suivant... Le programme VTOC $23 en catalog, permet de réaliser
ce plombage
en déplacant le catalog automatiquement en piste $23. Source
inclus...
1.8.3 Le déplombage où la piste $23 contient des
données - disk plein !!
-------------------------------------------------------------------------------
On a trois méthodes uniques selon les cas et la
"copiabilité du disk original".
Les voici, avant de les étudier en détail...
1.8.3.1 - Transvaser des
données sur une face supplémentaire !!
1.8.3.2 - Faire un copieur
pour l'original
1.8.3.3 - Comprendre
où l'on peut gagner de la place
Le probleme quand on a un disk plein de $23 pistes, est le suivant :
On a une piste en trop avec des données indispensables.. Il faut
bien les caser
quelque part !!.. c'est normal.. (principe des nouveaux BRODERBUND en 18
secteurs par pistes avec des disks pleins !!)
Que peut on faire ??..
1.8.3.1 Transvaser des données sur une face
supplémentaires
-------------------------------------------------------------------------------
La piste $23 tient sur $F secteurs et en général, le boot
aussi, sur la piste 0
La technique qui permettrait de transvaser le boot sur un autre disk est
une technique personnelle très complexe que j'ai appelée
"2nd Stage Filing",
par hommage au 2nd Stage Boot du DOS nommé ainsi par The Disk
Jockey.
Elle s'apparente un peu à la mise en CATALOG dans le cas
où l'on souhaiterait
mettre en catalog le boot et faire un faux-reboot avec ce boot
cataloguable..
Ca se rattache aussi aux techniques de Tom E. Hawk Boot et de faux
reboot..
On va voir ça bientot dans un prochain cours...
1.8.3.2 Faire un programme de copie d'originaux (copie intacte)...
-------------------------------------------------------------------------------
Ma foi.. Il restera toujours quelques secteurs libres pour glisser un
programme
de copie d'originaux au boot.. et si l'on a pas la place, on peut
toujours
rajouter une face au programme..
Il faut pour faire ce copier utiliser la RWTS du disk original ou bien
une
RWTS 3.3 quelconque, et, en ayant compris à fond le plombage de
chaque piste
de l'original, programmer un copieur qui formatte et copie sur le disk
fraichement formatté, le disk original + copieur
(eventuellement).
La copie sera intacte si le programme et l'analyse du format sont bien
faits.
C'est la technique employée le plus souvent dans ce genre de
situations par
mon grand copain Numéro 6. (Voir Globe Trotter, Where in The
USA.., Toy Shop..)
1.8.3.3 Comprendre où l'on peut gagner de la place
-------------------------------------------------------------------------------
C'est la technique de la dernière chance si l'on n'a pas
réussit à faire un
copieur intégré, c'est de rechercher des zones sur le
disk qui se ressemblent
et que l'on pourrait "compresser".. des images par exemples.. etc..
Le mieux est de décortiquer tous les accès disk pour voir
si vraiment tous les
secteurs du disk qui ont l'air occupés, sont chargés et
utilisés !!
===============================================================================
1.9 LES CRITIQUES AU PLOMBAGE D'ADAM et AU PLOMBAGE $23 PISTES CLASSIQUE
===============================================================================
1.9.1 Les critiques au plombages d'Adam : Qualités
-------------------------------------------------------------------------------
La piste $23 étant en format Patched contrairement aux plombages
en $23 pistes
classiques, où soit le disk est en format normal ou tout en
format patched.
La ruse est bonne, on peut pense, si l'on a eu un doute, que la piste
$23
n'est pas formattée..
Seul moyen de revenir à cette hypothese : les détails
dans le programme (vérif)
A vous de bien planquer les détails et les vérifs qui
indiquent que l'on
essaye de lire la piste $23...
1.9.2 Les critiques au plombage par $23eme piste : Défauts
-------------------------------------------------------------------------------
Pas mal de drives ne peuvent pas atteindre la $23eme piste.
C'est la raison pour laquelle de tels plombages ont été
arrétés !
===============================================================================
1.10 METTEZ UN NUMERO DE SERIE SUR VOS DISKS, QUI CHANGE A CHAQUE
COPIE...
===============================================================================
Le but du jeu est le suivant..
Imaginez que sur ce cours, je désire mettre au boot, au lieu du
numéro du cours
un numéro de série, comme sur certains originaux, qui
dirait quel est le numéro
de la copie faite de ce programme (combien d'exemplaires sont
répandus à partir
de la disquette master.)..
Le disk de copieurs d'ACS, "Apocalyptic Cracking Squadron", boote (la
nouvelle
version) en affichant un tel numéro de série..et à
chaque copie avec le
locksmith de ce disk de copieurs ACS, ce numéro de série
s'incrémente !!
Impressionant !
Ce truc peut etre réalisé simplement à partir de
la $23eme piste.
Il suffit de mettre au boot du disk à numéroter, une
routine d'affichage de
numéro de série, puis de la formatter en $23 pistes !!
On boote le disk, et une routine telle que celles de ce cours va
vérifier la
présence de cette $23eme piste.
Si la $23eme piste est formattée sur le disk, le numéro
de série s'affiche et
le boot continue..
Mais si cette piste fatale n'est pas formattée (on vient donc de
faire une
copie avec un locksmith ou autre copieur $22 pistes, quel qu'il soit,
d'où
qu'il vienne !)..si cette piste n'est pas formattée lors du
boot, une routine
la REFORMATTE (!!) et à la fois INCREMENTE le numéro de
série.
Ainsi, au boot suivant, la piste $23 étant reformattée,
le numéro de série ne
changera plus, jusqu'à ce que cette piste soit encore
ignorée, c'est à dire
jusqu'à ce que le disk soit encore copié en $22 pistes,
comme toujours !!
Le cercle est infini et à chaque copie, le numéro de
série changera, quel que
soit le programme de copie utilisé !!
Avec ce principe de numérotation du boot d'une copie, on peut
envisager,
si la vérification du plombage ne porte pas sur la piste $23,
qu'une copie
de l'original - non déplombée - plante au 6eme boot - par
exemple - la copie
se modifiant à chaque boot, et ne pouvant booter Write-Protected
!!..
Y'a pleins d'applications folles !!
===============================================================================
En esperant que vous avez bien tout pigé de ce cours
Plombage/Déplombage dont
l'idée m'a été inspirée par Adam, qui prend
des cours avec moi depuis janvier,
je m'aperçois que j'ai encore fait un méga-fichier et que
j'y ai passé deux
jours et une nuit presque non-stop !!..
Un conseil avant de vous laisser à l'application de ce cours :
Ne devenez
jamais plombeur, parce que, sans en avoir l'air, il y a dans ce cours
des
trucs qui - s'il étaient bien employés - nous
compliqueraient enormement la
déplombe !!!...
A la prochaine !!..
Amicalement, GODFATHER from THE NEW APPLE MAFIA
-------------------------------------------------------------------------------
COMPLEMENT COURS 15 REVISION 1.10 :
DISK OPTIMIZER SYSTEM 12/10/87
-------------------------------------------------------------------------------
Dingue ça dis donc !
C'est la première
fois que ça m'arrive.. Le fichier de cours fait
185 secteurs et toute la
mémoire de mon //c est occupée sous traitement
de texte Applewriter //,
entre le texte et le soft !!..
Moralité, je voulais
continuer ce cours, parce que j'avais encore des
trucs à dire sur la
monstrueuse piste $23, et je suis obligé d'ouvrir
ce fichier "Complement au
cours".
En fait, à la
révision 1.10, j'ai pas grand chose à ajouter, mais
ce fichier devrait etre
ouvert dans un esprit d'élargissement
galactique... pour se
tourner vers les futures révisions du cours 15.
Je vais vous parler du
dernier moyen que j'ai trouvé (au 12/10) pour
formatter un disk en $23
pistes et l'utiliser à volonté très facilement
Tout réside dans un
programme de 76 secteurs, qui est en catalog :
D.O.S. : DISK OPTIMIZER
SYSTEM programmé par THE
WIZARD
--------------------------------------------------------------
Ce programme a pour but ultime de "ralonger" vos disks par
trois moyens :
1. En changeant le dos par le meme mais optimisé
2. En utilisant certains certains de la piste $11
3. En formattant le disk en $23 pistes !!
L'emploi de ce programme est enfantin. Alors formattez avec vos
disk en $23 pistes et amusez vous bien...
-------------------------------------------------------------------------------
*******************************************************************************
*
*
* LES PROGRAMMES DE CE
DISK... COURS 15
REVISION 1.00 UPDATE 31/08/87 *
*
*
*******************************************************************************
*
*
* J'ai fait beaucoup d'étoiles pour ce nouvel essai de
présentation de *
* fichier "LES PROGRAMMES DE CE DISK", mais y'a pas vraiment beaucoup
de *
* programmes cette fois ci..sinon les programmes listés dans le
cours.. *
* C'est à
dire...
*
*
*
* 1. D.O.S. : Disk Optimizer
System
Programmé par The Wizard *
*
--------------------------------------------------------------------- *
* Voir fichier "complement cours
15".
*
*
*
* 2. TEST RETENUE
BASIC
Un exploit basic d'Oliver Twist *
*
--------------------------------------------------------------------- *
* Après un essai de lecture
de la piste $23 (routine SREAD par exemple) *
* ce programme vous dira si la
retenue est à 1 ou à 0 c'est à dire s'il *
* y a eu une erreur de lecture ou
non, c'est à dire si vous avez un *
* original $23 pistes dans le drive
ou
non.
*
*
*
* 3. TEST DISK $23
TRK.S Un exemple de vérif' en Assembleur sous
DOS *
*
--------------------------------------------------------------------- *
* Le source est là, vous
pourrez facilement l'incorporer aux sources *
* des programmes à proteger.
Il vérifie la $23eme
piste.
*
*
*
* 4. VTOC
$23 Programmé par Rohn Smith pour
Hardcore Computist #18 *
*
--------------------------------------------------------------------- *
* Ce programme déplace la
piste du catalog en piste $23 (il
faut *
* qu'elle soit déjà
formattée) et modifie la Vtoc en
conséquence.. *
* ainsi, une copie en $22 pistes
fait disparaitre le catalog ! + Source *
*
*
* 5. DISK MUNCHER 8.0 $23
PISTES
Patched by Godfather *
*
--------------------------------------------------------------------- *
* Pour plomber ou copier vos
originaux $23P.. (ex:JAMES LE BARBARE) *
*
*
* 6. NIBBLES AWAY II - VC3 $23
PISTES
*
*
--------------------------------------------------------------------- *
* Editeur de secteurs,
éditeur de Nibbles et Copieur qui
peut *
* travailler sur tout le disk, y
compris la piste
galactique.
*
*
*
*
*
* Tous les sources des programmes
disponibles sont en face B, sur la *
* Meme face que l'original (en
catalog). Ils sont tout à
faits *
* indépendants du plombage
de James le Barbare, et sont donc en aussi *
* bonne santé que s'il se
trouvaient sur cette face. J'ai fait un cours *
* tellement fou que je dois trouver
de la place où il en reste encore *
* un peu
!!...
*
*
*
* Bientot, avec le cours LA FACE
CACHEE DES LOCKSMITH, vous aurez *
* entre autres, un locksmith
compatible II/IIGS et travaillant
en *
* 40 pistes, et entièrement
paramétrable
!!
*
*
*
*******************************************************************************
===============================================================================
ADRESSES DE BOITES DE SOFTS
AMERICAINES
Update 31/08/87
===============================================================================
Suite à la demande d'adresses de boites de programmes Apple /
Apple IIGS,
que certains d'entre vous m'ont faites, voici un fichier qui contient
les
adresses des boites aux best-sellers (Activision, Datasoft, Electronic
Arts..)
comme des moins créatrices..
Tous les editeurs de softs Apple ne sont pas représentés
evidemment, mais
ce fichier va s'agrandir au cours du temps.. (voir Update
commencé le 31/08/87)
Vous pouvez écrire à ces adresses pour demander des
listes (catalogues) de
nouveautés, et de prix afin de commander ou de vous tenir au
courants des news
Apple II, IIGS..
Vous m'avez fait une demande.. Voici ma réponse...
Activision, Inc.
P.O. Box 7287
Mountain view, CA 94039 USA
Addison-Wesley Publishing Co.,Inc.
Jacobs Way.
Reading, MA 01867 USA
Alpha Logic Business Systems, Inc.
4119 North Union Road
Woodstock, IL 60098 USA
Artworx
150 North Main Street
Fairport, NY 14450 USA
Avallon Hill Microcomputer Games
4517 Harford Rd
Baltimore, MD 21214 USA
Avant Garde Creations
P.O. Box 30160
Eugene, OR 97403 USA
Bantam Electronic Publishing
666 Fifth Avenue
New York, NY 10103 USA
Brainpower, Inc.
24009 Ventura Boulevard
Suite 250
Calabasas, CA 91302 USA
BR0DERBUND Software, Inc.
17 Paul Drive
San Rafael CA 94903 USA
Cdex Corporation
5050 El Camino Road
Los Altos, CA 94022 USA
Central Point Software
9700 SW Capitol Hwy. #100
Portland, OR 97219 USA
Datasoft
19808 Nordoff
Chatsworth, CA 91311 USA
Digital Vision, Inc.
14 Oak Street - Suite 2
Needham, MA 02192 USA
DLM
1 DLM Park
Allen, TX 75002 USA
Electric Transit
501 Marin Street
Suite 116
Thousand Oaks, CA 91360 USA
Electronic Arts
1820 Gateway Drive
San Mateo, CA 94404 USA
Epyx
1043 Kiel Court
Sunnyvale, CA 94089 USA
Firebird Software,
Box No.49
Ramsey, NJ 07446 USA
High Technology Software Products, Inc.
P.O. Box 14665
Oklahoma City, OK 73113 USA
Howard W. Sams. &Co.
4300 W. 62nd St.
Indianapolis, IN 46268 USA
Peachtree Software
3445 Peachtree Road NE
Atlanta, GA 30326 USA
Microprose
120 Lakefront Drive
Hunt Valley, MD 21030 USA
Microsoft Corporation
10700 Northop Way
POB 97200
Bellevue, WA 98009 USA
Mindscape Software
P.O. Box 506
Northampton, MA 01601 USA
Penguin Software
830 fourth Ave.
P.O. Box 311
Geneva, IL 60134 USA
Phoenix Software
6640 N. Sioux
Chicago, IL 60646 USA
Quark, Inc.
2525 West Evans, Suite 220
Denver, CO 80219 USA
Scholastic, Inc.
Box 7502
2931 E. McCarty St.
Jefferson City, MO 65102 USA
Sierra On-Line, Inc.
Sierra On-Line Building
Coarsegold, CA 93614 USA
Sir Tech Software,
6 Main Street
Ogdensburg, NY 13369 USA
Spectrum Holobyte Inc.
1050 Walnut, Suite 325
Boulder, CO 80302 USA
Sterling Swift Publishing Co.
7901 Sourth IH-35
Austin, TX 78744 USA
Sublogic
713 Edgebrook Drive
Champaign, IL 61820 USA
Springboard Software
7807 Creekridge Circle
Minneapolis, MN 55435 USA
SSG (Strategic Studies Group)
P.O. Box 261
Drummdyne, NSW 2047 AUSTRALIA
Tom Snyder Productions, Inc.
123 Mt. Auburn St.
Cambridge, MA 01238 USA
Windham Classics
One Kendall Square
Cambridge, MA 02139 USA
Amicalement, GODFATHER from THE NEW APPLE MAFIA
===============================================================================
- Rainbird Software (auteurs de starglider et
compagnie!)
First Floor
(faut dire au facteur l'étage ??)
74 New Oxford Street (prochaine news : Night_Hawk !)
LONDON WC1A 1PS
ENGLAND
- Level 9 computing (qui étaient avant soudés
avec Rainbird)
P.O. Box 39
(spécialistes des jeux d'av en texte !!)
Westen-Super-Mare (derniere news : The Gnome Ranger #9.95)
Avon BS24 9UR
ENGLAND
- The Manager
Database Software
Europa House, 68 Chester Road
Hazel Grove, Stockport SK7 5NY
ENGLAND
===============================================================================
PROPOSITION DE
COURS
Godfather
===============================================================================
Actuellement je prépare un cours sur les locksmiths :
- La face
cachée des locksmith depuis l'aube des temps !
Mais que désireriez vous voir venir après ce super cours
!...???
1 - Tout sur Electronic Arts
2 - Tout sur S.S.G. (une
super boite de Wargames et Jdr Australienne)
3 - Tout sur la seconde
protection Activision
4 - Tout sur le Tom E. Hawk
Boot (Signature de disks déplombé)
Le cours sur Electronic Arts serait très interessant et aussi
très très
volumineux (faudrait meme peut etre prévoir 2 cours pour leur
seule protection)
et vous n'etes peut etre pas encore prets à affronter une telle
balaisité.
(ceci dit sans vous offenser, j'espère!)
Le cours sur les wargames SSG (Stategic Studies Group, PO BOX 261
DRUMMDYNE.NSW
2047, AUSTRALIA), serait également très instructif, moins
long, beaucoup plus
utile dans le sens où quasimment aucun SSG n'a été
déplombé jusqu'à ce jour,
et beaucoup moins utile dans le sens où Electronic Arts est une
boite qui
ne fait que des Best Sellers, et qui est très productive !
Le cours sur la second protection Activision est déjà
programmé..
Vos remarques sur ce cours ne peuvent qu'en avancer la date...
Le cours sur les Tom E. Hawk Boot serait super utile à tous, et
pas seulement
pour signer vos déplombes.. Vous le voulez ?? réclamez le
!!
===============================================================================