Protection des jeux Thomson

Des MO et des TO...

Modérateur : Politburo

Daniel

Re: copie legale

Message par Daniel »

jvernet a écrit :Peut être est il un peu trop plombé, il n'arrive à s'executer lui même :lol:
C'est plus fort que lui : dès qu'il voit une discussion Thomson qui part sur de bonnes bases, l'animal ne peut pas s'empêcher de venir y mettre une petite provocation pour la faire dégénérer. J'ai bien étudié sa tactique dans ce forum et dans d'autres, et je peux vous dire qu'il a peu d'imagination car il ne se renouvelle guère !

Revenons à nos moutons :wink: : Le bloc FF : un cheval de Troie !

Les fichiers cassette sont terminés par un bloc de fin de fichier (voir http://dcmo5.free.fr ).
Ce bloc a normalement une longueur 2, et contient le type de bloc (FF) et la checksum (00).
Rien n'interdit de créer un bloc FF plus long, dans la limite des 256 octets autorisés.
Il joue toujours son rôle d'indicateur de fin de fichier, mais peut contenir jusqu'à 254 octets de code. A la lecture, il est stocké dans le buffer de lecture du magnétophone, qui se trouve à une adresse fixe. Il suffit alors de se brancher à cette adresse pour lancer le programme ;)

Daniel
Avatar du membre
jvernet
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7958
Enregistré le : 24 mai 2002 09:57
Localisation : France 69
Contact :

Message par jvernet »

Trop fort ;-)

Mais est ce que celà empechait la bête recopie audio des K7 ? Ou n'est ce que pour empecher l'accès au code des softs ?

Jerome
"l'ordinateur et l'homme sont les deux opposés les plus intégraux qui existent. L'homme est lent, peu rigoureux et très intuitif. L'ordinateur est super rapide, très rigoureux et complètement con."
Daniel

Message par Daniel »

jvernet a écrit :Mais est ce que celà empechait la bête recopie audio des K7 ? Ou n'est ce que pour empecher l'accès au code des softs ?
Il n'y a aucun moyen d'empêcher la copie audio (vraiment aucun, c'est sûr et certain). Elle est cependant limitée, car après la deuxième ou troisième copie la cassette n'est plus lisible, surtout avec les blocs Infogrames, comme on le verra plus tard.
Mais je sais par expérience que la motivation de ceux qui cherchent à comprendre les protections n'est pas la copie. Personne ne passerait huit jours à chercher, alors qu'il peut copier la cassette en cinq minutes sur sa chaîne HiFi. Moi-même j'ai horreur des jeux video, je n'y ai jamais joué, et dès que la protection était trouvée c'était "Game Over" pour moi :wink:
Pour empêcher l'accès au code, le procédé du bloc FF n'est pas suffisant, j'en parlerai dans un prochain épisode.

Daniel
Daniel

Message par Daniel »

Daniel a écrit :Pour une cassette MO5-MO6, il faut d'abord la transformer en fichier disquette avec dck72dsk.exe téléchargeable à http://dcmo5.free.fr . Pour une cassette TO7-TO8-TO9 il y aura bientôt un programme identique sur le site de mon nouvel émulateur DCTO7
Il y est maintenant, http://dcto7.free.fr rubrique utilitaires.
J'ai mis aussi mes utilitaires de transfert de disquettes Thomson vers PC et PC vers Thomson (dcfdutil), ainsi que dcprobas pour la protection ou la déprotection des programmes Basic.

Daniel
Avatar du membre
foolduplex
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 628
Enregistré le : 02 oct. 2002 23:06
Localisation : Lausanne, Suisse
Contact :

Message par foolduplex »

Daniel a écrit :Il n'y a aucun moyen d'empêcher la copie audio (vraiment aucun, c'est sûr et certain).
Et pourtant Sylvain Huet a pose cet interessant probleme sur la liste thomsoniste. "Les classiques" de Titus semblent poser probleme lors d'une bete copie audio: le scrolling sur la page d'intro ne bouge pas et le jeu refuse de demarrer (sur to). Le truc interessant de l'histoire c'est que l'image que Sylvain a produit avec son utilitaire sur pc provoque exactement le meme resultat. As-tu une idee?

Fool
Daniel

Message par Daniel »

foolduplex a écrit :Et pourtant Sylvain Huet a pose cet interessant probleme sur la liste thomsoniste. "Les classiques" de Titus semblent poser probleme lors d'une bete copie audio: le scrolling sur la page d'intro ne bouge pas et le jeu refuse de demarrer (sur to). Le truc interessant de l'histoire c'est que l'image que Sylvain a produit avec son utilitaire sur pc provoque exactement le meme resultat. As-tu une idee?
Si Sylvain le dit, je vais être très prudent avant de le contredire, mais ça m'étonne quand même :wink:
La première tentative pour faire tourner les Titus Classics dans DCMO5 s'est aussi soldée par des drapeaux fixes sur l'écran de présentation, mais c'est parce qu'ils utilisent les signaux de synchronisation ligne qui n'étaient pas émulés. Après les avoir programmés il n'y a plus eu de problème.
Je suppose tout simplement qu'on ne parle pas de la même chose. C'est le fameux problème d'incompréhension entre les TO et les MO :wink:
Sylvain doit parler des cassettes TO7/70, qu'il est peut-être plus difficile de copier en audio dans certains cas (mais est-ce une protection, je n'en suis pas sûr). Personnellement je n'affirmais celà que pour les cassettes MO. Avec un matériel de bonne qualité il n'y a aucun doute, tout est copiable, même les jeux Infogrammes enregistrés avec des fréquences plus élevées, et même les cassettes MO6 à 2400 bauds. Pour les TO il y a des fréquences nettement plus aigues (6,3 kHz) mais ça reste largement dans les possibilités du matériel HiFi. A moins que l'original soit juste limite, mais alors la copie devrait provoquer une erreur d'entrée-sortie, pas un bug dans le jeu.
Mais ce ne sont que des suppositions. Ca serait bien d'en savoir plus sur les conditions exactes de l'essai. Peut-on récupérer quelque part un fichier .wav ? Depuis que je me suis lancé dans l'émulation TO7 j'ai étudié de très près les enregistrements sur cassette, et j'ai écrit des utilitaires de transfert qui s'accommodent assez bien d'originaux un peu limite. Je pourrais les essayer sur Titus Classics. J'aimerais bien aussi que Sylvain essaye avec DCTO7, pour voir si ce n'est pas tout bêtement le problème du signal ligne. Sinon il pourra voir tout de suite où ça bloque en utilisant le debugger. Je suis prêt à parier qu'il n'émule pas les signaux nécessaires dans FunzyTO770. De même que sur ce point le TO7 et le TO7-70 sont incompatibles à cause du Gate Array. Ne restons pas sur un doute, continuons à chercher...

Daniel
Avatar du membre
foolduplex
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 628
Enregistré le : 02 oct. 2002 23:06
Localisation : Lausanne, Suisse
Contact :

Message par foolduplex »

En tout cas, les copies ne posent pas de probleme sur mo5, puisque j'ai moi-meme realise les images des classiques. Quant a l'histoire de la synchro ligne, il est exacte que lorsque j'ai repris funzyto7 pour faire mon emul5, j'ai du rajouter ca qui etait manquant. Maintenant, je ne sais pas si FunzyTo7 a evolue depuis.

Fool
Daniel

Message par Daniel »

foolduplex a écrit :Maintenant, je ne sais pas si FunzyTo7 a evolue depuis.
Il suffirait d'avoir le courage de relire les sources. Je les ai lues l'année dernière quand il est sorti, et de mémoire je pense qu'il n'émule pas ces signaux. Donc c'est normal que les drapeaux ne bougent pas.
Et sur TO7, c'est normal aussi car le programme a certainement été écrit pour TO7/70, et l'adresse du signal est différente. Mais tout celà n'est que suppositions, il reste à le vérifier. Ce dont je suis certain, c'est que Titus Classic Volume 1, Volume 2, Volume 3 et Volume 4 pour MO5 ne sont pas protégés et que les drapeaux défilent. Vous pouvez le vérifier, ils sont à http://mo5.free.fr

Daniel
Daniel

Cryptage

Message par Daniel »

Daniel a écrit :Pour empêcher l'accès au code, le procédé du bloc FF n'est pas suffisant, j'en parlerai dans un prochain épisode.
Le cryptage

Quand une cassette contient un programme de protection, au lieu de le charger et de l'exécuter, on peut aussi l'ouvrir en lecture et le lire. Et le désassembler, et le comprendre. Pour éviter celà, la bonne technique est de crypter le programme. Sur la cassette il devient incompréhensible. Au lancement du jeu, le programme crypté est chargé, puis subrepticement décrypté avant d'être lancé. Sur MO5 je n'ai rencontré que des cryptages simples. En général un simple XOR de chaque octet avec une valeur fixe, ou avec plusieurs valeurs fixes revenant cycliquement (par exemple le cryptage imaginé par Microsoft pour les programmes Basic). C'est donc facile à décrypter, et en plus les routines de cryptage et de décryptage sont identiques (le XOR est "réversible").

A suivre....

Daniel
Avatar du membre
foolduplex
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 628
Enregistré le : 02 oct. 2002 23:06
Localisation : Lausanne, Suisse
Contact :

Message par foolduplex »

Daniel a écrit :Je les ai lues l'année dernière quand il est sorti
:?: FunzyTO7 existe depuis 1995 au bas mot, puisque j'ai fait Emul5 cette annee-la.

Fool
Daniel

Message par Daniel »

foolduplex a écrit :
Daniel a écrit :Je les ai lues l'année dernière quand il est sorti
:?: FunzyTO7 existe depuis 1995 au bas mot, puisque j'ai fait Emul5 cette annee-la.
Autant pour moi, je parlais de la version Windows (octobre 2002 si mes souvenirs sont exacts).
Je me souviens bien de la sortie de FunzyTO7 dans les années 95 ou 96, j'avais fait des tests à l'époque pour comparer ses performances à MO5 de Rémi Coulom (ne pas confondre avec MarcelO5 de Gilles Fétis).
Un an après la sortie de FunzyTO7, il y a eu FunzyMO5 d'Olivier Tardieu. C'était le concurrent direct d'Emul5, mais tu l'as vite dépassé car il n'a jamais évolué.

Je n'ai pas tous les éléments, mais en essayant de reconstituer l'histoire je crois qu'il y a eu 4 créateurs d'émulateurs Thomson originaux et indépendants : Rémi Coulom (1992), Sylvain Huet (1995 ou 1996), Gilles Fétis (je ne sais pas la date), et un espagnol dont j'ai oublié le nom (peut-être Jesus ?). Leur successeurs, dont nous faisons partie parmi beaucoup d'autres (Olivier, Richard B., Eric, JP, Tarek, et maintenant Jacques) ont le très grand mérite de les avoir fait progresser mais ne sont pas les véritables inventeurs.

Daniel
Avatar du membre
foolduplex
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 628
Enregistré le : 02 oct. 2002 23:06
Localisation : Lausanne, Suisse
Contact :

Message par foolduplex »

Daniel a écrit :... de les avoir fait progresser mais ne sont pas les véritables inventeurs.
Tout a fait exact. J'ai fait beaucoup de modifs a funzyto7 pour faire emul5, mais le seul element dont je revendique reellement la paternite est l'emulation du nanoreseau (inacheve du reste, par manque de temps et de doc). Je crois que je suis reste longtemps invaincu sur ce plan :lol: :wink:

Fool
Daniel

Message par Daniel »

foolduplex a écrit :Je crois que je suis reste longtemps invaincu sur ce plan :lol: :wink:
Méfie-toi :wink: j'ai un peu utilisé le nano-réseau de JP sur internet, et c'était pas mal non plus :lol:

Daniel
Daniel

Re: Cryptage

Message par Daniel »

Daniel a écrit :A suivre....
Le cryptage (suite)

Ceux qui ont bien suivi vont m'objecter que si je crypte mon programme, il faut bien avoir quelque part un décrypteur pour le décrypter. Je peux aussi crypter le décrypteur (certains le font !), mais en bout de chaîne il y aura toujours un programme non crypté qu'on pourra analyser et comprendre. C'est là qu'interviennent les fameux codes opérations invalides. Si je truffe mon décrypteur de code opérations invalides, il devient incompréhensible pour le non initié. William Hennebois utilisait le code opération invalide 01, que tout le monde (ou presque) connait. Il fait un BRN. Mais si je vous plante de ci de là quelques 1041, ou 52, ou 61, ou autres, même le génial concepteur du 6809 ne saura pas ce que ça fait, ni même de combien d'octets progresse le compteur ordinal. Je me demande même si on ne pourrait pas écrire un programme ne contenant que des instructions invalides. Ce serait fun d'essayer...

Daniel
Daniel

Les blocs non standard

Message par Daniel »

La protection par blocs non standard :

Le système MO5 reconnait plusieurs types de fichiers logiques : Basic (compacté ou texte ASCII, crypté ou non crypté), Contenu mémoire (par exemple les programmes en langage machine), Données... On peut aussi inventer de nouveaux types, mais ça ne présente pas d'intérêt particulier pour la protection. Pour être stockés sur cassette, ces fichiers logiques sont découpés en blocs physiques (cf FAQ http://dcmo5.free.fr ). Dans chaque bloc il y a une entête de bloc (16 octets 01), un identificateur de début de bloc (3C5A), le type du bloc (1 octet), la longueur du bloc (1 octet), les données, la checksum (1 octet). Les routines du moniteur MO5 ne savent lire que ce type de bloc. Il y a donc un moyen simple pour protéger un fichier cassette : utiliser une structure de bloc différente, non lisible par les routines standard, mais lisible par un petit programme appelé "loader". Le loader peut-être caché dans un bloc FF et chargé en mémoire video pour passer inaperçu. C'est lui qui va charger le programme stocké dans les blocs non standard. Infogrames a inventé plusieurs types de blocs non standard, nous les détaillerons plus tard...

Daniel
Répondre

Retourner vers « Thomson »