9745
UTILITAIRE -> Outils pour disquettes et cassettes
© GPA (2004)
 
 
 
Ere Hacking Tools 2004
cpc
 
 

NOTICE / MANUAL

TXT (2)

NOTICE TEXTE n° 1 (9 Ko)

Ere Hacking tools 2004 ---------------------- ou comment deplomber la protection Ere informatique 2.01 Revision du 26/11/2004 * T&J du GPA Teste avec succes sur : Macadam Bumper, Strife, 3d Megacode, Tensions Note aux possesseurs des anciennes versions de Ere Hacking tools (je me demande s'il y en a vraiment...) Encore une nouvelle version des Ere Hacking tools ! C'est en essayant de deproteger 3d Megacode (23 fichiers a transferer !) que je me suis rendu compte qu'on pouvait simplifier et ameliorer grandement le "rendement" de ce toolkit. Par rapport a la version de 2003, plus besoin de Maxam. La fonction catalogue peut maintenant sortir la liste des fichiers sur imprimante. Un nouveau module ERE-CALC vous donne meme la ou les valeurs a appliquer pour patcher correctement un original et "prendre la main" dessus, la ou les consignes de la version 2003 etaient pus ou moins foireuses (plus ?). Bref, jettez aux orties les anciennes versions ! 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 facon 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, il y a un defaut a la cuirasse... La base de ce kit de deprotection est la routine de Dr Speedy, publiee dans un numero du fanzine Crazy Croc. Ell permet de decoder le catalogue du systeme de fichiers de la protection Ere, et donc de voir les caracteristiques des fichiers stockes (nom, extension, type, debut, longueur). Cela ne suffit pas pour transferer ces programmes sur un formatage standard, mais.... En bricolant le catalogue du systeme de fichiers, il est possible de bloquer le chargement du programme protege. La main est alors rendue au Basic ! La protection etant ancienne, Remi Herbulot n'a pas juge utile de "nettoyer" les banks de memoire supplementaires du CPC... On pourra donc y loger des petites routines de sauvegarde qu'on appelera directement a partir du Basic une fois le catalogue stoppe ! Voila pour le principe... Materiel requis : Un editeur de secteurs (Discology ?) 128ko de ram ! CPC 6128 (pas CPC plus car la protection plante dessus !) Si vous avez un CPC 464 ou 664, il va falloir adapter le programme ERESAVE.BIN, la routine de reinitialisation du systeme etant specifique a chaque machine. * Premiere chose a faire, recenser les fichiers du programme a deplomber. On va s'acquitter facilement de cette tache grace a l'utilitaire, ERE-CAT. Lancer le programme, noter le nom des fichiers detectes, leur adresse d'implantation et leur longueur, ou utiliser la fonction impression. * Deuxieme etape, faire une copie du disque original ! * Troisieme etape, lancer ERE-CALC. Ce programme va vous donner la ou les valeurs a patcher sur le secteur catalogue pour arreter le chargement du programme protege tout en ayant la main sous Basic. Sur tous les originaux testes a ce jour, le fichier chargeur du jeu est le premier du catalogue. En fonction de la nature du fichier, les valeurs a remplacer seront logees aux endroits suivants. * Basic : editer la piste 1, secteur &48 de la copie, et remplacez les octets 14 et 15 (en partant de 0) avec les valeurs donnees par ERE-CALC. * Binaire : editer la piste 1, secteur &48 de la copie, et remplacez l'octet 12 par la valeur donnee par ERE-CALC. Pour les curieux, pour un fichier Basic, on bloque le chargeur en donnant une taille de fichier egale a 0. Pour un fichier binaire, on change son type en Basic ! Attention, si le chargeur n'est pas le premier fichier de la liste, il faut tenir compte de sa position sur le catalogue (rajouter &10 aux valeurs ci-dessus s'il est en deuxieme position, &20 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 - Charger en memoire le programme ERE-SAVE.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 &AE8B (pile Basic) de la routine de sauvegarde et execution directe. - Definir le nom, l'extension du fichier, son adresse de chargement, sa longueur et son type. Ces donnees sont stockees au debut du programme. 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... ). * Cinquieme etape : preparation finale ! Faites un RUN du fichier ERE-SAVE que vous venez de personnaliser - 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 le chargeur fait un reset au bout de quelques secondes (vu sur Tensions), retapez la commande RUN"ERE et faites une deuxieme tentative ! 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-SAVE. - faire un CALL &4003 si vous avez besoin de regenerer le catalogue (lorsque vous recuperez le loader du jeu). - faire un CALL &7000 pour sauver le fichier convoite ! -> Le fichier se charge en memoire, puis le border devient blanc. * 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 faut le charger en memoire avec un programme Basic. Il faut ensuite trouver son adresse d'execution. En theorie, le chargeur devrait reinitialiser le systeme disque (CALL &BCCE) puis reactiver le systeme de fichiers special par un CALL &BEC6. Si vous trouvez ces valeurs, le debut du programme ne devrait pas etre bien loin... Dans votre chargeur personnel, il faudra evidemment vous debrouiller pour supprimer les appels au 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. - Tensions Adresse d'execution de TENSIONS.BIN : &938D - Macadam bumper Adresse d'execution de MAC2.BIN : &7530 (facile !) 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. Limite connue ------------- Si pour une raison etrange, un fichier se charge dans la zone allouee a la pile Basic (&AE8B-&B08A), la routine de sauvegarde ne fonctionnera pas, car elle est logee dans cette zone. Libre a vous de bricoler le programme pour implanter cette routine ailleurs (necessite une recompilation du fichier source ERESAVE.ASM avec Maxam, plus une modification de son appel dans le programme ERE-SAVE.BAS.
 

NOTICE TEXTE n° 2 (1.56 Ko)

; Ere Save * T&J GPA 2003 ; Maj du 25/11/2004 ; Version CPC 6128 ORG &AE8B NOLIST WRITE "ERESAVE" filestart equ &3A6E ; adresse de depart du fichier (toujours &170 pour Basic) filelength equ &01F3 ; longueur du fichier (a adapter) fileexec equ &0000 ; adresse d'execution du fichier (a &0000 pour Basic) filetype equ &2 ; 2 pour du binaire, 1 pour du Basic JR main filename db " . " ; nom du fichier (toujours 12 caracteres en tout) main LD BC,&7FC0 OUT (C),C LD HL,filename LD DE,&C000 LD B,&C CALL &BC77 LD HL,filestart CALL &BC83 CALL &BC7A LD BC,&1A1A CALL &BC38 CALL &BB18 DI ; init complet du systeme pour un CPC 6128 LD SP,&C000 EXX LD BC,&7F88 OUT (C),C XOR A EX AF,AF' CALL &44 CALL &8BD ; &888 sur 464, &8BB sur 664, &8BD sur 6128 CALL &1B5C ; &19E0 sur 464, &1B5C sur 664, &1B5C sur 6128 CALL &1074 ; &1078 sur 464, &1070 sur 664, &1074 sur 6128 LD BC,&7F8D OUT (C),C EXX EI LD BC,&7FC0 OUT (C),C LD HL,&ABFF ; reinit du systeme disk LD DE,&40 LD C,&7 CALL &BCCE LD HL,filename LD DE,&C000 LD B,&C CALL &BC8C LD HL,filestart LD DE,filelength LD BC,fileexec LD A,filetype CALL &BC98 CALL &BC8F RST &0
 



Goto Top
CPC-POWER/CPCSOFTS, programmation par Kukulcan © 2007-2024 tous droits réservés.
Reproduction sans autorisation interdite. Tous les titres utilisés appartiennent à leurs propriétaires respectifs.
Hébergement Web, Mail et serveurs de jeux haute performance