5040
UTILITAIRE -> Outils pour disquettes et cassettes
© _Public_Domain_ (2005)
 
 
 
Catalog Tricks 2.0
cpc
 
 

NOTICE / MANUAL

TXT (3)

NOTICE TEXTE n° 1 (5.63 Ko)

- CATALOG TRICKS 2.0 - Tom et Jerry/GPA 2005-2006 Ce programme est une boite a outils permettant de triturer le catalogue et les en-tetes de fichiers d'une disquette DATA ou VENDOR. Si son utilite ne vous saute pas aux yeux au premier abord, il pourra le moment venu vous simplifier un peu la vie... L'utilisation de l'interface du logiciel etant tres simplifiee, il n'en sera pas fait mention dans cette notice. Attention ! Cet utilitaire bricole a la va-vite lors de la finition de Citadelle n'a pas fait l'objet de tests approfondis. Travaillez toujours sur une copie... Que peut-on faire avec Catalog Tricks 2.0 ? ------------------------------------------- * Appliquer une protection contre la visualisation du catalogue Cette technique assez sommaire s'appuie sur le fait que la routine d'affichage du catalogue ne prend pas en consideration les valeurs superieures a 127. Donc, on ne voit plus rien a l'affichage ! Et avec un editeur de secteurs, le catalogue est difficilement lisible (sauf avec Discology). Les plus anciens se souviendront qu'une telle (petite) astuce a ete utilisee sur les premiers disquettes protegees par des SPEEDLOCK. Au passage, cela permet de rendre ces catalogues "visibles" :-). Cette "protection" peut etre appliquee sur un catalogue graphique, fait par exemple avec Cataclysme (pub !). * Nettoyer les en-tetes des fichiers Si vous avez gentiment planque votre catalogue, c'est quand meme rageant de voir que n'importe quel fana de l'editeur de secteur peut retrouver vos fichiers. Le Header Crusher permet de "nettoyer" les en-tetes des fichiers en remplacant toutes les donnees non vitales par des zeros ou des donnees aleatoires. Il peut aussi a la demande alterer les adresses d'execution des fichiers binaires, ce qui empechera les programmes traites d'etre executes directement. Cette derniere option n'est utile que dans un souci de "protection" d'un programme. Accessoirement, si vous archivez des disquettes sur PC, cela permettra de gagner un peu de place une fois votre archive DSK compacte. * Creer un fichier fantome En creant dans le catalogue un fichier ne correspondant pas a un fichier de donnees ou a un programme, et en lui allouant des blocs disques, on peut "proteger" contre l'ecrasement des pistes/secteurs d'une disquette. C'est principalement interessant si vous avez un loader sectoriel, ou si vous faites de l'acces direct a des secteurs. Cette technique a au depart ete utilise par des deplombeurs pour eviter que les niveaux de jeux ne soient ecrases par des enregistrements de fichiers. Certains fanzines dont je tairais le nom s'en servaient pour faire croire qu'ils diffusaient des disquettes pleines a craquer de donnees :-). Ce sera tout pour cette fois ! Pour aller un peu plus loin dans le delire... --------------------------------------------- Masquage du catalogue ********************* En faisant des tests sur les entrees catalogue, je me suis apercu que l'octet 15, qui n'est pas documente, a un impact sur le fichier. Lorsque sa valeur est differente de 0, le fichier ne peut carrement plus etre charge en memoire ! A vous de voir si cela peut servir a quelque chose ou non (pourrissage de disquettes ?). Header Crusher ************** Le programme teste tous les secteurs de la disquette. S'il decouvre un en-tete de fichier (la somme des octets 0 a 67 egale la valeur (octet 68)*256 + (octet 69). Il remplace les 128 premiers octets par des zeros ou des valeurs aleatoires, a l'exception des octets : 18 (&12): type du fichier ( 0 = Basic, 1 = Basic protege, 2= binaire) 21 et 22 (&15 et &16) : adresse de chargement du fichier 24 et 25 (&18 et &19) : longueur du fichier 26 et 27 (&1A et &1B) : adresse d'execution du fichier 64 et 65 (&40 et &41) : longueur du fichier 67 et 68 (&43 et &44) : checksum de l'en-tete Si l'option "alter exec" est activee, l'adresse d'execution du fichier est modifiee s'il s'agit d'un fichier binaire. Les plus perspicaces d'entre vous remarquerons qu'on a deux fois dans le header la longueur du fichier. En modifiant manuellement l'une des valeurs, on peut arriver a des choses surprenantes. Naturellement, si l'idee vous vient d'experimenter par vous meme ces astuces idiotes, n'oubliez pas de calculer le nouveau checkum du header. Sur un fichier basic : ---------------------- * effacer les octets &15 et &16 (adresse d'execution) : le fichier est toujours charge en memoire ! La modification de ces valeurs n'a pas d'incidence sur la "stabilite" du programme. * effacer les octets &18 et &19: la longueur du programme est fausse dans la plupart des utilitaires disques. Le programme peut etre charge en memoire. mais ne peut etre execute (plantages sur mes fichiers de test). * effacer les octets &40 et &41: le programme ne peut plus etre lu ! Sur un fichier binaire : ------------------------ * effacer les octets &18 et &19 : la longueur du programme est fausse dans la plupart des utilitaires disques (sauf le Hacker). Le programme peut par contre etre charge et execute normalement. Chose rigolote, Discology considere ce type de fichier comme de l'ASCII ! * effacer les octets &40 et &41: le programme ne peut plus etre lu ! Ces valeurs ne sont donc a manipuler que dans des cas particuliers (par exemple si vous avez concu une routine de chargement sectoriel de fichiers et que vous ne voulez pas que les fichiers puissent etre lances directement (bref, cela ne sert a rien pour le commun des mortels !)).
 

NOTICE TEXTE n° 2 (4.81 Ko)

- CATALOG TRICKS 2.0 - Another useless Tool from Tom et Jerry/GPA 2005-2006 As usual, this english notice is pure crap. Buy a french brain if you not understand anything of what is written next :-). This program is a litle toolbox whose goal is to make strange changes on a DATA or VENDOR directory. I suppose that most of users will not need it, but, as the tool exists, I spread it in the wild ! The main interface of Ctricks is really easy to understand, so I will not explain it in this text. Warning ! Ctricks has been coded very quickly when I was terminating another program, Citadelle. I cannot guarantee it is 100% bug free, so, ALWAYS USE IT ON A COPY of your precious programs ! What can be done with Catalog Tricks 2.0 ? ------------------------------------------- * Apply a "protection" against directory display It is a really simple technic, based on the fact that Amsdos does not display characters upper than 127 when you execute a CAT or DIR command. When you edit the directory with a sector editor, it is not quite easy to understand. Many disk tools does not permit to read this kind of 'locked' directory (Discology can do it, french powa :-) ). The first cpc warriors may remember that this little trick has been used on games protected with the first generation of SPEEDLOCK. Of course, you can remove this "protection" with Ctricks... Ctricks can without problem hide a "graphical directory". If you don't know what I am speaking about, download Cataclysme (advertising inside !). * "Clean" files' headers Header Crusher gives you the power to "clean" files' header. Datas are replaced by zero of random values, so displaying a file header does not gives many informations about the file. Only obligatory informations are left in the header (file type, file start, file length, file exec if you does not use the exec alter option). This function can be usefull if you want to gain a little space when you transfer your programs on PC .DSK images. It can be used too to "hide" files' header from Sector editor search... * Create a ghost file A ghost file is a false file, whose purpose is to "protect" from allocation blocs of sectors of the diskette. This is convenient if you use a sector loader in your programs (direct access for a database for example). Of course, it can also be used for cracking purposes (protect levels of a game). Some fanzine makers in the past have used ghost files to fool naive users letting them thinking that their programs were so huge that they needed a full side of a disk :-). Some strange technical informations... Directory protection ********************* Making tests, I have notice that the firtheen byte of a directory entry has a rare ability. Its normal value is 00. When you put another number, the file cannot be read ! Well, it is useless in all circunstancies, although you aspire to create the first cpc virus :-(. Header Crusher ************** The program tests all sectors on the disk. If it discovers a file header (sum of bytes 0 to 67 equals value (bytee 68)*256 + (byte 69) ), it replaces 128 first bytes with zeros of random values, except for the following bytes : 18 (&12): file identification ( 0 = Basic, 1 = protected basic, 2= binary) 21 and 22 (&15 and &16) : file loading address 24 and 25 (&18 et &19) : file length 26 and 27 (&1A et &1B) : fikle start address 64 and 65 (&40 et &41) : file length (again !) 67 and 68 (&43 et &44) : header's checksum If option "Alter exec" is activated, file start address is blanked or replaced with false values. I suppose you have noticed that in the header, the filr length is present two times. Modifying manually one of these values, stranges results can be observed.. Of course, if you experience by yourself these tricks, don't forget to calculate the new head checksum. On a Basic file : ----------------- * delete bytes &15 and &16 (exec address, &170) : the file can always been loaded and runned. * delete bytes &18 and &19: file length is false in most of disc tools. program can be loaded in memory but crashes when it is executed. * delete bytes &40 and &41: program cannot be read ! On a binary file : ------------------ * delete bytes &18 and &19 : file length is false in most of disc tools (a nice exception is The Hacker). The program can be loaded and runned. Discology considers these altered files as ASCII (even french coders are not perfect !). * delete bytes &40 and &41: program cannot be read ! Well, I am afraid there is no really application to this, altough if you absolutely want to prevent files to be loaded...
 

NOTICE TEXTE n° 3 (2.54 Ko)

; Catalog tricks 2 * (c) T&J/GPA ; Version 1 * maj du 09/07/06 ; Corrections commentaires dans le source le 22/03/2012 ORG &A000 NOLIST WRITE "CTRICKS.BIN" find_command equ &BCD4 buffer equ &9000 JP init JP readsec JP writsec JP calchea JP control sector db &00 track db &00 drive db &00 flag_init equ &BE80 ; Test si initialisation vecteurs disk ok flag_control equ &BE81 ; Test si le secteur lu est un header de fichier init LD HL,comread CALL find_command JR NC,initbug LD (exec_84),HL LD A,C LD (rom_84),A LD HL,comwrite CALL find_command JR NC,initbug LD (exec_85),HL LD A,C LD (rom_85),A XOR A init1 LD (flag_init),A RET initbug LD A,&FF JR init1 comread db &84 exec_84 defw &0000 rom_84 db &00 comwrite db &85 exec_85 defw &0000 rom_85 db &00 ; Lecture d'un secteur ; -------------------- readsec LD A,(drive) LD E,A LD A,(track) LD D,A LD A,(sector) LD C,A LD HL,buffer RST &18 readse1 DEFW exec_84 JR NC,initbug XOR A JR init1 ; Ecriture d'un secteur ; --------------------- writsec LD A,(drive) LD E,A LD A,(track) LD D,A LD A,(sector) LD C,A LD HL,buffer RST &18 writse1 DEFW exec_85 JR NC,initbug XOR A JR init1 ; Verification si le secteur est un header ; ---------------------------------------- control CALL somme LD HL,buffer LD BC,&43 ADD HL,BC PUSH DE LD E,(HL) INC HL LD D,(HL) EX DE,HL POP DE LD A,D CP H JR NZ,contr2 LD A,E CP L JR NZ,contr2 XOR A contr3 LD (flag_control),A RET contr2 LD A,&FF JR contr3 ; Somme des octets &00 a &42 du secteur ; ------------------------------------------ ; Resultat dans DE somme LD HL,buffer LD DE,&0000 LD B,&0 LD A,67 somme1 LD C,(HL) ; somme des octets &00 a &42 soit 67 octets EX DE,HL ADD HL,BC EX DE,HL INC HL DEC A JR NZ,somme1 RET ; Calcul des octets &43 et &44 (on part de la position &00) du header ; ---------------------------------------------------------------------- calchea CALL somme EX DE,HL LD (buffer+&43),HL RET
 



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