le taille 6 contenant des datas est incopiable avec disco ou hercule (d'ailleurs ce dernier a disparu des débats courant 89), mais celle qui était juste testée non.
Je n'ai pas compris le: "mais celle qui était juste testée non." ? Et même si je n'ai pas compris la question, je serais tenté de demander "pourquoi?" !
kawickboy a écrit :
les jeux post 91 comme terminator 2, simpsons ou même lemmings étaient copiable avec disco, exceptée la piste 01 de chaque face, en taille 6. comme cette piste se "copiait" avec dimension6 (alias dms), on obtenait une copie 100% fonctionnelle.
Quelle était la méthode de Dimension6 pour copier cette fameuse taille 6 que disco n'arrivait pas à copier ?!??
je ne sais pas comment l'outil DMS tourne, mais ce que je précisais c'est qu'une piste en taille 6 qui ne contient aucun data nécessaire au jeu, qui est juste testée, pouvait être refaite via DMS justement.
j'avais même fait un test: sur les jeux comme wrestlemania, terminator2 et cie, avec la piste 1 de chaque face protégée, le loading s'effectuait de la même façon, run"disc", et puis à un moment peu après il a y a le fameux test, et si juste après on éjectait le disc pour y insérer une copie d'un jeu de la même protection, il se chargeait.
plus simple, sans être un programmeur, en traffiquant un listing de vie infinies pour un jeu de cette protection on obtenait un prog capable de tous les lancer, même si la piste1 n'était pas en taille 6.
...passons aux protections logiques !
C'était quoi le must de la protection logique sur CPC ?
A part les boucles à répétition, souvent au registre R, j'ai du mal à me souvenir d'autres astuces...à part peut-être un test noyé au milieu du jeu (et pas au début), à part le positionnement du code à un endroit qui ne permet pas de retourner au Basic sans planter, à part un jeu qui prend toute la place pour ne plus en laisser au désassembleur, à part le code Basic qui avec quelques pokes devenait illisible, l'appel au |CPM...
Et la protection d'Hercule II, c'était quoi l'astuce ? Celle de Discology devait être pas mal non plus ?
J'ai trouvé un DSK qui pourrait peut-être aider ceux qui veulent copier la protection hexagon : il s'agit du copieur protection unc unicopy de FPY et MKL daté de 1990 ; je ne sais pas ce que vaut ce programme mais si quelqu'un le veut, je peux lui en fournir une copie. IL semble intéressant dans la mesure où l'on peut copier des lecteurs A ou B vers A ou B. A plus
Pièce jointe :
HEXAGON.ZIP
Vous n’êtes pas autorisé(e) à consulter les fichiers insérés à ce message.
Il y avait aussi des jeux avec des codes ou mots de passe à entrer (Teenage mutant hero turtles II ; Bobsleigh, Night Gunner,F16 combat pilot,tt-racer de digital integration). Si vous en connaissez d'autres ?
Inscription : 28 Août 2008, 23:41 Message(s) : 258
Yopla!
Quelques précisions sur Hercule. La protection d'hercule était basée sur une série d'encodage avec registre R. Mais la facétie, c'était de laisser les interruptions actives pendant le décodage, ce qui impliquait que R était modifié par la routine d'interruption. Pour qu'une telle chose puisse fonctionner sans problème, il aurait fallu que le programme de décodage soit synchronisé parfaitement avec les interruptions (donc sur un halt). Or l'andouille qui a programmé la protection (et qui se vantait comme un malade dans son écran de présentation) devait se synchroniser derrière une attente vbl. Inutile de dire que selon la manière dont on arrivait dans la boucle, il pouvait y avoir un décalage de quelques nop fatal au décodeur. Le hic, c'est que la protection avait en outre la bonne idée d'essayer de bousiller le drive dès qu'elle supposait avoir affaire à un crack, et l'original avait donc tendance à aller propulser la tête de lecture dans des contrées lointaines...
Pour revenir sur l'expérience des protections physiques, la première que j'ai vu sur un cpc était celle faite par un ami sur son logiciel de copie (décidément) appelé udisk. Il avait écrit des données dans les gap inter-secteurs grâce au drive de l'oric qui était piloté par un contrôleur WD 1772 (Western Digital).
Enfin, en matière de protection logique, j'en connais une qui n'a pas encore été crackée sans artifice (cartouche, émulateur). Il s'agit d'une protection que j'avais écrite pour rubi et qui protège la première version diffusée de revolog. Avis aux amateurs.
Inscription : 28 Août 2008, 23:41 Message(s) : 258
Je n'ai pas craqué le nécromancien. J'ai connu le jeu, son auteur et celui de la protection bien après ma période "pirate". A cette époque, je ne trouvais plus vraiment d'intérêt. Je dois d'ailleurs avoir la disquette originale dans un coin il me semble...
Quelques précisions sur Hercule. La protection d'hercule était basée sur une série d'encodage avec registre R. Mais la facétie, c'était de laisser les interruptions actives pendant le décodage, ce qui impliquait que R était modifié par la routine d'interruption. Pour qu'une telle chose puisse fonctionner sans problème, il aurait fallu que le programme de décodage soit synchronisé parfaitement avec les interruptions (donc sur un halt).
Il est évident qu'un décodage basé sur une boucle R alors que les interruptions sont actives (EI au lieu de DI) ne fonctionnera PAS.
Ceux qui traînent dans cette partie de code de la protection d'Hercule sont un peu comme dans les passages de la pyramide de Cheops menant les violeurs de pyramide dans de fausses pistes à l'écart de la chambre du roi...
N'y a-t-il donc vraiment personne pour nous dire quelle était la protection d'Hercule ?!
Inscription : 20 Août 2007, 18:21 Message(s) : 4992
rooh j'ignorer qu'il y avait des poètes sur le forum tu veux s'avoir quoi de plus ? longshot vient de t'expliquer que le code ce décrypter en tenant compte du registre "R" ..
Inscription : 28 Août 2008, 23:41 Message(s) : 258
Bien sûr que ça fonctionne. Mais faut faire ça proprement, ce que n'avait pas fait l'auteur de la protection hercule. Je t'expliquais simplement que l'original de hercule fonctionnait 1 fois sur 3. Vu que la protection tentait de bousiller le drive, ça rendait le déplombage obligatoire. Dans la version déplombée, j'avais laissé le message d'origine : http://logon.system.free.fr/html/downloadlogon.htm disque I1A
longshot vient de t'expliquer que le code se décryptait en tenant compte du registre "R" ..
Longshot a écrit :
Je t'expliquais simplement que l'original de hercule fonctionnait 1 fois sur 3.
Nan, nan, l'original d'Hercule que j'ai ne fonctionne pas qu'une 1 fois sur 3, mais bien 3 fois sur 3.
Et sa protection ne peut pas reposer sur le registre "R", car il y a un EI au début de la boucle, 'EI' pour 'Enable Interruptions', ce qui active les interruptions de scrutation clavier etc qui n'ont jamais la même durée, donc avec cette hypothèse la protection n'aurait jamais marché.
Et puis il serait naif de croire qu'Hercule soit protégé par une banale boucle au registre R...les programmeurs d'Hercule et Discology ont dû se pallucher des centaines de déplombages pour que leurs copieurs copient tout, donc leurs protections doivent forcément planer un cran au dessus, et c'est bien pour cela que je m'y intéresse (et sur la protection de Discology, personne non plus ? Dommage que je n'ai pas d'original ! )
Inscription : 28 Août 2008, 23:41 Message(s) : 258
Citer :
Et sa protection ne peut pas reposer sur le registre "R", car il y a un EI au début de la boucle, 'EI' pour 'Enable Interruptions', ce qui active les interruptions de scrutation clavier etc qui n'ont jamais la même durée, donc avec cette hypothèse la protection n'aurait jamais marché
Rhalala ces jeunes! Le monsieur te dit qu'on peut faire une protection registre R avec un EI! Tu serais pas un peu têtu ?
La preuve par l'exemple. Admettons que tu as une routine d'interruption en #38 (mode IM1) PUSH HL ; R+1 LD HL,#CACA ; R+1 POP HL ; R+1 EI ; R+1 RET ; R+1
Le code ci-dessus s'exécute à chaque fois qu'une interruption se produit. Donc de manière très précise tous les 52 x 64 nop si on ne bidouille pas le gate array ou le crtc. Si ton code est synchronisé avec les interruptions, à chaque fois qu'une d'elle se produit, R est incrémenté du nombre d'opcode utiles de la routine d'interruption (+5) + l'appel je pense (+1 à confirmer) car l'interruption doit représenter un CALL pour R.
Donc si tu as du code de décryptage, genre LD B,NBOCTETCRYPTE XOR A LD R,A >> Après cette instruction R vaut 0 JEDECODECOMMEUNOUF: LD A,R >> Après cette instruction A et R valent 2 car LD A,R occupe 2 opcode instruction XOR (HL) >>> Ici A vaut 2 pour le Xor mais R vaut 3 après l'instruction INC HL DJNZ JEDECODECOMMEUNOUF
Maintenant si une interruption tombe entre LD A,R et XOR(HL), par exemple, A vaudra bien 2 pour la 1ère occurrence, mais R sera passé à 9 (3+6) après le XOR (HL) .
Les interruptions sur CPC ne se produisent pas aléatoirement, Mr Babar.
Quant au fait que la protection ne fonctionnait pas tout le temps, je persiste à l'affirmer car je l'ai vu de mes yeux. Par contre, c'était peut-être pas lié aux interruptions (quoi que en ayant vu le code, j'ai un sérieux doute sur la méthode de synchro) mais à la fiabilité de lecture de la protection physique... Le mieux pour le savoir est de transférer l'original et de l'exécuter sous Winape.
En gros pour la synchronisation (car je sens poindre la question...), si tu fais un : XOR A HALT LD R,A
Ton R sera "synchronisé"
Maintenant si tu fais un LD B,#F5 JATTENDCOMMEUNOUF: IN A,(C) RRA JR NC, JATTENDCOMMEUNOUF XOR A LD R,A Tu as de fortes chances que ta synchronisation soit pourrie lorsque la prochaine interruption va tomber, puisque tu as un "delta d'instructions" qui depend de l'instruction pendant laquelle se déclenche la vbl et quand la prochaine interruption va pouvoir intervenir
Pour le Nécromancien version disk, il faudrait demander à notre ami RAM7, c'est lui qui a cassé cette protection lors d'un meeting il y a déjà pas mal de temps (un Croco Chanel, si je me souviens bien... ). Je n'ai jamais eu un original entre les mains assez longtemps pour pouvoir étudier la question . En tout cas, il me semble bien que tout était gentiment codé avec des checksums un peu partout. Je suppose que la protection physique, incopiable, devait être testée régulièrement .
Concernant Hercule, je n'ai que la version II en original, et sa protection (Latis) est cassable sans trop de mal. Le fanzine Crazy Croc a même diffusé un listing permettant de décoder cette fameuse protection. Bref, faut pas croire que les éditeurs de logiciels de copie se cassaient plus le ... que les autres pour pondre des protections extrêmes.
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 34 invité(s)
Vous ne pouvez pas publier de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas insérer de pièces jointes dans ce forum