E D D I V ************* LES TECHNIQUES DE PROTECTION COURAMMENT UTILISEES INTRODUCTION: ----------- Les développeurs de logiciels se posèrent vite la question de savoir comment protéger le fruit de leurs cogitations contre les copies illégales (Note de Capslock: et si Gutemberg avait fait la mème chose, on taperait encore au burin sur du granit ?). Nous allons donc voir quelles ont été les différentes méthodes de protections utilisées par les différentes sociétés d'édition depuis qu'Apple existe. LES CARACTERES DE CONTROLES INVISIBLES: -------------------------------------- C'est très certainement la première protection utilisée avec le DOS 3.3: les noms des fichiers contenaient des caractères de controle invisibles lorsqu'on fait CATALOG. La disquette est donc copiable, mais le programme ne peut ètre chargé (et donc modifié). On ne peut pas vraiment considérer cette méthode comme très efficace, mais ce fut le début de la lutte anti-pirates. MODIFIER LES CHAMPS ADRESSES/DONNEES: ------------------------------------ La modification des champs d'adresse et/ou de données est la première protection digne de ce nom. Le DOS 3.3 standard cherche les octets D5 AA 96 comme marqueurs de début de champ adresse. Si un disque protégé utilise d'autres marqueurs (comme D4 AA 96) un copieur standard ne pourra pas trouver l'emplacement des secteurs. Et donc si on ne peut lire les secteurs, on ne peut les copier. CQFD. Au début, cette protection fut très efficace: rappelez-vous, seul FID et COPYA était disponibles.... MODIFICATION DES OCTETS DE SYNCHRO: ---------------------------------- Entre chaque secteur d'un disque au format standard, il y a une zone servant d'étalonnage de temps. Sur les disques non protégés, cet espace est rempli de FF. Il y a quelques années, un petit malin eut l'idée de changer ces FF en FE. En dupliquant la disquette avec un copieur standard, la zone de synchro est remplie de FF et non de FE ! En lançant la disquette, le programme n'a qu'à tester ces octets de synchro: il verra vite s'ils ont été modifiés. PROTECTION EN ECRITURE: ---------------------- Bien que ce ne soit pas une technique de protection à proprement parler, c'est relativement efficace. La disquette doit en effet rester protégée en écriture pour que le programme fonctionne. Si par malheur la copie n'est pas protégée, c'est le plantage (dans le meilleurs des cas) ou l'effacement de la disquette (dans le pire des cas). Il suffit de vérifier si l'original est protégé, et de mettre une languette de protection. C'est pas la mer à boire ! LA PISTE 35: ----------- Les disques normaux utilisent les pistes 0 à 34. Il y a donc 35 pistes au total. Cependant, il est relativement facile de créer une piste n°35: cette piste supplémentaire ne sera pas copiée et donc le programme plantera. Le problème, c'est qu'un drive sur deux n'arrive pas à lire cette piste supplémentaire. Ce qui fait que mème l'original ne fonctionne pas. On peut pas dire que ça facilite les relations Editeur/Acheteur ! Note de Capslock: l'ignoble OLD MOLE (plus connu sous le nom de VIEILLE TAUPE) est un fervent adepte de cette technique. Sachant que mes DEUX drives ne peuvent lire la piste 35, vous voyez ce que je peux penser de la TAUPE lorsqu'une de ses disquettes me parvient (surtout qu'il met une piste 35 sur tout ce qui lui passe entre les mains). Il y a des jours où je rève de lui carrer un saucisson de 35 CM dans le derche ! LES DEMI PISTES: --------------- Les protections utilisant les demi-pistes, la synchronisation de piste ou le comptage de nibbles apparurent simultanément. Nous savons qu'un disque normal utilise les pistes 0 à 34. Le système de la demi-piste consiste à 'cacher' des informations entre deux pistes entières. Par exemple, on écrit une piste entre les pistes 1 et 2. Cette nouvelle piste sera numérotée 1.5. Il est ainsi possible d'utiliser toutes sortes de 1/2 pistes. La seule contrainte est que l'écart entre deux 'pistes' consécutives doit ètre au minimum de 1. Par exemple, si vous voulez utiliser les 'pistes' 0 0.5 1 1.5 et 2, cela ne fonctionnera pas. LE COMPTAGE DE NIBBLES: ---------------------- Chaque piste de la disquette contient un certain nombre d'octets. Il est fréquent que lors de la copie, le nombre d'octets de chaque piste ne soit pas préservé (ceci est du à un problème de vitesse de rotation). Pour que la protection soit efficace, il suffit de noter le nombre d'octets théoriquement contenus par une piste originale et de vérifier si ce nombre correspond à ceux effectivement lus. Il est possible de faire cette vérification sur plusieurs pistes, ce qui complique la tache du copieur. LA SYNCHRONISATION DE PISTES: ---------------------------- Chaque piste est circulaire et contient un certain nombre d'octets. Ces informations sont complètement indépendantes de ce qui se trouve sur les autres pistes. Du moins jusqu'à l'apparition de la synchronisation de pistes. Par exemple, imaginons que lorsque le lecteur a fini de lire le secteur 0 de la piste 3 il passe sur la piste 4. Maintenant, supposons que le premier secteur lu sur la piste 4 soit le secteur 8. Ce secteur n°8 sera donc le premier secteur à lire chaque fois qu'on quittera la piste 3. Si vous faites une copie de la disquette, il y a fort à parier que n'importe quel secteur sera écrit en premier. Vous avez très exactement une chance sur 16 pour que ce soit le bon secteur qui se positionne en tète de piste. Si toutes les pistes sont synchronisées, il vous faudra 14 tonnes de chances pour que la copie fonctionne. LES QUARTS DE PISTES: -------------------- Bien que pas mal d'auteurs aient décrété que c'était impossible à faire, il y eut certains éditeurs qui trouvèrent la combine pour utiliser les quarts de pistes. La technique est la mème que pour les demi-pistes, sauf qu'on utilise les 1/4 et 3/4 de pistes. LES PISTES EN SPIRALE: --------------------- Il s'agit de la combinaison des demi-pistes et de la synchronisation de piste. Lorsque 2 secteurs sont écrits sur la disquette, on passe à la demi-piste suivante et on écrit les deux suivants; et ainsi de suite. Comme nous l'avons vu, une piste normale est circulaire; alors qu'avec ce type de protection, la piste ressemble d'avantage à une longue spirale allant vers le centre (bien qu'il soit possible d'avoir une spirale allant du centre vers l'extérieur). LES GRANDES PISTES: ------------------ Lorsqu'on écrit sur un disque, plus celui-ci tourne lentement et plus on pourra mettre d'informations sur la piste. Aussi certains éditeurs utilisent des drives plus lents que ceux du commerce. Donc pour recopier intégralement un tel type de disk, il faut utiliser une lecteur tournant à la mème vitesse (ou plus lentement) que le lecteur ayant servi à créer l'original. Comme 90% des utilisateurs ne savent pas calibrer la vitesse de rotation de leur drive, les éditeurs s'assurent 90% de ventes ! Avec EDD, pas de problème pour recopier ces disques ! Il suffit d'utiliser l'option ADJUST DRIVE SPEED et le tour est joué. LES BITS DE SYNCHRO: ------------------- Il s'agit des techniques de protection les plus sophistiquées. Heureusement, EDD PLUS a une option BIT COPY MODE qui déjoue automatiquement ces protections. La version normale d'EDD le fait également, mais pas automatiquement. Comme chacun sait, un lecteur normal peut lire les octets de remplissage situés sur une piste, mais il ne peux pas lire les bits de synchronisation situés entre ces octets. Un bit de synchro peut ètre 'détecté' par voie soft, mais s'il y a plus de deux bits, il est impossible de tous les retrouver. A moins que vous ne sachiez où ils se trouvent précisément ! Evidemment, le programme protégé 'sait' où se trouvent ces bits: lors du boot, il suffit de vérifier s'ils sont toujours à leur place. La carte vendue avec EDD PLUS utilise un montage électronique qui détecte ces bits. Il suffit de combiner plusieurs techniques de protections, et la disquette devient pratiquement inviolable (du moins en théorie !). Note de B.Capslock: Et la technique de la piste avec 1 seul secteur ? on n'en parle pas, Messieurs de chez UTILICO WARE ? Heureusement qu'on vous a pas attendu, ça a permi de déplomber EDD IV en moins de deux !. Allez, sans haine et sans rancune, et à la prochaine pour EDD GS. Fait à LYON le 25 Mai 1987 par B. CAPSLOCK Disponible sur Apple IIc .dsk Archive par Steph & Gist : http://www.multimania.com/apple2c/