Cours de déplombage 15

Note de Deckard du 29/12/2005 : A noter que pour tous collectionneurs de disks images, La Vieille Taupe (The Old Mole) est une calamité. En effet sa manie de tout coller en $23 pistes est plus qu'agaçante quand on sait que les émulateurs ne savent pas gérer cette dernière piste (idem pour les outils de conversion Apple II <-> PC).
Dès que des données se trouvent sur cette piste, c'est paumé... Grrr!!!!


Ecran
Ecran
Ecran
Ecran
Ecran


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.
----------------------------------------------------------------------


Floppy
DOS 3.3
Download Cours GDF 15 rev 1.10 (gzipped)


Sommaire


Lien Article
Voir Introduction.
Voir Cours 15 révision 1.10.
Voir Complément cours 15.
Voir Les programmes de ce disk.
Voir Les adresses des éditeurs de softs aux USA et en Australie.
Voir Les adresses des éditeurs de softs en Angleterre.
Voir Proposition de cours.

hr cours GDF

Introduction.


 __ 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 !
!_____________________________________________________________________________!


Retour sommaire

hr cours GDF

Cours 15 révision 1.10.


===============================================================================
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


Retour sommaire

hr cours GDF

Complément cours 15.


-------------------------------------------------------------------------------
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...

-------------------------------------------------------------------------------


Retour sommaire

hr cours GDF

Les programmes de ce disk.


*******************************************************************************
*                                                                             *
* 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 !!                             *
*                                                                             *
*******************************************************************************


Retour sommaire

hr cours GDF

Les adresses des éditeurs de softs aux USA et en Australie.


===============================================================================
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
===============================================================================


Retour sommaire

hr cours GDF

Les adresses des éditeurs de softs en Angleterre.


                - 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


Retour sommaire

hr cours GDF

Proposition de cours.


===============================================================================
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 !!

===============================================================================


Retour sommaire