APPLICATIONSCOURS DE BIDOUILLAGE ★ Les protections livrent leurs secrets ★

Les Protections Livrent Leurs Secrets|Tilt)Applications Cours De Bidouillage

Protections: Touché ? Coulé !

Si le code d'un programme en hexadécimal ressemble à s'y méprendre à la succession des coups d'une bataille navale, ce n'est sans doute pas par hasard: c'est dans cet amas de données, d'instructions et d'adresses qu'il faut chercher les traces de la guerre que se livrent pirates et éditeurs, à coups de protections plus ou moins inviolables. L'ennui, c'est que, sans être visée, la frêle embarcation  du joueur honnête attire plus souvent qu'à son tour les boulets perdus...

La protection des logiciels est porteuse d'une injustice fondamentale: c'est en effet l'utilisateur honnête, celui qui achète ses programmes au prix fort par l'intermédiaire des circuits commerciaux traditionnels, qui se trouve pris au piège d'une guerre opposant éditeurs et pirates. Alors qu'il est le moins concerné par ce combat plutôt stérile, c'est lui qui en supporte tous les désagréments. Pour un peu, l'usager ignorant de la loi pourrait finir par croire que c'est le commerce des Originaux protégés qui est réprimé! Tous les joueurs qui achètent leurs jeux en boutiques connaissent, bien malgré eux, la lourdeur des opérations de chargement de logiciels exigeant des codes d'accès, les multiples phénomènes d'incompatibilité dus aux protections, la longue attente - parfois de plusieurs mois! - qui suit le renvoi à l'éditeur d'une disquette hors d'usage dont ils n'ont pas pu réaliser de copie de sauvegarde... A chaque fois, ce sont eux qui subissent les effets indirects de dispositifs auxquels ils devraient, seuls, échapper. Nous-mêmes, à Tilt, nous ne sommes nullement épargnés par les facétieux caprices de systèmes de protection qui choisissent généralement le plus mauvais moment (lorsqu'il faut prendre des photos d'écran, par exemple) pour se rappeler à notre. attention.

Nul doute que des pirates cherchant à se donner bonne conscience trouveront dans cette situation un argument de choix pour justifier la poursuite de leur activité illicite. Mais il serait plus facile de les contredire si les faits ne leur donnaient pas en partie raison: nous avons pu constater, par exemple, qu'une grande partie des problèmes d'incompatibilité rencontrés lors du passage de l'Atari ST à l'Atari STE étant dus aux protections des logiciels, les logiciels déprotégés avaient plus de chances de fonctionner sur les deux machines. Encore une fois, c'est le client «  honnête» qui se trouve pénalisé face au joueur moins scrupuleux,

Dans ces conditions, peut-on encore considérer la protection comme un mal nécessaire, un tribut à payer par l'utilisateur pour que l'industrie du logiciel puisse vivre et prospérer? Ou n'est-elle plus, au contraire, qu'une ligne Maginot allégrement franChie par les pirates de tous poils? A entendre les éditeurs eux. mêmes, on peut sérieusement douter de l'efficacité des systèmes de protection et, par conséquent, s'interroger sur l'impact réel du piratage sur le marché du logiciel de jeu. Certains, comme Daniel Duthil, président de !'Agence pour la protection des programmes, préfèrent faire appel aux rigueurs de la loi pour suppléer des procédés techniques impuissants à empêcher la copie des logiciels. Tous semblent en tout cas se tourner avec espoir vers de nouveaux supports inviolables qui pourront, à terme, supplanter la disquette magnétique en réglant définitivement? - le problème du piratage.

Les protections livrent leurs secrets

Loin de nous l'idée de trahir des secrets qui sont d'ailleurs déjà parfaitement connus des pirates. Il s'agît plutôt de satisfaire la légitime curiosité de J'utilisateur honnête qui contemple d'un air dépité l'écran noir de son micro, la boite d'un logiciel au bout de son bras ballant, et de lui expliquer les causes du manque de fiabilité des systèmes de protections actuels.
A l'origine, l'ambition des systèmes de protection se bornait à empêcher qu'un utilisateur quelconque puisse dupliquer un logiciel à l'aide des commandés de copie du DOS, aussi simplement que ['on peut enregistrer un disque original sur une cassette audio. Le développement du piratage a poussé j'industrie do. logiciel à s'engager dans une véritable course à !a protection, équivalent informatique de la course aux armements. Pourtant, aucun éditeur n'a pu mettre au point l'arme absolue, les crackers (NDLR: pirates qui se chargent de déprotéger les logiciels) finissant toujours par trouver une parade. Voici un inventaire des protections les plus usitées.

PROTECTION
PAR CODES D'ACCES

Cette protection, originale mais particulièrement fastidieuse, vérifie que vous êtes bien en possession du manuel (ou d'une liste de codes) en vous demandant, par exemple, de taper sur votre clavier un mot d'un paragraphe et d'une page choisis aléatoirement. Elle n'interdit pas la copie du logiciel, mais utilise souvent un procédé empêchant la photocopie de la liste des codes (emploi de couleurs qui ne passent pas à la photocopieuse, par exemple). Eh oui, c'est le papier qui est protégé, pas la disquette... Il s'est déjà produit que le distributeur français d'un logiciel anglais pousse involontairement à son comble la dérision de ce type de protection en livrant le programme avec un manuel traduit alors que les mots demandés étaient ceux du manuel anglais!

Mais si ces protections ennuient beaucoup l'utilisateur du logiciel, elles n'amusent pas non plus les crackers. L'un d'eux n'hésite pas à le reconnaître. "Ce sont des protections qui peuvent parfois être très difficiles à enlever! Il y a de nombreuses façons de faire appel au clavier, ce qui rend difficile la localisation de la partie du programme qui demande une entrée. Les tables de mots n'apparaissent jamais en clair, elles sont codées. Le programme code l'entrée au clavier et compare cette entrée à ce qui est déjà codé. »

PROTECTION PAR « CLEF»

Nous citons pour mémoire un type de protection qui connut son heure de gloire mais qui tend heureusement à être abandonnée. La clef, dongle en anglais, est un petit élément qui vient se brancher sur un des ports de l'ordinateur et dont le programme vérifie la présence. De taille réduite, il semble idéalement conçu pour se perdre sous un tapis lorsque le chat se met à jouer avec. L'inconvénient majeur de cette protection est alors de  il vous obliger à faire patienter le chat quelques semaines avant que l'éditeur daigne lui renvoyer un autre joujou. Ce dongle, généralement constitué d'une unique résistance, est en outre facilement reproductible ce qui évitera au pirate paresseux d'entrer dans le programme pour faire sauter le test. Il n'empêche pas l'établissement de copies de sauvegarde mais grève le coût du logiciel d'une cinquantaine de francs.

PROTECTION
PAR CHANGEMENT DE FORMAT

La répartition des données sur le disque (voir encadré), ainsi que la manière dont s'effectuent les copies de fichiers d'un support à un autre, sont gérées par le DOS (Disc Operating System), c'est-à dire le système d'exploitation. Afin d'empêcher les copies pirates, certains programmeurs ont eu l'idée de mettre au point des formats de répartition des données sur le disque différents de celui du DOS, en modifiant, par exemple, le nombre et la taille des secteurs, ou en changeant les données de contrôle. Le programme stocké sur une disquette protégée de cette manière doit obligatoirement être chargé en auto boat, car lui seul est capable de gérer ce format particulier. Le DOS de l'ordinateur ne voit dans la disquette qu'un support non formaté, y décèle des éditeurs d'écriture ou n'y trouve aucun fichier, selon la nature du format utilisé. Lors d'un essai de copie de la disquette protégée, un message apparaît, indiquant que le DOS y perd son latin.

Les méthodes de cryptage les plus simples consistent, par exemple, à fausser les sommes de contrôle qui servent à la détection des erreurs. Le DOS décèlera une erreur de lecture à chaque somme et refusera d'exécuter l'ordre de la copie, tandis que le système d'exploitation de programme négligera ces sommes ou les utilisera de manière appropriée. Plus souvent, ce sont les données de synchronisation qui sont modifiées. La palme de la sophistication dans le domaine du changement de format revient sans contestation possible au logiciel la « Bête de Geuaudan » sur Apple II, qui n'utilisait qu'une seule piste écrite en spirale, à la manière du sillon d'un disque en vinyle!

Un système d'exploitation conçu pour accéder à des pistes concentriques et distinctes est bien entendu incapable de retrouver la moindre information écrite selon ce format tordu. Cette protection efficace n'a d'ailleurs été crackée qu'au bout de trois mois, mais il faut signaler que la copie tenait sur trois faces, la disquette originale disposant d'une plus grande capacité de stockage raison de l'absence des données de contrôle.

Les pirates redoutent particulièrement les protections utilisant des changements de format, « Dès que l'on rencontre un changement de format, il faut se servir des routines de lecture du programme original pour le réécrire au forma normal. Mais le jeu lit encore la disquette selon le format pourri ! Il faut donc, ensuite changer les routines de lecture du programme. Cela demande du temps. »

Malheureusement, ce mode de protection, en prenant quelques libertés avec les dispositifs - de contrôle des données, pose parfois des problèmes de fiabilité â l'utilisateur, en particulier lorsque le lecteur est usé ou provient d'une série peu performante. Un changement de format poussé peut même mettre en difficulté les machines de duplication de disquettes, comme l'indique Jean-Luc Langlois de la société Lankhor: «  On a eu des problèmes de duplication de la première protection qu'on avait faite pour Maupiti Island. L'idée était intéressante mais, a la duplication, la protection n'a pas pu passer, pour un problème de fiabilité de l'écriture. Ils étaient obligés de sauter les contrôles d'erreur sans lesquels les pistes ne passaient pas.
«  A la base, on avait un système que l'on ne pouvait pas écrire sur Atari ST. Nous l'avons créé sur Amiga. On avait donc déjà une garantie intéressante puisque, finalement, chaque piste était protégée. Les données elles-mêmes n'étalent pas recopiables. Sur ST, il y a deux façons de lire les fichiers: une façon classique par secteur et une autre qui consiste à lire une piste intégrale. C'est le Readtrack, qui marche très bien sur l'Amiga mais qui n'est pas fait, en théorie, pour gérer de la donnée sur ST. On a pu dévier le système pour l'utiliser comme tel. Les crackers n'ont pas pu refaire la même chose en créant un système qui puisse relire comme cela, piste à piste. Ils ont mis leurs propres routines, ils ont mis un format à eux dans lequel ils ont recréé des secteurs plus grands, chose qu'ils n'auraient pas pu faire si nous avions gardé la densité d'informations qu'on avait au départ, parce qu'ils n'auraient pas eu la place. On n'avait pas mis en place une grosse batterie de routines et lorsqu'on a du revenir à quelque chose  plus standard, on n'avait pas de routines de contrôle suffisantes. On pensait qu'ils allaient être obligés d'extraire complètement le logiciel, de le comprendre complètement et de recréer des fichiers classiques. On sait qu'ils ont essayé et qu'ils n'ont pas de réussi. Mais ils ont pu biaiser. »

Les changements de formats très puissants peuvent également poser de sérieux problèmes aux pirates qui tentent d'expédier à l'étranger, par modem, un logiciel non déplombé. L'acheminement de l'original par courrier donnera dans ce cas à l'éditeur un court répit supplémentaire.

PROTECTION PAR TEST D'UNE PISTE
NON RECOPIABLE

Diverses protections reposent sur un marquage non reproductible de, l'original. Nous évoquerons à peine l'existence - en voie de raréfaction - de logiciels stockés sur disquettes 5 pouces 1/4 et protégés par un « trou laser » qui empêche, à un endroit précis, toute inscription de données. Le principe d'action de cette protection est simple: le programme tente d'écrire à l'endroit du trou; s'il y parvient, il en conclut qu'il n'est pas en présence de la disquette originale. Ces protections ne sont pas seulement facilement contournables: elles présentent aussi l'inconvénient d'abîmer, â la longue, la tête de lecture du drive!

Un autre type de protection, qui utilise certaines incompatibilités entre les lecteurs de disquettes des ordinateurs courants et les machines de duplication, procède au marquage de l'original par un tout autre moyen. Certaines pistes de la disquette, nous l'avons vu, restent inutilisées en raison du manque de fiabilité du lecteur (sur l'Atari ST, il s'agit des pistes 81 et 82). Ces pistes peuvent néanmoins être lues et écrites, avec une probabilité d'erreurs certes supérieure à la moyenne. Ce sont ces pistes qui vont servir à protéger le logiciel, comme explique Laurent Kutil de la société Esat Software: « Aujourd'hui, on utilise beaucoup cette protection qui repose sur une compatibl1ité de lecture avec les ordinateurs, sans qu'ils puissent réécrire les informations. On fait varier la vitesse de rotation des lecteurs des machines de duplication. Si, par exemple, on augmente leur vitesse, on écrira moins d'informations sur la piste. Une piste sur Atari fait en moyenne 6 256 octets. A la duplication, par ce moyen, on n'écrira plus que 5000 octets. C'est ce qu'on appelle des short tracks. On peut aussi ralentir la vitesse pour obtenir des pistes plus longues, L'ordinateur peut lire L' informations puisqu'il y a sur la disquette des repères qu'on appelle des index pulse (NDLR: informations de synchronisation). Il lit une piste en prenant le premier index pulse et transfère tous les octets sans se soucier de la forme de la piste jusqu'à l'index pulse suivant. Lorsque ce transfert est fini; on calcule le nombre d'octets transfère, ce qui donne la densité d'informations de la piste. Le programme teste le nombre d'octets transférés. Par derrière, si un copieur arrive sur cette piste, il peut très bien dire que tout est normal parce qu'il a trouvé 9 secteurs normaux mais, s'il ne regarde pas la longueur de la piste, il ne pourra jamais déceler qu'il y a une erreur. Et même s'il décèle qu'il y a une erreur ou une anormalité dans la longueur de la piste, il ne saura pas de manière logicielle ralentir ou accélérer la vitesse de rotation du lecteur. » Ce que confirme M. Pozniak, gérant de la société Sitis, spécialisée dans la duplication de logiciels: « On écrit généralement sur cette piste avec une densité plus grande qu'un lecteur normal pour simuler une lecture à une vitesse plus rapide. Un lecteur courant tourne à 300 rotations par minute. Il peut lire, grâce aux informations de synchronisation, des pistes qui seraient écrites à une vitesse de rotation plus faible. Mais il ne peut les réécrire car, en écrivant avec une densité normale, il ne pourrait mettre tous les caractères sur la piste: les derniers caractères écraseraient les premiers. »

La protection des programmes une arme à double tranchant...

Cette protection très efficace qui met en échec tous les pro. grammes de copie tend à se généraliser. Le seul moyen de la contourner est de modifier le logiciel afin d'enlever le test qui vérifie que les données inscrites sur la piste sont bien conformes à celles de l'original, opération dont la difficulté dépend de l'ingéniosité dont a fait preuve le
programmeur chargé de dissimuler dans le code du programme la routine de test fournie par le duplicateur.

Pourtant, cette méthode de protection n'interdit pas systématiquement toute copie de sauvegarde. Si la protection elle même n'est pas copiable, les fichiers, eux, le demeurent. Il faut donc les transférer sur une disquette de sauvegarde (qui ne fonctionnera pas), puis les réimplanter sur la disquette originale, sans la reformater, le jour où celle-ci devient hors d'usage. Si la disquette n'est pas excessivement endommagée, cela doit fonctionner.

Pour efficace qu'elle soit, cette protection présente tout de même un inconvénient de taille: c'est elle, en effet, qui est à l'origine de nombreux phénomènes d'incompatibilité, comme le souligne Hervé Caen de la société Titus: «  Les problèmes de compatibilité ne se sont pas seulement manifestés pour les Atari ST, mais aussi pour les Amiga. C'est une catastrophe! Les drives ont des tolérances de lecture plus ou moins fiables selon leur prix. Il arrive que les constructeurs, pour faire des économies, mettent des drives de moins bonne qualité. Certaines protections poussent les vitesses de moteur ou les déplacements de tête en dehors des normes (NDLR: ce qui peut par fois abîmer les drives ! ). Si ce n'est pas précis, les protections ne passent plus. On a eu des problèmes avec des séries entières d'Amiga, sur lesquels certaines protections ne passent pas parce que Commodore a des approvisionnements de lecteurs de disquettes de qualité variable. L'Amiga croit donc qu'il est en présence une copie pirate! »

Comme l'indique M. Pozniak, de Sitis, les problèmes peuvent aussi provenir du mode de gestion de la synchronisation du disque: « Nous nous sommes heureusement aperçus à temps que, lorsque Commodore a sorti son dernier disque dur qui court-circuitait la ROM de l'Amiga pour utiliser la sienne propre, il y avait des délais à ajouter à chaque fois qu'on faisait une sortie sur un port pour que la routine se fasse correctement.,. Selon Emmanuel Forsans, directeur du développement chez Microïds, des problèmes similaires pourraient surgir lors de la sortie  de l'Amiga 3000; « De nombreuses protections se servent du 68000 pour faire la synchro. Si on fait une boucle en assembleur, il va mettre un temps donné à exécuter la 1000 fois la boucle. Ce temps va servir de synchro pour le disque. Si on exécute la même boude sur un Amiga 3000, le processeur va mettre moins de temps. Le problème va être le même qu'avec les cartes accélératrices. En fait, il ne faut pas faire des synchro à partir du microprocesseur, il faut faire des synchro trame qui fonctionnent avec l'écran. A chaque balayage, on a un top. »
Il va sans dire que lorsqu'un problème de compatibilité découle de l'emploi de ce type de protection, et cela s'est encore vérifié à la sortie de l'Atari STE, les logiciels déplombés sont les seuls à fonctionner. Un de nos lecteurs, nouveau possesseur d'un STE et acquéreur malheureux de Falcon, a reçu de son vendeur une copie pirate du logiciel ! Ça fait désordre...

PROTECTION INTERNATIONALE

Il existe des protections dont l'objet n'est pas d'interdire la copie des programmes (ceux-ci étant déjà protégés par d'autres moyens) mais d'empêcher leur utilisation sur des machines au standard d'autres pays. Moins connues des utilisateurs, ces protections tentent d'endiguer le développement de réseaux parallèles de distribution en testant la configuration hardware de la machine et en produisant volontairement des phénomènes d'incompatibilité, comme l'explique Bruno Bonnel, directeur d'infogrames: « C'est indispensable pour exporter sur le marché américain. Nous faisons environ 30 à 40 % de notre chiffre aux Etats-Unis. Nous vendons nos produits sous licence à des Américains à condition que le produit européen ne puisse pas fonctionner chez eux. Les Américains sont très rigoureux sur cette clause. Le vrai problème, c'est qu'il y a eu en France des imports parallèles d'Amiga, notamment NTSC US, et que des gens qui achètent des jeux ne peuvent pas les utiliser. Nous leur disons de se retourner contre la personne qui leur a vendu un Amiga qui n'est pas au standard européen. » Jean-Luc Langlois, de Lankhor, a également été confronté à ce type de problème: «Nous avons utilisé une fois, pour GNIUS, une telle protection, mais nous avons eu des pépins. Nous testions des configurations de clavier, des choses comme cela, sur un logiciel qui ne présentait pas de différences d'un pays à l'autre. Il y a des distributeurs qui essaient d'acheter en Angleterre pour revendre en France. Ce sont ensuite des produits qui reviennent comme ne fonctionnant pas alors qu'en fait ils ne sont pas adaptés au marché. Cela fait une gestion des retours plus lourde. Donc, finalement, nous n'avons pas maintenu ce type de protection. Nous utilisons beaucoup la synthèse vocale et les textes, c'est déjà une protection en soi. Un Anglais qui a une version française de Maupiti risque de ne pas comprendre grand-chose, »

LES TESTS DE PROTECTION

La plupart des protections ne seraient rien sans les tests. Un grand nombre de protections en utilisent pour vérifier la présence de données sur une piste non copiable, ou celle d'un «trou laser », d'un dongle, ou encore pour comparer une entrée clavier à une donnée en mémoire... le « déplombage » d'un programme consiste donc à enlever ces tests. Bien sûr, quelle que soit la nature de la protection, son efficacité finale dépendra de leur discrétion: ils doivent se dérober à l'oeil vigilant du cracker. Et dans ce domaine où l'imagination est sans limite, on atteint des niveaux de complexité et de sophistication extrêmes.

Les routines de protection les plus faciles à identifier et à enlever sont celles qui sont implantées alors que le programme est déjà terminé, avant la phase de duplication (NDLR: une routine est une portion de programme ayant un rôle spécifique). Les plus coriaces se fondent intimement avec le code. Souvent, les routines de test sont cryptées, ce qui veut dire que les octets correspondant aux instructions de test sont transformés par des opérations de calcul qui empêchent leur identification lors du désassemblage (c'est-à-dire lors de l'opération qui consiste à reconstituer, à l'aide d'un logiciel appelé « désassembleur », le programme source à partir du code binaire du programme objet). C'est seulement au moment de l'exécution du programme que la routine est décodée pour pouvoir s'exécuter. Voici un exemple simple pour comprendre, par analogie, le principe du cryptage. Prenons le mot « Tilt ». Si nous ne voulons pas, pour quelque obscure raison,

Qu'il apparaisse en clair dans le texte de cet article, nous pouvons par exemple décider de remplacer chacune des lettres qui le composent par la suivante de l'alphabet. Miracle, devient UJMU. Nous effectuons l'opération inverse (moins une lettre) et, re-miracle, UJMU redevient Tilt (avouez que c'est tout de même mieux comme cela). Un cracker explique le fonctionnement d'une protection utilisant un procédé de cryptage encore plus complexe: « La protection Rob Northem » se sert du mode « trace » du microprocesseur 68000, un mode de débuggage qui permet au processeur de se brancher à chaque instruction sur un autre programme. Une fois exécutée, chaque instruction est recodée et sert au décodage de l'instruction suivante. La « Rob 2» utilise la même technique mais est surcodée deux fois par elle-même (sic) .»

Laurent Kutil met en avant d'autres méthodes de dissimulation des tests: « Le test de protection n'est pas forcément inclus dans le programme principal. Il peut être placé dans les programmes annexes, noyé au milieu de fichiers de graphisme ou de sons. Il peut également être séparé en plusieurs parties, dans un module de son et un module de graphisme par exemple. Une fois que les modules sont chargés en mémoire, le programme fait un calcul pour les remettre bout à bout et l'exécute, ce qui fait que la personne a énormément de mal à savoir quand le test va être réellement fait. Un autre moyen est de faire le test, d'en mémoriser le résultat et de continuer l'exécution du programme comme si tout allait bien. A un moment, on vient comparer le résultat du test avec ce qui aurait-dû être trouvé, et on fait planter ou on ne fait pas planter le logiciel. Ces ruses intellectuelles, je dirais, permettent de repousser un peu l'échéance du déplombage du logiciel. »

Parfois; c'est le programme qui se vérifie lui-même à l'aide de sommes de contrôle afin de voir si rien n'a été touché. L'utilisation du langage C, dans la mesure où il génère un code plus complexe, rend aussi le déplombage plus difficile.

Le jeu du chat et de la souris au quel se livrent programmeurs et déplombeurs n'exclut pas non plus les facéties, comme le souligne ce cracker :  « Un programme comportait une routine de protection en clair. A  chaque fois qu'on tentait de l'enlever, une routine cryptée se  déco dait et venait se recopier en mémoire à la même place! " L'activité du cracker est pleine de rebondissements, et il arrive aussi que les programmeurs dissimulent des leurres dans leurs programmes afin de brouiller les pistes, ou qu'ils y placent de messages du genre « celui qui cracke est un âne ».
Mais il suffit parfois d'une simple étourderie pour ruiner tant d'efforts. On nous a affirmé, par exemple, que les programmes-source commentés de là protection de Xenon II figuraient sur la disquette originale et que ceux de Falcon supprimés à l'aide de l'instruction d'effacement du DOS, restaient intacts sur le support, lisibles par un quelconque utilitaire de récupération de données.

L'avenir des protections

Au hit-parade des protections, de l'aveu même des pirates, ce sont les deux versions de Dungeon Master qui méritent la première place. Dungeon Master n'a jamais pu être totalement déplombé, tant il est truffé de tests habillement dissimulés, parfaitement intégrés au jeu. Certains ont été oubliés et se manifestent de temps à autre.

La version piratée est jouable mais demande de fréquentes sauvegardes en cours de partie. Dragon's Lair a également donné du fil à retordre aux pirates: Il s'agissait d'un changement de format horrible qui jouait sur le timing du drive. Les données étaient très compressées. « Au bout de six mois, il a fini par être cracké mais la version pirate tient sur 8 ou 9 disquettes, au lieu de 6 pour l'original (ce qui est déjà bien trop à notre goût ! ). Les logiciels Sierra ont également acquis une solide réputation. En France, Ubi Soft paraît être en bonne position. Mais, en dépit d'une débauche d'astuces, il faut avouer que la plupart des logiciels ne restent pas inviolés très longtemps, Rainbow Islands, qui combinait pourtant, aux dires des pirates, une protection « ROB 2 » à un changement de format, n'aurait pas résisté plus d'une joumée! Les logiciels Psygnosis, pourtant bien protégés, ne dureraient guère plus longtemps.

D'ailleurs, les éditeurs de jeux ont fini par renoncer à chercher la protection idéale. Le but, modeste mais plus réaliste, est aujourd'hui de la faire durer quelques semaines, le temps que les ventes puissent démarrer. M. Pozniak, de Sitis, ne le cache pas: « Si une (protection dure quinze jours, c'est bien! Mais elle peut aussi être crackée en dix minutes. Ce qui compte, c'est le premier mois de vente du produit. Mais, surtout, je pense que l'éditeur, avant de se soucier de protéger ses logiciels, ferait mieux de mettre au point sa distribution avant le démarrage du produit pour qu'il s'en vende 6 000 ou 7 000 pièces dans la première semaine. Après, il peut toujours faire des retirages. Si c'est piraté, ce n'est plus très grave. En général, ils commencent à le vendre trop tard. Ils vendent 500 ou 1 000 pièces d'un côté, et avant même qu'ils en aient vendu à l'étranger, le produit y est déjà! Il faut avoir une politique globale. »
La rapidité avec laquelle les logiciels sont crackés et diffusés dans les réseaux pose la question de l'Incidence du piratage sur les ventes. l'acheteur honnête d'un jeu qui se plante à cause d'une protection souffre-t-il au moins pour quelque chose? Sur cette question, les avis divergent.

Emmanuel Forsans, directeur du développement chez Microïds considère plutôt la protection comme une perte de temps: « Il est dommage d'être obligé de protéger les jeux. On a sorti Chicago 90 sur Amiga sans le protéger parce qu'il fallait faire le master et que le temps pressait. Je ne pense pas que cela ait eu une grande incidence sur les ventes, qui ont été, toutes proportions gardées, équivalentes sur ST et Amiga. Superski sur Amiga n'a pas été protégé, ce qui ne l'a pas empêché de se vendre normalement. Mais il s'agit là d'un avis personnel ! »
D'autres éditeurs font un constat exactement inverse. Comme Titus qui a porté plainte contre un de ses anciens programmeurs accusé d'avoir diffusé Knight Force (version Amiga) sur les réseaux pirates avant même sa sortie: « Nous nous en sommes aperçus pratiquement au moment de sa diffusion. Apparemment le jeu n'était sur les BBS ( NDLR: Bulletin Board Service, sortes de boîtes aux lettres informatiques utilisées par lès pirates pour stocker et diffuser les programmes ) que depuis deux jours. Mais le préjudice, quand on compare les ventes à celles de nos autres produits, est assez important. Les ventes de Knight Force sur Amiga ont été tuées.»

Nous ne pourrons encore aujourd'hui trancher ce débat: est-il vraiment rentable, en terme de ventes supplémentaires, d'investir dans des protections? Ce qui est certain, en revanche, c'est qu'elles représentent des frais importants si l'on tient compte, outre du temps de développement nécessaire, des coûts indirects dus aux phénomènes d'incompatibilité qu'elles provoquent (reprise des stocks chez les revendeurs, réalisation de nouveaux masters, duplication, distribution, etc.).

Bruno Bonnel, d'Infogrames, évalue à près de 15 % la part de la protection dans le prix du logiciel, tous frais indirects inclus. Face à cette réalité, certains éditeurs pensent que la solution au problème du piratage ne passe pas par la recherche d'une chimérique protection miracle, mais par l'information du public. « ça me fait parfois peur d'entendre ce que certains jeunes disent du piratage, ou de voir leurs parents les considérer comme des petits génies. Si on leur disait que leur enfant fabrique des faux billets et les redistribue, ils se sentiraient sans doute plus concernés et ça leur ferait très peur. La solution tient peut-être à cela: faire prendre conscience aux gens que cracker un logiciel est aussi grave que faire un faux billet », affirme Laurent Kutil. Mais en attendant une hypothétique prise de conscience, et d'encore plus d'hypothétiques actions préventives, les éditeurs unanimes tournent leurs regards vers de nouveaux supports qui régleront, au moins pour un temps, le problème du piratage. Les cartouches recueillent tous les suffrages mais il faut reconnaître que, pour l'instant, les fabricants de consoles tiennent leur marché et contrôlent l'édition de softs au point qu'il est aujourd'hui pratiquement impossible à un éditeur français de se lancer dans ce genre d'aventure. Les supports optiques, CD-ROM et CD! font miroiter au loin l'espoir d'un monde sans pirate: la commercialisation d'un lecteur/enregistreur de CD grand public n'est pas encore pour demain et le prix des disques optiques réinscriptibles rendrait la copie plus chère que l'original. En attendant, il faudra donc se contenter des disquettes et accepter leurs imperfections. Bruno Bonnel résume cette situation: « On vit une période de transition. Investir aujourd'hui en protection, c'est intelligent pour éviter que cela soit vraiment le délire, mais parler d'un futur de la protection, c'est comme parler d'un futur des tubes en cire d'Edison... Les jeux, à l'avenir, seront soit sur CD, soit sur cartouche. La protection de demain ne pourra être contournée que par des professionnels, par des organisations identifiables que l'on pourra attaquer légalement. Pour moi, la protection de l'avenir ne sera pas logique mais mécanique. »

La structure des données sur disquette

Le mode d'organisation des disquettes doit répondre à deux impératifs permettre un accès direct et rapide aux données et optimiser leur répartition afin d'offrir une bonne capacité de stockage.

Lors du formatage d'une disquette, des pistes concentriques sont créées sur le support. Ces pistes sont elles-mêmes divisées en secteurs délimitant des portions de pistes (un peu comme les parts d'un gâteau). Une disquette, sur Atari ST, est divisée en 80 pistes et 9 secteurs mais il ,est possible, en poussant le lecteur aux limites de ses performances, d'utiliser deux pistes ,supplémentaires avec, il est vrai, une moins bonne fiabilité de lecture et d'écriture. Cette possibilité est d'ailleurs exploitée par ,certains systèmes de protection. « Au cours de l'opération de formatage d'une disquette, des :données de contrôle sont inscrites sur le support pour identifier chaque secteur et chaque piste. C'est grâce à elles que le contrôleur de disquette se repère pour aller lire ou écrire des données à l'endroit voulu.

Le codage des données

L'inscription des données sur un support magnétique (qu'on appelle aussi mémoire de masse par opposition de la mémoire vive de l'ordinateur, la RAM) obéit à des règles assez complexes. Comme chacun le sait, en informatique, c'est le système binaire qui triomphe pour, l'instant: toutes les données (chiffres ou 'caractères) mais aussi toutes les Instructions donnant l'ordre au microprocesseur d'exécuter des opérations arithmétiques ou logiques, ou bien de gérer la communication des données (ce qu'on appelle les entrées-sorties) sont codées en binaire, par Une Succession de bits (unité élémentaire d'information) prenant la valeur logique 0 ou 1. Un programme informatique n'est en définitive qu'une succession de bits où semblent se confondre les instructions et les données elles mêmes, en ce que l'on appelle le (code» du programme. Là où tout se complique, mais l'informatique n'est pas faite que pour simplifier les choses, c'est que ces bits ne sont pas enregistrés tels quels sur la disquette. Un 0 ou un 1 ne sont pas directement identifiés par une aimantation de sens opposé des particules magnétiques formant la couche sensible du support. C'est le changement de sens de la magnétisation, la transition captée par la tête de lecture du drive, qui traduit la présence d'un bit à l'état logique « 1 » ; le maintien de la magnétisation sans changement correspondant quant à lui à l'état logique « 0 ». Le controleur de disquette doit donc être en mesure de dénombrer les bits de valeur logique 0 présents entre deux changements d'état de la magnétisation, opération qui serait aisée si la régularité et la précision de la vitesse de rotation des lecteurs de disquette étaient sans faille. Il a donc été nécessaire de trouver un système de codage des données évitant de trop longs maintiens de la magnétisation et d'intercaler régulièrement entre les données des informations de synchronisation, marques .fixes permettant au contrôleur de disquette de se repérer. Afin de déceler d'éventuelles erreurs de transmission ou de lecture portant sur un ou plusieurs bits, des « sommes d'autocontrôle» dont le résultat dépend des données enregistrées sont également inscrites sur le support pour être comparées ensuite avec les données lues.

Mais les données ne sont pas exploitées isolément par l'ordinateur: elles sont structuré en fichiers qui peuvent eux-mêmes être regroupés en sous-répertoires (ou 'dossiers', La gestion de ces fichiers impose la présence sur la disquette d'informations supplémentaires.

L'organisation des fichiers

Le boot secteur qui indique à l'ordinateur, lors de l'initialisation, si la disquette contient un système d'exploitation et, éventuellement, un programme de chargement, occupe le premier secteur de la piste 0 de la face 0. Egalement situé en début de la disquette, le catalogue, répertoire des fichiers, contrent des informations partiellement accessibles par la commande « dir » du DOS (ou visibles dans la fenétre que l'on ouvre en cliquant sur l'icône de la disquette). Le catalogue indique le nom du fichier (ou du sous-répertoire), sa date de création, sa taille, son statut (fichier caché, protégé contre l'écriture ou normal), ainsi que le numéro de secteur où il commence. L'effacement d'un fichier se passe exclusivement sur le répertoire: le fichier n'est pas détruit physiquement par l'écrasement des données qu'il contient, mais effacé «logiquement» par le simple remplacement de la première lettre de son nom dans le répertoire par un indicateur particulier. C'est pourquoi il est toujours possible de récupérer un fichier qui vient d'être effacé (à condition qu'aucune opération d'écriture n'ait eu lieu entre temps), à l'aide d'un utilitaire accédant directement aux informations de la disquette. La table d'allocation des fichiers tient,' quant à elle, la cartographie des secteurs de la disquette en indiquant ceux qui peuvent être alloués à de nouveaux fichiers ou qui sont, au contraire, occupés par des fichiers non effacés. Au fur et à mesure des écritures et des effacements de fichiers, les espaces libres ont tendance à se disperser sur la disquette. Un fichier n'occupe pas nécessairement des secteurs contigus; il se trouve généralement réparti entre plusieurs secteurs de la disquette, Chaque bloc contient, l'adresse du bloc suivant ou l'indication de fin de fichier. Comme on le voit, les informations de contrôle et de gestion des fichiers (bits de synchronisation, sommes d'auto-control, table d'allocation des fichiers, etc.) constituent une grande part des informations stockées sur disquettes.

Ce sont ces informations absolument nécessaires au fonctionnement du lecteur, ainsi que la manière de les répartir, qui déterminent ce qu'on appelle le format. des données. Sans elles, l'ordinateur serait absolument incapable d'exploiter les informations utiles stockées sur la disquette et ne verrait dans son contenu qu'un mélange de « 0 » et de « 1 » sans aucune signification …


Représentation d'une disquette

 

Dossier réalisé par
Jean-Philippe Delalandre

TILT n°80 juillet/août 90 p100-109

CPCrulez[Content Management System] v8.75-desktop
Page créée en 217 millisecondes et consultée 993 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.