CPC Rulez
https://cpcrulez.fr/forum/

Protections sur Amstrad CPC
https://cpcrulez.fr/forum/viewtopic.php?f=6&t=223
Page 14 sur 16

Auteur :  Nils [ 03 Fév 2012, 10:06 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Babar a écrit :
Merci hERMOL:
Pour le anti-save,P j'ai survolé tous les articles de CPCrulez et dans les (d'ailleurs très intéressants et didactiques) Amstrad 100% n°42, 43, 44, 45 "Protection Logiciel" j'ai vu que le TypeDeFichier est placé en octet 18 du catalogue et qu'il est à 1 si le Basic est protégé, et à 0 sinon...j'ai donc tendance à penser qu'il suffira à changer le 1 en 0... :pir8:

Pardon de remonter un vieux topic, mais je m'intéresse à la protection Save "",P en Basic.
J'ai changé le 1 en 0 avec sectology, mais ça ne "passe" pas du tout la protection. Ou alors je m'y suis mal pris. :)

J'ai réussi à la faire sauter avec REMPRO de Oddjob, comme à l'époque.
Mais je voudrais pouvoir le faire moi-même. Sans utiliser Rempro ni Discology, car c'est trop facile d'utiliser un soft.

Quand je regarde avec Sectology, je vois que le fichier basic est chiffré sur la disquette.

Faudrait que je dessassemble Rempro pour voir comment il fait, mais j'ai pas encore retrouvé mon ancien niveau, loin s'en faut.
Si quelqu'un peut m'en dire plus sur ce chiffrement et comment passer cette protection "à la main",
ça m'intéresse. Ca m'aide à mieux connaître comment fonctionne le CPC, tout simplement.

Auteur :  kawickboy [ 03 Fév 2012, 10:20 ]
Sujet du message :  Re: Protections sur Amstrad CPC

c'est le genre d'option que l'on trouve dans pas mal de petits utilitaires genre suites logicielles duchet computers.

un truc sympa mais que pour 464 si mes souvenir sont bons c'est le listing d'été 90 d'a100%: il contient plein de petits programmes dont un qui remettait un prog basic tout propre sans les lignes cachées et cie. il y a peut-être ton bonheur là-dedans.

Auteur :  shap [ 03 Fév 2012, 10:51 ]
Sujet du message :  Re: Protections sur Amstrad CPC

@Nils : Salut, effectivement, le fait de modifier le flag de protection ne permet, évidemment pas, de faire sauter la protection, par contre si tu mets ce flag à 0 alors qu'il était à 1 tu ne pourras plus l'exécuter quel que soit le cas (le système va tenter de le gérer comme un fichier Basic normal).

Le contenu du fichier est crypté par une méthode dont je n'ai plus le souvenir.

J'avais fais un petit outils il y a trèèèèèsss longtemps pour déprotéger ce genre de fichiers, et j'avais tout simplement tracée la routine de sauvegarde en vérifiant ce qu'il fait lorsqu'il rencontre une option P, ensuite tu refais un programme pour te décoder le tout.

Si tu as d'autres utilitaires qui font ça, tu trouveras la technique de décodage dedans.

Auteur :  Kukulcan [ 03 Fév 2012, 11:14 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Il y a le listing : Deprotej

Sinon sur CPC 464 uniquement (ben oui, c'est ma machine éhéh), y'avais les 3 pokes avant de charger le fichier :
poke &AC02, &90
poke &AC03,&C0
poke &AC01,&C3
Maintenant on peu charger le fichier basic protégé, et miracle il est listable.

Auteur :  EricM [ 03 Fév 2012, 11:23 ]
Sujet du message :  Re: Protections sur Amstrad CPC

tu m'as coupé l'herbe sous le pied Kukulcan ;)

(il y a très longtemps, je les connaissais par coeur. Il y a quelques jours j'ai du faire quelques recherches pour me rafraichir la mémoire ;) )

par contre j'ai trouver des valeurs quelque peu différentes :

pour 464 : POKE &AC01,&32 : POKE &AC02,&45 : POKE &AC03,&AE
pour 664 : POKE &AC01,&c3 : POKE &AC02,&90 : POKE &AC03,&c0

aucun de mes amstrad n'est branché.quelqu'un peut vérifier ? Merci

Auteur :  hERMOL [ 03 Fév 2012, 14:04 ]
Sujet du message :  Re: Protections sur Amstrad CPC

un petit source vaut mieux qu'un long discourt...
Code :
 ;; JavaCPC disassembled binary
  ;; disassembled from B000 to B066
  ;; Sat Jan 02 20:18:21 CET 2010

    ORG #B000

    LD HL,#B00A
    LD BC,#B00E
    CALL #BCD1
    RET
    CALL M,#0EA6
    OR B
    INC DE
    OR B
    JR #B016
    RET
    LD B,H
    RET NC
    NOP
    RET NC
    LD L,(HL)
    NOP
    LD H,(IX+#01)
    LD A,(HL)
    LD (#500D),A
    INC HL
    LD E,(HL)
    INC HL
    LD D,(HL)
    LD (#5001),DE
    LD A,(#5000)
    LD B,A
    LD HL,(#5001)
    LD DE,#9000
    CALL #BC77
    LD (#5003),BC
    LD HL,#1000
    CALL #BC83
    CALL #BC7A
    LD A,#07
    CALL #BB5A
    CALL #BB18
    LD A,(#5000)
    LD B,A
    LD HL,(#5001)
    LD DE,#9000
    CALL #BC8C
    LD HL,#1000
    LD DE,(#5003)
    LD A,#00
    CALL #BC98
    CALL #BC8F
    RET


Code :
1 ' BASIC de-protector
2 ' by Adrian Forbes
3 ' |DP,"FILENAME" or a$="FILENAME":|DP,@a$
10 tot=0
20 FOR a=&B000 TO &B066
30 READ a$:POKE a,VAL("&"+a$)
40 tot=tot+VAL("&"+a$)
50 NEXT
60 IF tot=&2878 THEN CALL &B000 ELSE PRINT"** Error in data **"
70 DATA 21,0A,B0,01,0E,B0,CD,D1
80 DATA BC,C9,FC,A6,0E,B0,13,B0
90 DATA 18,04,C9,44,D0,00,DD,6E
100 DATA 00,DD,66,01,7E,32,00,50
110 DATA 23,5E,23,56,ED,53,01,50
120 DATA 3A,00,50,47,2A,01,50,11
130 DATA 00,90,CD,77,BC,ED,43,03
140 DATA 50,21,00,10,CD,83,BC,CD
150 DATA 7A,BC,3E,07,CD,5A,BB,CD
160 DATA 18,BB,3A,00,50,47,2A,01
170 DATA 50,11,00,90,CD,8C,BC,21
180 DATA 00,10,ED,5B,03,50,3E,00
190 DATA CD,98,BC,CD,8F,BC,C9

Auteur :  Nils [ 03 Fév 2012, 15:03 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Vraiment merci à TOUS pour votre aide! sympa.

J'ai testé deprotej, ça marche nickel, même sur 6128. Je vais desassembler la routine pour la comprendre.

@hERMOL : merci. cette routine déchiffre le programme ? Je vais l'étudier pour la comprendre!
peux-tu me dire un peu ce qu'elle fait stp par rapport à "deprotej" ?

@eric_M : J'ai testé testé tes poke sous 464,664 et 6128 avec Caprice32:
seul les poke pour le 464 fonctionnent. ceux du 664 non. et tes pokes 464 ne marchent pas non plus sous 6128.

@kukulcan: merci. il faut que je comprenne comme adapter ces 3 poke au CPC6128 et CPC664.

Merci les gars d'avoir pris du temps, c'est vraiment cool de votre part. Super!!
Je vais pouvoir essayer d'écrire mon propre utilitaire qui déprotége et réécrit le programme Basic protégé
directement sur la disquette.

Auteur :  MIC [ 03 Fév 2012, 19:51 ]
Sujet du message :  Re: Protections sur Amstrad CPC

y a managedsk de Demoniak qui peut enlèver les protections basic ,p
moi aussi je serais curieux de savoir comment fonctionne cette protection et son chiffrage

Auteur :  Kukulcan [ 04 Fév 2012, 12:07 ]
Sujet du message :  Re: Protections sur Amstrad CPC

MIC a écrit :
y a managedsk de Demoniak qui peut enlèver les protections basic ,p
moi aussi je serais curieux de savoir comment fonctionne cette protection et son chiffrage

Demoniak a pigé le truc, et tout est expliqué dans les sources de managedsk. (enfin lorsqu'on comprend les sources, ce qui n'est pas évident du tout)

Nils a écrit :
@kukulcan: merci. il faut que je comprenne comme adapter ces 3 poke au CPC6128 et CPC664.

Je n'ai jamais cherché pour CPC664 ou CPC6128 car je n'ai jamais qu'un CPC464 ;-)

Auteur :  MIC [ 05 Fév 2012, 10:22 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Kukulcan a écrit :
Je n'ai jamais cherché pour CPC664 ou CPC6128 car je n'ai jamais EU qu'un CPC464 ;-)


ouuuh la honte ! :kissed:

Auteur :  Kukulcan [ 05 Fév 2012, 11:29 ]
Sujet du message :  Re: Protections sur Amstrad CPC

ben lorsque tu n'as qu'une machine entre les mains tu as tendance a ne pas t'occuper des autres, sauf qu'à l'époque la solution est venu avec le programme deprotej pour les potes qui avait un cpc 464 et 6128, du coups j'ai jamais cherché plus en avant :D

Auteur :  Kukulcan [ 20 Mai 2012, 07:48 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Demoniak a écrit :
Je viens de tester le jeu sapiens en original. ("Sapiens (F) (1986) [Original] (GAPS).dsk")

Sapiens utilise la fonction "ReadTrack" du fcd pour lire la piste 39.
Sur le DSK de sapiens, on trouve en piste 39 les 9 secteurs suivants (C,H,R,N,ST1,ST2,sectsize) :
#27 #02 #41 #02 #20 #20 #0200
#27 #02 #43 #02 #20 #20 #0200
#27 #02 #45 #02 #20 #20 #0200
#27 #02 #47 #02 #20 #20 #0200
#27 #02 #49 #02 #20 #20 #0200
#27 #02 #42 #02 #20 #20 #0200
#27 #02 #44 #02 #20 #20 #0200
#27 #02 #46 #02 #20 #20 #0200
#27 #02 #48 #02 #20 #20 #0200
Donc, 9 secteurs de taille "2", avec ST1 en "Data_Error" et ST2 en "CRC_Error"...
Mais en examinant le contenu des secteurs, il me semble que l'on a 256 données effectives pour le secteur, et ensuite on a pile-poil ce que la fonction "readtrack" doit retourner entre 2 secteurs, à savoir:
- Le crc des datas secteurs,
- les "x" octets à #4E du gap 3,
- 12 octets à #00 (Sync)
- #A1,#A1,#A1,#FE (ID AM)
- #27,#00,#43,#02 (Identification du prochain secteur : C,H,R,N)
- le crc de la zone id
- 22 octets à #4E (Gap 2)
- 12 octets à #00 (Sync)
- #A1,#A1,#A1,#FB (Data AM)

Donc je me pose une question:
Est-ce que le DSK contient les données inter-secteurs, ou bien ceci est réellement sur l'original de sapiens ?

Le DSK présent sur mon site n'a pas les informations GAPS :(

Auteur :  Kukulcan [ 20 Mai 2012, 07:50 ]
Sujet du message :  Re: Protections sur Amstrad CPC

OffseT a écrit :
- Asphalt : plante dans le jeu.

Conclusion : la plupart de ces DSK ont des problèmes structurels. Toutefois ça ne les empêche pas de fonctionner. Sinon, il y a vraisemblablement un problème à creuser avec Asphalt.

Il y avait bien un soucis, il manquait les informations Gaps pour que la protection ne nous plante pas le jeu, j'ai fixé il y a quelques jours l'original, donc maintenant tout fonctionne correctement :D

Auteur :  TotO [ 20 Mai 2012, 16:20 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Mais du coup, ce n'est plus vraiment l'original... :sweatingbullets:

Auteur :  Kukulcan [ 21 Mai 2012, 20:18 ]
Sujet du message :  Re: Protections sur Amstrad CPC

TotO a écrit :
Mais du coup, ce n'est plus vraiment l'original... :sweatingbullets:

En fait j'ai juste remis les Gaps provenant d'une compilation, ce sont exactement les mêmes ;-) J'appelle ça de la chance éhéh!!!

En parlant de protection et d'originaux, est-ce que certains d'entre vous pourrait m'aider a expliquer comment fonctionne certaines protections ? J'ai commencé une série de petit article par protection, ça me permet en même temps de tester les DSK sur le site et de nettoyer le site.

Page 14 sur 16 Le fuseau horaire est UTC+1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/