Cet article, à but historique, présente des méthodes de protection avancées rencontrées sur des jeux sortis il y a plus de 20 ans sur ATARI. C'était alors la grande époque de la disquette. Il est dans l'esprit commun que les protections se sont fortement complexifiées au fil du temps. Nous verrons pourtant que les développeurs de ces jeux, en matière de protection de code, n'avaient pourtant rien à envier aux développeurs actuels. Il montre également que le reverse engineering était déjà bien maîtrisé, à une époque où de nombreux lecteurs de MISC tétaient encore leur biberon.
Un très bon document, assez exhaustif, recensant les protections rencontrées sur ATARI, a été écrit par Jean-Louis Guérin et est disponible en ligne [Gué07].
Une protection peut être vue comme un mécanisme d'authentification, celui-ci pouvant être matériel ou immatériel : une disquette, un DVD, un code d'activation, ou encore un manuel utilisateur ou un disque en carton. Qui ne se souvient pas, avec un peu de nostalgie, des classiques « Quel est le 4e mot à la 8e ligne de la page 22 ?», et du Mix'n'Mojo (figure 1) de Monkey Island 2 ?
Figure 1 - Mix'n'Mojo !
L'article se concentre sur la protection de deux jeux ATARI, reposant sur le format particulier de leurs disquettes : Dungeon Master (1987) et Vroom (1991).
1. Lecture des données de la disquette
Il y a trois façons de lire sur une disquette avec un ATARI :
- via le BIOS(4) qui va lire des secteurs logiques et qui est tributaire du format FAT ;
- avec la fonction XBIOS(8),...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première