Voici une copie des disquettes originales du jeu d'aventure Armaeth, version 1 : http://jolishare.com/Ewqvk1xfJ3
Ce jeu est protégé par un système de code (voir fichier ARMAETH_codes.pdf)
Il semble également protégé par une protection physique, car le jeu demande à avoir la première disquette de jeu insérée dans le lecteur avant de démarrer. Lorsque je lance ARMAETH.BAT dans dosbox, ça m'indique : "Insérez la disquette clé puis tapez le nom du lecteur (A,B,...)". Seulement si je me contente de copier les fichiers du disque 1 dans un lecteur virtuel A, ça ne fonctionne pas, probablement parce que cette protection n'est pas dans les fichiers, mais dans la disquette.
L'acheteur du jeu a copié avec le logiciel RawRead la première disquette, ce qui donne normalement tous les secteurs, mais même ainsi, ça continue à demander la clé au démarrage. Il s'agit probablement d'une protection par marquage (trous) sur le disque, comme présenté ici : http://cpcrulez.fr/applications_prot...ecrets-SVM.htm
C'est particulièrement vicieux compte tenu du fait qu'il y avait aussi les codes de protection.
J'ai essayé divers debugger pour voir s'il y avait moyen de court-circuiter la protection, mais je ne suis pas très doué à cela (test désassemblage depuis IDA puis modification depuis éditeur hexadécimal). De plus, le jeu démarre sur plusieurs exécutables lancés depuis armaeth.bat, ce qui ne facilite pas l'analyse.
Si quelqu'un se sent prêt à relever ce challenge. Et tant qu'à faire, si la première protection est cassée, faire de même pour la seconde (avec les codes).
On en parle ici :
http://www.abandonware-forums.org/sh...l=1#post495031
notes :
- la version 2 de ce jeu, différente (pas de commande à taper), se trouve ici :
- http://www.abandonia.com/en/games/65...t+Kingdom.html (anglais)
- http://plusaccessible.org/download/catal/ZONE104A.php (français)
- La démo, non jouable, est fonctionnelle.
- L'installation officielle, qui demande de changer les 3 disquettes dans le lecteur A ou B, semble difficile à réaliser depuis l'installeur, dans dosbox (impossible de changer de disque). Mais ça semble bêtement copier tous les fichiers dans le même répertoire du disque dur.
- Le fichier Armaeth.bat appelle EGA.exe, sans doute pour initialiser la vidéo, puis GST000.exe. La protection semble être à partir de ce fichier.
Sur quelle disque (dans quel répertoire) est-il sensé être ?


Ceci dit, je suis arrivé à avoir le fichier plus ou moins décrypté (en fait, j'ai sauvé la mémoire au moment de l'appel de la fonction 00h de l'interruption 13h), j'ai désassemblé tout ça "à la barbare", et j'ai déjà pu voir les choses suivantes :
De plus, il est fait un appel à l'interruption 25h dont je ne sais pas si elle est émulée et qui pourrait donc là encore provoquer quelque chose de pas prévu (même si ça semble ne forcer que la lecture des secteurs sur A).


Commentaire