CPC-POWER : CPC-SOFTS - CPCArchives 
Options de Recherche :
 
 
 

ARTICLES

2 / 31

Yvan Staron lock Version 1.1

SPECIFICITES :

La protection "Yvan Staron lock Version 1.1" existe en 2 versions :

- une pour des programmes "classiques" (programme en Basic)

- une pour les softs sous CPM.

Elles reposent toutes les deux sur la lecture d'une piste 40 avec des secteurs de taille 2 (512 octets, taille normale) aux ID non standards (&01 à &09).

 

 


Exemple programme en BASIC : Apprends Moi A Lire 1 (1988) Cedic Nathan

Protection Yvan Staron Lock V1.1. Piste 40, 9 secteurs numérotés de &01 à &09 et remplis de &E5 sauf les premiers octets du secteur &01 où est écrit: "Y.Staron lock Ver.1.1".

Tous les fichiers basic sont protégés contre le listage.

 

1) Copier tous les fichiers sur une D7 DATA en faisant sauter les protections basic et écriture seule pour le fichier DEPART.BAS.

 

2) Editer le fichier DEPART.BAS, effacer la ligne 1030 puis taper TRON et RUN, ce qui permet de tracer l'exécution du fichier : (1000)...(1110) puis (1119) mais cette ligne n'apparaît pas dans le listing basic même avec un renum. Pas de panique, c'est la technique classique pour cacher une ligne Basic, il s'agit d'une ligne cachée dans la précédente.

 

3) Vérifier en &2FF, où l'on peut lire les valeurs suivantes :

&28,&00,&56,&04,&04,&B7,&22,&64,&22,&01,&AA,&20,&1C&FF,&5F,&01,&89,&00,&17,&00,&5F,&04,&A8...

La taille de la ligne 1110 est donc de &28 octets ce qui est beaucoup :

1110 OPENOUT"d":MEMORY &5FFF:CLOSEOUT

 

4) Reset puis on tape :

1110 OPENOUT"d":MEMORY &5FFF:CLOSEOUT

Puis on vérifie en mémoire le codage de cette ligne Basic à partir de l'adresse &170 :

&11,&00,&56,&04,&04,&B7,&22,&64,&22,&01,&AA,&20,&1C&FF,&5F,&01,&89,&00,&00...

Donc la taille réelle de cette ligne Basic et &11 octets.

 

5) On recharge DEPART.BAS et on modifie la valeur &28 en &2FF que l'on remplace par &11 puis on tape LIST et une ligne 1119 apparaît :

1119 LOAD"yvan2.bin":CALL &8600

 

6) On charge en mémoire cette routine qui est codée, il suffit d'exécuter les premières lignes pour la décoder et obtenir la routine de protection en clair (voir ci-dessous). Une fois, décryptée (fonction XOR), la routine charge le secteur 00 de la piste 40 et vérifie la présence de la chaîne de texte "Y.Staron lock Ver.1.1"

 

7) On efface la ligne 1119 puis on sauvegarde DEPART.BAS puis on efface le .BAK plus YVAN2.BIN


 

 


2ème exemple programme en BASIC : Apprends-Moi A Compter 1 (1988) Cedic Nathan

Protection Yvan Staron Lock V1.1. Piste 40, 9 secteurs numérotés de &01 à &09 et remplis de &E5 sauf les premiers octets du secteur &01 où est écrit: "Y.Staron lock Ver.1.1".

Tous les fichiers basic sont protégés contre le listage.

 

1) Copier tous les fichiers sur une D7 DATA en faisant sauter les protections basic et écriture seule pour les fichiers DEPART.BAS et CEDIC1.BIN.

 

2) Editer le fichier DEPART.BAS, taper TRON et RUN, ce qui permet de tracer l'exécution du fichier : (10) puis (15) mais cette ligne n'apparaît pas dans le listing basic même avec un renum. Pas de panique, c'est la technique classique pour cacher une ligne Basic, il s'agit d'une ligne cachée dans la précédente.

 

3) Vérifier en &170, où l'on peut lire les valeurs suivantes :

&36,&00,&0A,&00,&83,&20,&1C,&00,&BB,&01,&CF,&20,&80,&20,&19,&80,&01,&B7,&22,&64,&01,&AA,&20,&1C,&E7,&43,&01,&89,&00,&18,&00...

 

La taille de la ligne 10 est donc de &36 octets ce qui est beaucoup :

10 CALL &BB00:SYMBOL AFTER 128:OPENOUT"d":MEMORY &43E7:CLOSEOUT

 

4) Reset puis on tape :

10 CALL &BB00:SYMBOL AFTER 128:OPENOUT"d":MEMORY &43E7:CLOSEOUT

Puis on vérifie en mémoire le codage de cette ligne Basic à partir de l'adresse &170 :

&1E,&00,&0A,&00,&83,&20,&1C,&00,&BB,&01,&CF,&20,&80,&20,&19,&80,&01,&B7,&22,&64,&01,&AA,&20,&1C,&E7,&43,&01,&89,&00,&00,&00

Donc la taille réelle de cette ligne Basic et &1E octets.

 

5) On recharge DEPART.BAS et on modifie la valeur &36 en &170 que l'on remplace par &1E puis on tape LIST et une ligne 15 apparaît :

 

15 LOAD"cedic1.bin":CALL &8500

 

6) On charge en mémoire cette routine qui est codée, il suffit d'exécuter les premières lignes pour la décoder et obtenir la routine de protection en clair (voir ci-dessous). Une fois, décryptée (fonction XOR), la routine charge le secteur 00 de la piste 40 et vérifie la présence de la chaîne de texte "Y.Staron lock Ver.1.1"

 

7) On efface la ligne 15 puis on sauvegarde DEPART.BAS puis on efface le .BAK plus CEDIC1.BIN



 


 

EDITEURS L'AYANT UTILISES SUR CPC :

Cedic/Nathan

Listing des programmes utilisant cette protection

 

NIVEAU DE PROTECTION :

Copiable avec n'importe quel soft de copie physique.

 

Article rédigé par Alexandre OLLIER

 

Article créé le : Jeudi 26 Mai 2011 à 14 h 17
Dernière mise à jour le : Samedi 20 Mai 2023 à 21 h 08
 
 

CPC-POWER/CPCArchives, projet maintenu par Fredouille.
Programmation par Kukulcan © 2007-2024 tous droits réservés.
Reproduction sans autorisation interdite. Tous les titres utilisées appartiennent à leurs propriétaires respectifs.