APPLICATIONSCOURS DE BIDOUILLAGE ★ INITIATION ★ PROTECTIONS LOGICIELLES (II) ★

Protection Logiciel n°43 (Amstrad Cent Pour Cent)Applications Cours De Bidouillage
Vous voulez ma mort ou quoi ? Je viens de réaliser que, depuis des années, je vis dans l'illusion... L'illusion de croire en des lecteurs qui me voudraient du bien. Que nennïe. Vous avez été nombreux (trop nombreux) à me demander une nouvelle rencontre avec Xor. Pourrais-je vous le pardonner un jour ?

Vous ne comprenez pas pourquoi cela m'est si pénible ? Si vous être? passé un jour dans l'antre du maître, si vous aviez vu tous les monstres errant dans ses dongeons, si vous aviez flippé la mort en entendant les bruits étranges venant du fin fond des puits, si ... et si ... vous comprendriez que cela me coûte de préparer ces deux pages n car à chaque moment passé avec Xor j'ai risqué ma vie. Mais, encore une fois, je m'en suis sorti indemne , et c'est tout ce qui compte pour le moment. Voici les infos recueillies lors d'une froide nuit de février, quelque part dans un petit village du Périgord.

ELLE RAP ? RAPELLE

Je dois rectifier deux tout petits détails qui ont pu vous poser un problème lors de noire dernier entretien.
Primo, je vous disais qu'en renommant un fichier sous Disco, vous pouviez enlever la protection contre l'écriture. Il est vrai que cela est... faux ! Seule la protection contre l'écriture pourra ainsi être supprimée.

Secundo, le petit programme assembleur (l'encadré de la page 32), qui devrait masquer un source Basic ne doit pas être assemblé , et encore moins appelé è l'adresse 374, mais en 398, qui est l'adresse de la troisième ligne Basic. Cela dit, je vous rappelle qu'il faudra, pour faire une bonne prométhodes afin de planter complètement les petits curieux.

Par exemple, dans le cas de ce masquage, il faut créer une ligne 0 qui cachera en plus la suivante. Le reste des lignes étant masqué par le programme assembleur, le source Basic ne ressemblera plus à grand-chose, mais restera exécutable.

LES FICHIERS FANTOMES

Ce que l'on nomme un fichier fantôme est un fichier fictif, de très grande taille sur la disquette, et qui empêche toute sauvegarde sur cette dernière.
Il n'est pas question de vous parler de ce type de fichier, mais plutôt de vous montrer comment cacher des fichiers pour que personne ne puisse retrouver leur trace.
Il est évident que la méthode la plus simple consiste à changer d'User, mais cela reste insuffisant.
On peut planquer un fichier de deux autres façons. Soit en masquant son nom, soit en déplaçant le fichier dans un nouveau catalogue (un mélange des trois méthodes sera fortement conseillé).

MASQUER UN NOM DE FICHIER

Vous savez que certains fichiers n'apparaissent pas au catalogue de l'Amsdos. Pour parvenir à ce type de résultat, deux méthodes vous sont profichiers à l'aide de Disco en leur ajoutant l'option [S], soit vous tripatouillez manuellement le catalogue. Pour cela, catalogue de la disquette (piste 0, premier secteur). Trouvez le nom du fichier et ajoutez la valeur 128 (&80) à l'octet formant le deuxième caractère de l'extension. Je vous vois déjà grincer des dents. C'est pourtant simple, prenons un fichier portant le nom de TOTO.BAS. Le deuxième caractère de l'extension est le A de BAS. Son code ASCII est de 65 décimal, soit &41 hexa. En ajoutant 128 (bits 7 è 1), on obtient 193 décimal soit &C1. Remplacez le &41 par &C1, et votre fichier n'apparaît plus au catalogue. Sachez tout de même qu'en faisant la même opération sur le troisième caractère de l'extension (S du BAS, dans notre exemple), le fichier passera en protection contre l'écriture. Vous comprenez facilement qu'un tel fichier reste toujours visible sous Disco, car rien n'a changé au niveau des huit premiers caractères qui forment le nom de ce dernier. Pour cela, sachez que ce type de masquage (+128 soit bits 7 à 1) est entièrement applicable aux 12 caractères du nom du fichier dans le catalogue. Ainsi, je vous défie de reconnaître le nom d'un fichier même sous Disco. Tout ça est clair. Le nom d'un fichier ne ressemble plus à grand-chose sous l'éditeur, mais il reste tout de même un gros problème, la commande catalogue de Disco sait lire ce type de nom. Argh ! Pour cela, n'hésitez pas à modifier l'User de vos fichiers (au-dessus de 15) et / ou lisez le chapitre qui suit.

AJOUT D'UN CATALOGUE

Normalement, l'Amsdos travaille avec un seul catalogue. Vous pouvez néanmoins en ajouter plusieurs. Une seule contrainte à cela, notez qu'un fichier placé dans un catalogue s'enregistrera à la suite de la piste du catalogue. Ce qui, en d'autres termes, veut dire qu'un catalogue placé en piste 36 ne laissera que très peu de place pour la sauvegarde des fichiers. De même , un catalogue en piste 3 aura de fortes chances d'écraser les fichiers enregistrés dans le catalogue de la piste 0.

Pour comprendre le principe , suivez cet exemple. Formatez une disquette. Tapotez un petit programme Basic et , avant de le sauvegarder, encodez cette ligne :
POKE &A8A8,255:POKE &A89D,N

La variable N représente la piste sur laquelle sera placée le catalogue (disons 10). Faites votre sauvegarde (SAVE "TOTO.BAS"), réinitialisez l'ordinateur (CONTROL+SHIFT+ESC) et faites CAT. Vous constatez qu'il n'y a pas de TOTO apparent sur la disquette.

Si vous récupérer ce fichier refaites la ligne de POKE et lancez ou LOADez le fichier. Tout va bien, c'est un miracle !
Faites tout de même attention. Cette méthode est assez dangereuse pour les données de la disquette. N'importe quelle opération sur le catalogue normal peut modifier les données du second catalogue. Vous pensez bien, l'Amsdos se fiche royalement de votre nouveau directory. Alors prudence, et Faites des copies de sauvegarde au lieu de travailler sur vos originaux. Vous en voulez une bonne ? La copie fichier de Disco est complètement aux fraises avec ce type de fichiers (qui plus est, sans messages d'erreur de sa part).

Avant de passer à la suite, je vous dois quelques explications concernant ces deux POKE.

En &A8A3 se trouve un zéro. En le remplaçant par 255, vous indiquez à l'Amsdos de ne pas réinitialiser les paramètres disque {rf de piste du catalogue, nombre de secteurs par piste, taille du catalogue...). L'octet &A89d indique la piste sur laquelle se trouve la catalogue. C'est cet octet qui prendra la valeur de votre nouvelle piste.
Nous sommes avec Xor persuadés qu'il est possible de changer par la même méthode la taille du catalogue. Sachant que Disco ne reconnaît qu!un seul type de directory, vous comprenez qu'il sera complètement perdu lors de ces copies. Malheureusement, nos tentatives n'ont pas donné les résultats escomptés, donc histoire à suivre...

PROTECTIONS PHYSIQUES

Le nec plus ultra pour protéger une disquette est de la rendre physiquement incopiable. Croyez-moi, cela est une très longue histoire pas facile a narrer. En trafiquant une disquette, vous aurez peu de risques de planter Disco, car les programmeurs de ce dernier ont assuré un max et ont fait un sacré boulot. Promis, dans le prochain numéro, on vous donne une routine pour planter Disco, mais avant tout, il faudra mettre quelques termes au point.
Premièrement, vous devez connaître les méthodes de formatage sur le bout des doigts. Pour cela, relisez ['article de Sined paru en janvier 91 (n° 33 d'Amstrad Cent Pour Cent, encore disponible). Deuxièmement, vous devez tout savoir sur les formats de pistes.

LES FORMATS

En formatant une disquette (DATA) vous obtenez un certain nombre de pistes (souvent de 0 à 39, soit 40 pistes).
Chaque piste est formatée en 9 secteurs
de 512 octets. Faites le compte :

40*9*512=184320

Sachant qu'un kilo-octet représente 1024 octets on en déduit par une simple division que la disquette est formatée à 180 Ko. 2 kilos sont réservés pour le catalogue et il nous reste les fameux 178 kilos disponibles. En oubliant l'Amsdos et le catalogue vous pouvez récupérer les deux kilos du CAT et formater la disquette jusqu'en piste 41 ce qui vous donnera une disquette de :

42*9*512=184.5 Ko

Sachez, enfin, qu'un secteur peut avoir plus ou moins d'octets que 512. On désigne alors les secteurs par leur taille (vous avez entendu parler des secteurs taille 6?).
Pour cela, appliquez la formule suivante :

  • Nb d'octets par secteur = 128 * 2 puissance TAILLÉ.
  • Ainsi, notre format classique donne des secteurs de taille 2. Voici un petit tableau résumant les différentes tailles

+-------------------+---------------------+
| nombre d'octets | taille par secteur |
+-------------------+---------------------+
| 128 ; | 0 ; |
| 256 ; | 1 ; |
| 512 ; | 2 ; |
| 1024 ; | 3 ; |
| 2048 ; | 4 ; |
| 4096 ; | 5 ; |
| 8192 ; | 6 ; |
+-------------------+---------------------

Plus vous poussez la taille des secteurs , plus l'écriture de ces derniers devient difficile. Pensez donc, une disquette avec 42 secteurs de taille 6 devrait donner 42*8192 soit une disquette de 336 kilos par face. Ne vous faites pas d'illusions, cela est impossible, car même en programmant comme un dieu, seul 4 kilos des secteurs taille 6 seront utilisables. Il me reste à vous dire une chose ; très peu de gens en France ont une routine permettant de créer de tels secteurs, encore plus rare sont ceux qui peuvent écrire dans ces secteurs et quasiment personne ne pourra les lire.

Pour la petite histoire, sachez que Xyphoes Phantasy de Feffesse était formaté avec des pistes de 5 secteurs de taille 2 (5*512 octets), 1 de taille 3 11*1024) et 1 de taille 4 (1*2048), ce qui sur 42 pistes [0 à 41) représentait 231 kilos. Je ne vous parle pas du nombre de disquettes retournées à l'éditeur , car même les gros dupliqueurs utilisés par les boîtes d'édition se sont sentis mal..

Poum. qui ne remercie pas ses lecteurs

★ ANNÉES: 1991
★ AUTEURS: XOR , Alain Massoumipour
 

Page précédente : Protection Logiciel n°42

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Protection Logiciel n°42 (Amstrad Cent Pour Cent)
» Applications » Protection Logiciel n°44 (Amstrad Cent Pour Cent)
» Applications » Protection Logiciel n°45 (Amstrad Cent Pour Cent)
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 813 millisecondes et consultée 2852 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.