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

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

Auteur :  poulette73 [ 16 Mai 2023, 12:56 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Très intéressant, merci pour le partage. :)

Auteur :  markerror [ 16 Mai 2023, 19:13 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Bonsoir,

La technique en question était utilisée sur les Speedlock '88 (Platoon, etc... ). Pas de ùCPM il me semble, mais il fallait sortir la disquette dès que l'écran devenait noir. La technique n'était pas à 100% fiable, mais cela fonctionnait.
Elle a été rendue inutile par la sortie de la version 2 de Nolock.

Auteur :  CiPiCi [ 11 Août 2023, 11:27 ]
Sujet du message :  Re: Protections sur Amstrad CPC

Perso, j'ai toujours utilisé la même méthode pour cracker mes jeux "The Bank Switching"

C'est-à-dire que je recopiais toute la mémoire de &0000 à &c000 sur les seconds 64k et je switchais tout la ram (les 64k supplémentaires remplaçant les 64k de base)

Après je lançais le loader et à la fin du déchiffrage (avec la technique du registre R en général) ça remettait le CPC à zéro avec &bcce pour activer AMSDOS. Sauf qu'au reset du CPC il y a un out &7f00,&c0 et le CPC revenait au Basic et les 64k supplémentaires contenaient donc maintenant le loader décodé :mdr:

Pour les fameux secteurs de taille 6, ce n’était pas dur. À la fin de l'écriture du secteur, il fallait juste couper le moteur. Je me faisais des compiles sur des 3" de 240 kos par face le luxe.

Ça c'est ma routine pour recopier les premiers 64k vers les supplémentaires et lancer le loader.

Code :
   ORG &8000

;;
   DI
   JP &0000
;;
   DI
   LD HL,&0000
   LD C,&C4
   CALL MOVE
   LD HL,&8000
   LD C,&C6
   CALL MOVE
   LD C,&C7
   CALL MOVE
   LD BC,&7FC0
   OUT (C),C
   LD HL,0
   LD (HL),H
   LD DE,11
   LD BC,&7FFF
   LDIR
   LD HL,&8100
   LD (HL),L
   LD DE,&8101
   LD BC,&7EFF
   LDIR
   LD BC,&7FC2
   OUT (C),C
;;
   JP &XXXX ;; adresse du loader en mémoire
;;
MOVE
   LD B,&7F
   OUT (C),C
   LD DE,&4000
MOVE2
   LDI
   LDI
   LDI
   LDI
   LDI
   LDI
   LDI
   LDI
   BIT 7,D ;; DE=&8000
   JR Z,MOVE2
   RET

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