★ APPLICATIONS ★ COURS DE BIDOUILLAGE ★ PIRATAGE : TOUS LES SECRETS ★ |
Piratage - Tous les Secrets - (Science et Vie Micro) | Applications Cours De Bidouillage |
Les incroyables trucs des copieurs de logiciels, les dernières astuces des éditeursLe piratage réclame souvent une véritable dissection logicielle. QUI PIRATE DES LOGICIELS? TOUT le monde. Les amateurs, d'abord. Ceux qui connaissent leur assembleur sur le bout des doigts, et qui "déplombent" les disquettes pour le plaisir, juste histoire de prouver qu'ils sont plus malins que l'auteur du logiciel. Ceux-là possèdent souvent chez eux plusieurs centaines de disquettes en tout genre ; non qu'ils les utilisent, bien sûr ; que feraient-ils des Visicalc et autres programmes professionnels qui côtoient souvent, dans leur collection, des dizaines de programmes de jeu, alors que ces sportifs d'un nouveau genre sont bien souvent des lycéens ? Même pour les amateurs, pirate, c'est un métier. Puisqu'on est capable de copier pour le prix d'une disquette un programme qui vaut trente fois plus, pourquoi ne pas le vendre à vil prix aux pieds-plats ignorants des ficelles du piratage ? On en connaît qui ont ainsi financé un équipement informatique complet C'est ainsi que certaines disquettes de jeu, en vente sous le manteau, affichent fièrement à l'écran la signature du nom de guerre de leur "déplombeur" : Aldo Reset, Mie Mac and the Softman, Johnny Disketf ou encore le Clean Crack Band. Un tel trafic nuit bien entendu, aux distributeurs de logiciels. Mais il ne déplaît pas forcément aux distributeurs d'ordinateurs... Plus d'un a tenu le langage suivant à un client potentiel : "Si vous achetez votre ordinateur chez moi, vous bénéficierez en prime d'une certaine quantité de logiciels gratuits"... entendez piratés. Souvent, les distributeurs d'ordinateurs sont aussi distributeurs de logiciels, ce qui instaure une frontière très floue entre ce qui se dit et ce qui se fait.,. On trouve d'ailleurs des disquettes piratées jusque chez certains constructeurs. Beaucoup de pirates copient des logiciels qu'ils n'auraientjamais achetés. C'est le cas du piratage amateur, qui connaît un vigoureux essor parmi les adeptes de l'Apple II: on trouve sur cette machine une très grande variété de logiciels, qu'il s'agisse de jeux ou de programmes professionnels; beaucoup de ces logiciels sont de qualité, et le nombre des machines diffusées en France permet la création de véritables réseaux parallèles de revente. Mais le piratage n'est pas qu'affaire d'amateurs et de gagne-petit. Une grande entreprise qui possède plusieurs dizaines de micro-ordinateurs peut être tentée de n'acheter tel programme coûteux qu'à un seul exemplaire... à charge pour elle de lui faire faire des petits. Ou encore, une société de services informatiques peut facturer à un client un logiciel réalisé sur mesure, à l'aide d'un générateur de programmes fourni par une autre société, sans régler à son fournisseur les droits qui lui reviennent Les bons arguments ne manquent pas de part et d'autre. Le prix élevé des logiciels est la contrepartie des longs efforts exigés pour les mettre au point, disent les éditeurs. Si les logiciels n'étaient pas si chers, disent les pirates, personne ne songerait à les copier. Plus vous piratez, répliquent les éditeurs, et plus vous faites monter les prix, puisqu'il faut bien que quelqu'un paie. Bref, on n'en sort pas. L'escalade continue selon la dialectique bien connue du cambrioleur et de la serrure. Aucune serrure n'est inviolable ; plus les protections se renforcent, plus l'ingéniosité des monte-en-l'air s'accroît "Je sais bien qu'il suffit de dix minutes pour faire sauter la protection de mon logiciel", reconnaissait, il y a peu, l'importateur d'un logiciel professionnel coûteux, pourtant défendu par le système Prolok, réputé inviolable. "Mais il s'agit avant tout d'une barrière psychologique : le copieur est averti des risques encourus". Les logiciels sont actuellement commercialisés sur différents supports, cassettes, disquettes et cartouches de mémoire morte. Ces dernières sont pratiquement incopiables, mais présentent l'inconvénient d'un coût de fabrication plus élevé. Les cassettes sont le support le plus répandu sur les petites machines et sont faciles à copier, néanmoins, leur piratage reste assez limité, notamment en raison du manque de fiabilité des copies et du temps nécessaire à leur enregistrement D'ailleurs, leur prix et leur qualité souvent modérés suffisent la plupart du temps à dissuader les pirates. Certains distributeurs emploient toutefois une précaution supplémentaire pour dissuader les copieurs. Ils incluent dans la boîte de la cassette une petite carte portant un quadrillage de rectangles colorés. Immédiatement après son chargement, et avant de démarrer, le programme vous demande par exemple de lui indiquer la couleur des rectangles situés en H-4 et en B-10. Vous avez droit à deux tentatives pour donner la réponse correcte. En cas d'échec, il vous faudra reprendre le chargement du programme depuis le début et redonner la couleur de deux nouveaux rectangles. La carte colorée ne peut être reproduite avec une photocopieuse et le nombre de cases de la carte est assez important pour dissuader ceux qui voudraient en établir la liste. Si ce n'est pas un moyen absolu, il devrait néanmoins limiter la multiplication des copies dans un nombre important Les programmes stockés sur disquettes constituent, eux, la cible d'élection des "pirates" chevronnés. En effet, la recopie de disquette est un processus rapide (de quelques secondes à quelques minutes), relativement fiable et rapidement véri fiable par l'essai des copies. De plus, les programmes sur disquettes sont souvent plus riches et plus élaborés que ceux sur cassettes et suscitent donc plus de convoitise de la part des pirates. Cependant la copie de disquette est un problème beaucoup plus complexe que la duplication d'une cassette avec deux magnétophones. L'ingéniosité déployée, et par les auteurs de logiciels pour la protection de leurs disquettes, et par les "pirates" pour en venir à bout est tout à fait remarquable.
Les données cachées La difficulté liée à la copie des disquettes est due à la façon dont les informations sont stockées sur le support magnétique. Les différences qui existent entre cassettes et disquettes de programmes sont analogues à celles qui séparent les disques 33 tours dés cassettes musicales. Sur les cassettes pour accéder à un morceau ou à un programme, il faut faire défiler la bande jusqu'à l'endroit où il se trouve enregistré. Sur les disques, il est possible d'accéder directement à la plage musicale ou au programme de votre choix en positionnant la tête de lecture au bon endroit. Dans le cas du disque 33 tours, vous repérez votre morceau vous-même, grâce à l'index imprimé sur la pochette. Pour les disquettes d'ordinateur, un programme appelé système d'exloitation se charge de cela pour vous grâce à un index écrit sur la disquette elle-même. Une autre différence importante entre disquette et cassette est la vitesse de lecture et d'écriture sur le support. Sur les disquettes, les données sont transférées dix à cent fois plus vite que sur les cassettes. La complexité de l'enregistrement des données sur les disquettes nécessite donc l'emploi d'un programme spécialisé pour lire, écrire, et gérer les disques. Ce programme, le système d'exploitation (ou D.O.S. pour nos amis anglo-saxons), est l'interprète qui assure la liaison entre le lecteur de disquette et l'ordinateur.
Les constructeurs de micros ont adopté plusieurs philosophies pour implanter le système d'exploitation. La première est celle du périphérique "intelligent" : le lecteur de disquettes contient son propre microprocesseur et le système d'exploitation en mémoire morte, il est donc complètement autonome. L'ordinateur "dialogue" avec le périphérique et lui demande tel ou tel fichier, mais n'a pas accès à la structure des données sur la disquette. Un fichier déclaré "privé" ne pourra être ni listé ni copié et l'accès direct au disque par l'ordinateur étant impossible, le piratage des disques dans un tel système est rendu très difficile. L'inconvénient principal du lecteur de disquettes "intelligent" est son prix élevé, c'est pourquoi de nombreux constructeurs lui ont préféré le lecteur de disquettes commandé par l'ordinateur lui-même. Dans ce cas, le système d'exploitation est un programme, présent dans la mémoire centrale, et exécuté par le microprocesseur de l'ordinateur qui a ainsi directement accès aux données sur la disquette. Le système d'exploitation peut, donc, être soit stocké en mémoire morte de façon permanente (on dit alors qu'il est résident), soit chargé en mémoire vive depuis le disque. Le système d'exploitation résident présente deux inconvénients importants: d'une part l'impossibilité de le modifier, d'autre part l'occupation permanente de la mémoire par ledit système. C'est pourquoi de nombreux constructeurs ont opté pour la dernière solution : le système d'exploitation stocké sur le disque lui-même et qui est chargé en mémoire vive au démarrage du système.
Mais alors, nous direz-vous, qu'est-ce qui charge le système d'exploitation, puisque c'est .lui qui est censé charger les programmes en mémoire depuis les disquettes ? La réponse est simple : il y a de façon permanente dans la mémoire morte un noyau de programme qui amorce le chargement du système d'exploitation, qui se charge ainsi lui-même. Ce processus s'appelle le "bootstrap" ou "boot".
Le plus simple est de regarder si le disque a une étiquette de protection contre l'écriture. Si la disquette originale est protégée contre l'écriture mais que la copie ne l'est pas, le programme de protection efface purement et simplement la disquette "piratée". Il existe des différences plus subtiles qui peuvent également être détectées par le programme, les deux principales sont le nombre d'octets par piste et la synchronisation des pistes. Lorsqu'un programme de copie écrit une piste, il est rare qu'il écrive exactement le même nombre d'octets que la piste originale en comportait Ceci est dû au fait que les lecteurs de disquettes ne tournent pas tous exactement à la même vitesse. Pour pallier cet inconvénient, il existe sur chaque piste une zone tampon destinée à absorber ces variations. Le programme de protection peut toutefois compter les octets et vérifier s'il y en a le même nombre que sur l'original, sinon il s'arrête. La synchronisation des pistes est un procédé qui consiste à vérifier la position du début de chaque piste par rapport au début de la suivante (voir figure). Les disquettes protégées par ce genre de méthodes peuvent apparaître "normales" en première analyse, mais résistent farouchement à beaucoup de tentatives de copie. Aujourd'hui les disquettes sont le plus souvent protégées par la combinaison de plusieurs de ces méthodes et peut-être même par d'autres qui sont encore inconnues. Les méthodes évoquées jusqu'ici font uniquement appel au logiciel. Mais un programmeur habile peut presque toujours les mettre en échec. C'est pourquoi certains éditeurs ont mis en œuvre des moyens plus radicaux : la protection électronique. Elle consiste à vendre avec le programme un composant électronique, qu'il faut obligatoirement brancher sur l'un des connecteurs de l'ordinateur (sortie pour imprimante, pour manettes de jeu...) pour arriver à faire fonctionner le logiciel. Le programme de traitement de texte français Textor, par exemple, est protégé de cette façon. Celui-ci teste en effet la présence de ce composant en lui envoyant un code donné : le composant répond alors par un code différent Il suffirait de simuler l'envoi de ce code ? Pas si simple, car le logiciel prend en compte de façon très précise le temps de réponse du composant. Il suffirait d'ôter du logiciel la routine qui provoque l'envoi du code? Certes, mais cette routine est cachée au sein du programme de façon qu'il soit très difficile de la retrouver.
Pour l'utilisateur, l'avantage est qu'il peut réaliser autant de copies de sécurité de son programme qu'il le désire. Mais elles ne pourront être utilisées qu'avec sa propre clé électronique. Un tel système a été développé par une société française, Microphar, et s'avère essentiellement efficace, d'après ses concepteurs, en raison de la diversité qu'il autorise. Les systèmes trop standard susceptibles de donner une prise au pirate sont ainsi évités. Si ce moyen n'est, en principe, pas imparable, il reste néanmoins très efficace. Son inconvénient est le coût de la "clé électronique" (environ 200 à 250 F par rapport aux 60-80 F pour Prolock), qui en restreint l'usage à des logiciels professionnels de prix élevé pour des machines haut de gamme (IBM PC, Victor...). Cette voie d'approche reste néanmoins la plus efficace pour le concepteur et la plus commode pour l'utilisateur. Les armes disponibles Après cette énumération impressionnante des précautions prises par les auteurs de logiciels, vous vous demandez sans doute comment les "pirates" parviennent malgré tout à copier les disquettes protégées. Ils ont à leur disposition un certain nombre de moyens pour parvenir à leurs fins. Les programmes de copie physique. Il existe une famille de programmes de copie qui permettent de dupliquer certains disques protégés. Ces programmes effectuent ce que l'on appelle une copie physique du disque, c'est-à-dire qu'ils recopient "bêtement" et sans analyse tout ce qui est écrit, sans se préoccuper ni du format ni des données. La disquette copie obtenue par ce moyen est identique à l'original, et, en particulier, elle est, elle aussi, protégée. Ce procédé de copie peut paraître imparable. En fait, les choses ne sont pas aussi simples, du fait de la présence, sur les disquettes, de signaux de synchronisation que le programme de copie ne peut détecter directement, mais qui doivent cependant être reproduits sur le disque copie. Ceci oblige le programme (ou l'homme) à "analyser" les données pour réussir à les recopier. Les programmes de données sont le plus souvent paramétrables pour pouvoir parvenir à copier à peu près n'importe quoi. Toute la difficulté de copie réside dans la détermination des bons paramètres. Des listes de paramètres pour copier la plupart des programmes "classiques" circulent dans le monde des utilisateurs de ces programmes de copie physique. Désormais certains distributeurs en sont arrivés à imaginer des protections spécialement destinées à déjouer les algorithmes d'analyse de ces programmes, qu'ils ont pu tester à l'avance sur leur disquette protégée. Un détail qui ne manque pas de sel, ces programmes de copie dont la page de présentation affiche "duplication illégale" ont eux-mêmes été piratés et circulent en versions copiées. Les cartes d'Interruption. Les cartes d'interruption sont des périphériques qui se branchent sur les connecteurs d'extension de l'ordinateur. Il en existe pour Apple H ou IBM PC. Elles sont connectées à un interrupteur au bout d'un câble, du type déclencheur photographique. Lorsque vous actionnez ce bouton, la carte interrompt le fonctionnement du microprocesseur, prend le contrôle de la machine et sauve le contenu de la mémoire vive (et en particulier le programme qui s'exécutait) sur disquette. Si vous aviez au préalable chargé un programme protégé en mémoire, vous disposez maintenant d'une copie non protégée dudit programme. Malheureusement pour les pirates, ce système n'est pas universel. En effet, de nombreux programmes ne sont pas chargés en une seule fois dans la mémoire, mais sont divisés en plusieurs segments qui sont chargés successivement. Ainsi les images graphiques d'un jeu d'aventure, ou les différents modules d'un programme de comptabilité ne sont chargés depuis la disquette que lorsque la nécessité s'en fait sentir. L'utilisateur d'une carte d'interruption ne "piratant" que ce qui se trouve à charger en mémoire vive ne possède donc qu'une partie très réduite du programme complet.
Le déplombage. L'opération appelée "déplombage" consiste à transformer la disquette protégée en une disquette normale, après avoir déjoué toutes les protections. Il s'agit d'un travail de puriste qui nécessite une certaine maîtrise du langage machine, l'expérience de l'ordinateur et une bonne dose de patience. Théoriquement aucune disquette n'est invulnérable à une analyse poussée de ce type. Cependant le nombre de programmeurs capables de parvenir au bout est relativement restreint Il "suffit" de suivre pas à pas le chargement du système et d'analyser ce que fait le programme de protection. Un programme ainsi déplombé n'est plus protégé contre les copies et peut dont être dupliqué à loisir par la suite. Certains pirates spécialistes ont tellement l'habitude des moyens de protection employés, qu'il ne leur faut guère que quelques heures pour "déplomber" un programme. Certains amateurs se livrent également à ce genre de sport ne serait-ce que par curiosité, pour voir comment s'y prennent les auteurs. Mous avons vu quelques-unes des méthodes de protection. Il en existe d'autres. Tout d'abord au niveau de la protection des disquettes, il faut éviter les logiciels qui se chargent en une fois (pour échapper aux cartes d'interruption). Le programme doit vérifier périodiquement que la disquette est bien conforme à l'original. Si la copie est imparfaite, au lieu de faire comme la plupart des programmes qui s'arrêtent immédiatement, il faut compliquer la tâche du pirate et retarder le moment où le programme cesse de fonctionner. A titre d'exemple, il existe un jeu d'aventure pour Apple II dont les copies imparfaites fonctionnent apparemment normalement jusqu'à un point avancé de la partie où le programme affiche "Buy your own copy" (achetez-vous un original) et refuse d'aller plus loin. Ce type de méthode présente trois avantages, il donne l'illusion que la copie a réussi et complique la tâche du pirate, il limite la circulation des copies valides, il donne envie au pirate, frustré au milieu de sa partie, d'acheter un original pour pouvoir continuer. Un autre élément de la protection externe d'un logiciel est sa documentation. Un logiciel bien documenté mais dont les commandes sont difficiles à trouver en tâtonnant au clavier est partiellement protégé du piratage, dans la mesure où il est inutilisable sans cette documentation.
Il reste plus simple en effet de copier une disquette déplombée (il faut une disquette vierge et quelques secondes) que de faire 300 photocopies. Pour compliquer la tâche des pirates, il est possible de rendre les documentations difficilement photocopiables, en utilisant.par exemple des fonds grisés et des encres bleues dont les reproductions sont pâles. Enfin le prix de certains logiciels est encore très élevé, et n'incite guère les clients potentiels à acheter plutôt qu'à copier, Frédéric NEUVILLE , SCIENCE & VIE MICRO n°8 ( Juillet/Août 1984)
|