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

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

Auteur :  kawickboy [ 01 Sep 2008, 21:41 ]
Sujet du message :  Re: Protections sur Amstrad CPC

le croco 1 ou 2 (celui où il y avait un max de monde). ram7 et un autre (un ancien prof de maths je crois) avaient squatté mes cpc toute une nuit dans ce but. moi je ronflais à côté.

Auteur :  Babar [ 01 Sep 2008, 23:31 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Je ne suis toujours pas totalement convaincu qu'on puisse faire une protection en boucle R sans interdire les interruptions. Pour plusieurs raisons, et notamment que les routines d'interruptions sont différentes entre 464, 664 et 6128, donc la protection n'aurait pas marché sur les 3 bécanes.
Faudrait faire un test sur une boucle simple, et ce sera vite vu (il me semble avoir fait un essai à l'époque...mais c'est si vieux !)

markerror a écrit :
Le fanzine Crazy Croc a même diffusé un listing permettant de décoder cette fameuse protection. T&J/GPA

S'il s'agit du Crazy Croc'9 cela ne concerne que la vieille version d'Hercule mais pas celle d'Hercule II. Et il s'agit d'une copie physique, qui dans le cas d'Hercule (I et II), me parait en effet tout à fait copiable puisque les duplications chez l'éditeur Esat se faisaient avec des Amstrads donc tout à fait refaisable par un Amstrad (pas de FDC d'Oric, ni de taille 6,...).

Par contre me souviens plus de l'astuce de la protection physique...c'était pas une histoire de moteur du FDC coupé au milieu pour ne pas écrire au bout d'un secteur de taille 4 et ne pas effacer les gaps des secteurs suivants ? Ou alors un assemblage de secteurs 2 construits sur la base de secteurs 0, mais de deux manières différentes ?
Allez, j'essaie de regarder mon original un jour, et je vous fais un petit résumé !!

S'il s'agit d'un autre Crazy Croc que le n°9, je serais très intéressé par un scan !!

Mais au final on ne sait toujours pas quelle était l'astuce de la protection logique... :(
(ce n'était pas le registre R car j'avais décodé beaucoup de ces foutues boucles, mais sur Hercule ça ne fonctionnait pas)

Auteur :  Longshot [ 02 Sep 2008, 07:15 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Citer :
Je ne suis toujours pas totalement convaincu qu'on puisse faire une protection en boucle R sans interdire les interruptions. Pour plusieurs raisons, et notamment que les routines d'interruptions sont différentes entre 464, 664 et 6128, donc la protection n'aurait pas marché sur les 3 bécanes.


Tu n'imagines quand même pas qu'une protection laisse les interruptions système en place...Il suffit de dévier ce qui se passe en #38 pour que tes 3 cpc fassent exactement la même chose. En plus je t'ai donné un exemple.

Si j'ai écris qu'elle fonctionnait comme ça, c'est que je l'ai cracké sans hardware (je t'ai donné ma version). (faut que je voies dans mes archives si j'ai pas le listing de la latis, qui était vraiment très médiocre comparée à celle de crafton & xunk par exemple)

La protection que j'ai écrite sur revolog laisse non seulement les interruptions actives, mais l'interruption elle-même modifie R de temps à autre (c'est pas ça qui constitue la difficulté majeure)...
Donc c'est parfaitement possible.(merci de plus remettre ça en cause)

A ma connaissance, elle n'a pas été crackée sans cartouche (rubi, xor, famous cach ont essayé). A une époque, Madram voulait s'y attaquer.

Auteur :  markerror [ 02 Sep 2008, 07:40 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Bonjour,

Le listing dont je parlais se trouve dans le numero 11 de Crazy Croc. Tu peux récupérer le soft ici :

http://tj.gpa.free.fr/Temp/LATIS_CR.ZIP

Je crois que je dois avoir deux numéros de cet excellent fanzine (dont le 11, forcément :-) ). Je n'ai jamais trop cherché à récupérer les autres, mais je suis sûr que ce sont des mines d'informations :-).

T&J/GPA

Auteur :  BDCIron [ 02 Sep 2008, 11:25 ]
Sujet du message :  Re: Protections sur Amstrad CPC

C'est plutôt rigolo votre discussion :) Pis Babar il est un peu tétu quand même, il va finir par enerver le vieux shot :D

Auteur :  hERMOL [ 02 Sep 2008, 11:29 ]
Sujet du message :  Re: Protections sur Amstrad CPC

les versions "numérisée" :eng: , sont dispo à cette adresse : https://cpcrulez.fr/Scene_Papermag/index.php?list=C

Auteur :  Babar [ 02 Sep 2008, 13:27 ]
Sujet du message :  Re: Protections sur Amstrad CPC

hERMOL a écrit :
les versions "numérisée" :eng: , sont dispo à cette adresse : https://cpcrulez.fr/Scene_Papermag/index.php?list=C

Merci hERMOL pour ces scans de CrazyCroc, on oublie toujours qu'on est sur ce site sur un gisement de pépites... :)

Dans ce CrazyCroc14, la routine pour copier Hercule II est très stylée, avec l'appel à un RSX par |LATIS, "nom du programme" sur chaque fichier...
Du beau travail, il passe de temps en temps par ici le DrSpeedy qui a écrit çà ?

* Bon, dommage que cela ne nous dise pas quelle était l'astuce de la protection physique ==> mais ça j'espère pouvoir vous le dire dans les mois qui viennent... :pir8: (ben voui, faut que je reprenne la main sur les "outils" ça fait 20 ans quand même...)

* Et dommage que cela ne nous dise pas quelle était l'astuce de la protection logique ==> mais Longshot devrait être en mesure de nous le dire... 8)

Auteur :  Babar [ 02 Sep 2008, 13:54 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Salut Longshot !
Merci pour tes messages.

Longshot a écrit :
je l'ai cracké sans hardware (je t'ai donné ma version). (faut que je voies dans mes archives si j'ai pas le listing de la latis...

Donc à ton avis l'astuce de la protection d'Hercule II c'était une boucle en R malgré le fait que les interruptions n'avaient pas été interdites par un DI. Et tu légitimises ce fonctionnement en disant que les interruptions avaient dû être réécrites afin d'assurer que chaque interruption prenne exactement la même durée ?
Comprise comme çà, ton idée tient parfaitement la route, il me semble. :)

Néanmoins je ne pense pas que c'était le cas dans Hercule II, car dans mes notes sur la Latis j'avais écris: les interruptions sont 'clean'. Le basic lance le binaire qui démarre quasi directement sur la boucle en R. :evil:


Longshot a écrit :
La protection que j'ai écrite sur revolog laisse non seulement les interruptions actives, mais l'interruption elle-même modifie R de temps à autre (c'est pas ça qui constitue la difficulté majeure)...

C'est mignon ça comme idée. Mais la difficulté devait résider dans le fait que le pirate ne se rende pas compte que tu avais dérouté les interruptions vers ta propre routine qui modifiait R, comment as-tu fait ? :shock:

Auteur :  markerror [ 03 Sep 2008, 07:26 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Bonjour,

J'ai jeté un oeil intéressé sur les Crazy Croc ! Misère, la collection n'est pas complète, il manque quelques numéros. Il y a en a au moins un qui traine chez moi, celui avec l'article de Dr Speedy donnant une routine de décodage du catalogue d'une disquette protégée avec le loader ERE.
Je vais essayer de retrouver la bête...

Tiens, à propos, quelqu'un sait qui écrivait ces articles ?

T&J/GPA

Auteur :  Longshot [ 03 Sep 2008, 15:26 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Citer :
Donc à ton avis l'astuce de la protection d'Hercule II c'était une boucle en R malgré le fait que les interruptions n'avaient pas été interdites par un DI

Oui. Et je confirme ce que disait T&J. Elle cassait pas des briques.

Citer :
Et tu légitimises ce fonctionnement en disant que les interruptions avaient dû être réécrites afin d'assurer que chaque interruption prenne exactement la même durée ?

Non
Les interruptions n'ont pas besoin de faire la même durée.
Elles ont simplement besoin de ne pas pouvoir être perturbée par un évènement asynchrone qu'une routine système traiterait (comme la gestion du clavier ou du speed ink, pour ne citer qu'eux). Dès le moment pour un octet N crypté tu as un état de la RAM et des REGISTRES identiques, tout va bien.

Citer :
Mais la difficulté devait résider dans le fait que le pirate ne se rende pas compte que tu avais dérouté les interruptions vers ta propre routine qui modifiait R, comment as-tu fait ?

N'importe quel pirate pouvait le constater (d'autant plus que le code principal de la protection tourne à partir de 0).
C'est d'ailleurs plus drôle.
Les interruptions sur cpc sont ultra basiques (appel en #38 en IM1).
Une difficulté pour le pirate consiste à respecter précisément les appels de l'interruption pour que son LD A,R contienne toujours la bonne valeur, mais il n'y a pas mort d'homme.
La difficulté de la protection réside dans un autre principe que ça.
Mais si je t'explique tout, tu voudras pas t'amuser avec :P

Je suis en train d'essayer de voir pourquoi elle fonctionne pas avec winape car ça m'intrigue.

La protection PROTEUS est précédée d'un petit amuse-gueule.
Il s'agit d'un cryptage avec 100 décodeurs.
J'avais créé un petit programme capable de générer ça en piochant dans une base de routines (une quinzaine si je me souviens bien)
C'est une sorte de générateur "speedlock" paramétrable...
Si ça vous intéresse, je le mets en ligne.

Enfin, pour mémoire, les protections registre R en DI résistaient mal à la simulation. Le seul simulateur Z80A ayant jamais existé sur cpc (à moins qu'on me donne un contre exemple) était l'excellentissime DAMS. Il avait cependant un gros défaut, car il ne simulait par R en mode trace "RUN". Si ça avait été le cas, les éditeurs de softs auraient eu de gros soucis. Je crois que Rubi avait modifié sa version de DAMS pour gérer ça, mais je n'en suis pas certain.

Auteur :  dlfrsilver [ 03 Sep 2008, 16:55 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Winape est pas super au point en terme de FDC longshot tout simplement.....

Je l'ai tanné le Richard, parce que winape fait la majorité du temps
moins bien que CPCE et WinCPC....

Auteur :  Babar [ 03 Sep 2008, 22:57 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Longshot a écrit :
Citer :
Donc à ton avis l'astuce de la protection d'Hercule II c'était une boucle en R malgré le fait que les interruptions n'avaient pas été interdites par un DI

Oui.

Et pourtant, non, ce n'est pas çà l'astuce de la protection d'Hercule II.
Tu dois confondre, peux-tu essayer à l'occasion de retrouver tes notes stp, car j'ai l'impression que tu n'es pas loin de la solution, ou en tous cas que tu maitrises suffisamment pour la trouver. :wink:

Personne d'autre n'a déplombé cette protection, et pourrait nous en dire plus ?! :sigh:

(ou sur Discology, de mémoire j'avais essayé en laissant tomber au milieu)

Auteur :  hERMOL [ 04 Sep 2008, 13:19 ]
Sujet du message :  Re: Protections sur Amstrad CPC

yep Babar, tu vas faire pété un plombe a Serge .. s'il te dis que la protection est a base de registre "R" , c'est que c'est la cas a 102%,
pour preuve le screenshot d'hercule un peu plus haut provient de ca collection perso ...
je pense que t'as dû tomber sur une autre version d'Hercules II ...

Auteur :  Longshot [ 04 Sep 2008, 13:56 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Ben oui. :shock:

Babar : J'ai PERSONNELLEMENT fait sauter cette protection. Dans mon souvenir, c'est ce que j'ai dit. Maintenant tu peux charger le disque que j'ai indiqué et vérifier si nous parlons bien du même programme HERCULE. Je ne suis pas sûr de retrouver des notes (d'autant que je pars en congés demain) car j'ai peut-être fait du ménage ces dernières années. A part les listings papiers commentés, je ne pense pas qu'il existe d'autre manière de "montrer" une protection. Les crackers travaillaient en "live" avec des bouts de code et dams était également très pratique car il permet de sourcer du code objet (reverse engineering)

dlfrsilver : Il n'y a pas de rapport avec le FDC.
On parle de protection logique.
La protection de revolog n'est d'ailleurs pas physique.
La seule chose qu'elle empêchait, c'est d'avoir accès au code objet. C'était juste un défi intellectuel pour les crackers de l'époque. Dans ce contexte, Winape est quand même le plus précis de tous les émulateurs pour ce qui est de simuler les interruptions par exemple.

Auteur :  BDCIron [ 04 Sep 2008, 16:12 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Eheheh on a affaire à un coriace la :D

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