L'avantage quand on déplombe un Langage avec SAVE " ",P par rapport à un logiciel commercial, c'est qu'on peut se créer une version du fichier non protégée, puis une autre protégée, afin de travailler avec la technique dite "d'analyse par comparaison" :
Écrivons un programme, le plus simple possible. On le sauvegarde normal, puis protégé pour comparer les fichiers. On regarde avec un éditeur de secteur le fichier normal (pas d'en-tête de fichier ici, vu que c'est du CP/M) ça se décode facilement : D'abord 4 octets de tête, puis &11 qui donne 17 en décimal : longueur de la ligne : 17 octets. Le 01 c'est le numéro de la ligne, le &B9 c'est le token de REM en Mallard BASIC, &20 c'est l'espace après le REM puis &41 est le code Ascii de "A", puis trois octets à Zéro pour signifier la fin du programme BASIC, et enfin &1A qu'on trouve à la fin de presque tous les fichiers sans-entête ou fichiers Ascii. On regarde maintenant le fichier protégé : on s'aperçoit que tous les octets ont changé, sauf le dernier et les 5 premiers, dont l'un est passé de 0 à 1 : ça sent le flag de protection... On mets ce flag à zéro et comme par hasard, LIST, SAVE, PEEK & POKE redeviennent utilisables ! Certes c'est encore encodé, mais ça liste. Maintenant qu'on sait où se repère le programme pour détecter la protection si ce flag est mis à 1, il nous suffit maintenant d'un désassembleur CP/M pour trouver cette routine de détection. Et voilà! sPOKE pour CPCrulez.fr
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser... |
|
|