9746
UTILITY -> Floppy disc and tape tool
© GPA (2003)
 
 
 
Ere Hacking Tools 2003
cpc
 
 

Manual n° 1

Deplomber la protection Ere informatique 2.01 --------------------------------------------- Revision du 12/05/2003 * T&J du GPA Teste avec succes sur : Macadam Bumper, Strife Note aux possesseurs de l'ancienne version de Ere Hacking tools : Cette nouvelle mouture est nettement plus pratique a utiliser que l'ancienne, et corrige quelques erreurs dans la notice. Les programmes ERE-STOP et ERE-LOAD ont ete avantageusement remplaces par ERE-BAS et ERE-BIN, qui permettent de faire des sauvegardes sans avoir a utiliser les bank memoire comme zone de stockage... Il n'y a meme plus besoin de Hacker ! Un peu d'histoire ! ------------------- Cette protection ancienne a ete utilisee sur pratiquement tous les jeux vendus par la societe Ere informatique. Oeuvre de Remi Herbulot (programmeur du mythi- que Crafton & Xunk), elle a pour principale caracteristique de permettre l'uti- lisation des routines standards de chargement de fichiers (&BC77 et compagnie). Concretement, tous les vecteurs sont modifies, de fa├žon a utiliser un format de disquette special, dont les secteurs sont numerotes sans logique apparente et de plus proteges par des control mark (secteurs marques comme effaces). Le chargeur de la protection est franchement bien etudie, difficile a comprendre car faisant de nombreux appels a la Rom Basic. Toute la ram est completement reecrite, ce qui ne permet pas l'utilisation d'une routine sous interruption pour la deprotection. Mais, comme vous allez le voir par la suite, il y a un defaut a la cuirasse... Materiel requis : Un editeur de secteurs (Discology ?) 128ko de ram ! CPC (pas CPC plus car la protection plante dessus !) Maxam (un assembleur) * Premiere chose a faire, recenser les fichiers du programme a deplomber. L'on va s'acquitter facilement de cette tache grace a un utilitaire, ERE-CAT, qui se sert d'une routine du Dr Speedy, publiee dans un ancien Crazy croc. Lancer le programme, noter le nom des fichiers detectes, leur adresse d'implantation et leur longueur. * Deuxieme etape, faire une copie du disque original ! * Troisieme etape, bloquer le chargeur du jeu en alterant le catalogue de la disquette copie. Deux cas de figure, selon que le chargeur soit en Basic ou Binaire. * Basic : editer la piste 1, secteur &48 de la copie, et remplacez les octets 14 et 15 par des 0. * Binaire : editer la piste 1, secteur &48 de la copie, et remplacez l'octet 12 par sa valeur moins un. Attention, si le chargeur n'est pas le premier fichier de la liste, il faut tenir compte de sa position sur le catalogue (rajouter &20 aux valeurs ci-dessus s'il est en deuxieme position, &40 s'il est en 3eme, etc... ) Ces modifications vont nous permettre de stopper le chargement du jeu, sans perdre la precieuse routine speciale de chargement de la protection ! Cela parait incroyable, mais cela fonctionne ! * Quatrieme etape : preparer la routine de sauvegarde A cet instant, il faut distinguer deux cas : - Le programme a sauvegarder est un fichier binaire. Utiliser le programme ERE-BIN.BAS. Il stocke en memoire etendue (bank &C4) trois routines : * en &4000 : lecture du secteur Catalogue de la disquette originale * en &4003 : ecriture du secteur Catalogue correct sur la disquette de copie. * en &7000 : copie en &BE80 de la routine de sauvegarde. - Le programme a sauvegarder est un fichier Basic. Utiliser le programme ERE-BAS.BAS. Lui aussi poke en memoire trois routines. Les deux premieres sont exactement les memes, la troisieme est differente. Elle copie en &A000 une routine qui charge le fichier Basic voulu, reinitialise le CPC, puis sauvegarde le fichier Basic. Important ! Si le fichier Basic est protege (P), cette routine ne retire pas sa protection. Il faudra alors utiliser un programme adapte pour rendre le fichier lisible (cela ne manque pas sur CPC... ). Charger avec Maxam le programme SAVEBAS.ASM ou SAVEBIN.ASM, en fonction du type de fichier que vous allez sauver. Renseignez le nom du fichier, son adresse d'implantation et sa longueur. Assemblez ensuite le source. Vous obtenez un fichier SAVEBAS.BIN ou SAVEBIN.BIN adapte a la sauvegarde du fichier convoite. * Cinquieme etape : preparation finale ! Lancez le fichier ERE-BAS.BAS ou ERE-BIN.BAS - Inserez la disquette originale. Le programme Basic va lire le secteur catalogue et le stocker en memoire etendue. A noter que si le fichier que vous voulez recuperer n'est pas le loader du jeu, vous pouvez mettre directement la disquette de travail. - Inserez ensuite la disquette de travail. - Tapez la commande de lancement du jeu (en general, RUN"ERE). Si tout va bien, le chargement devrait se finir par un beau message Error in xxxx, et le cpc vous rend la main ! A partir de la, faire un OUT &7F00,&C4 pour acceder aux routines creees par ERE-BAS ou ERE-BIN. - faire un CALL &4003 si vous avez besoin de regenerer le catalogue (lorsque vous recuperez le loader du jeu). - faire un CALL &7000 pour implanter en memoire la routine de sauvegarde. - Faire un OUT &7F00,&C0 pour revenir en memoire centrale. - si vous sauvez un fichier Binaire : * chargez le programme convointe en ram avec la commande Basic LOAD * inserez dans le lecteur la disquette de sauvegarde * tapez CALL &BE80. -> Le fichier s'enregistre, puis le CPC fait un reset. - si vous sauvez un fichier Basic : * tapez CALL &A000. -> Le fichier se charge en memoire, puis le border devient bleu * Inserer dans le lecteur la disquette de sauvegarde * Appuyez sur une touche. -> Le fichier s'enregistre, puis le CPC fait un reset. Cette operation est a reproduire autant de fois qu'il y a de fichiers sur la disquette de travail. C'est peut-etre long, mais certainement moins que si vous n'aviez rien pour faire ce transfert ! Rappel ! Les fichiers Basic proteges avec l'option P ne sont pas deproteges par la sauvegarde. Il faut utiliser un programme de suppression de cette protection pour les rendre lisibles. Une fois cette tache accomplie, il faut jeter un oeil sur le chargeur du jeu. Si c'est du Basic, normalement, il n'y a rien a faire pour que le programme fonctionne. Si c'est un chargeur binaire, il deja le charger en memoire avec un programme Basic. Il faut aussi verifier s'il fait appel a des routines du loader special de Remi Herbulot (dans le chargeur de Macadam Bumper, il y a un beau CALL &BEC6). Il faut simplement supprimer ces appels, et le chargeur doit fonctionner sans accroc. Attention, si les programmeurs du jeu ont decide d'utiliser en plus une autre protection (test de secteurs non conformes), il faudra cracker cette protection la. Mais c'est franchement rare sur des jeux Ere, je ne l'ai personnellement vu que deux fois, sur QIN, et sur un jeu nullissime de la compilation ERE hits 1, Mission 2. Limites connues --------------- Si vous voulez sauver un fichier binaire tres gros, il se peut que vous ne puissiez pas le charger directement a partir du Basic. Il faut alors utiliser la routine SAVEBAS.ASM en la modifiant de facon a sauvegarde le fichier sous une forme Binaire. Pour l'instant, je n'en ai jamais eu besoin...


Goto Top
CPC-POWER/CPCSOFTS, programming by Kukulcan © 2007-2021 all rights reserved.
Reproduction forbidden without any express authorization. All the game titles used belong to their respective owners.
Hébergement Web, Mail et serveurs de jeux haute performance