Nº169 (5/2004)
Download :
|
Pitié avec les commentaires ! Non le mag d'avril n'était pas truffé de canulars ! Pour plus d'info, rendez-vous en page 3. Vous avez sans doute remarqué l'épaisseur de ce mag de mai. Ceci est dû à la présence, en supplément détachable, de la version française du fameux “Service Manual†déniché par Steve Marshal et traduit par Romuald Liné. Pour plus d'info, voir en page 16. Enfin, ne loupez pas la prochaine Visu qui se tiendra à l'endroit habituel le 5 juin. Dino vous donne plus d'info, en page 12. A. |
|
VISU le Samedi 5 Juin, de 14 à 18 H, au 1er étage du 17 rue des Petits Hôtels, Paris 10e (M° Gare de l'Est ou Gare du Nord). Enfin, voici le Service Manual en Version Française ! Tout sur le Module 65816 de Fabrice Francès ! Simon donne une suite à ses Répertoires Sedoric. Un Parchemin de l'Antiquité sur le Déplombage !
|
|
|
|
|
|
sommaire
|
Adresses CEO / Sommaire / Editorial |
|
Page 2 |
Courrier Oricien |
|
Page 3-6 |
Petites Annonces / Bonnes Adresses |
|
Page 6 |
Un 16 soupapes dans votre Oric (Bis) |
|
Page 7-10 |
Atelier Super-Oric : Cartouches Snes |
|
Page 11 |
Répertoires Sedoric (suite) |
|
Page 12 |
Dino fait 'Le Chat' : Visu Oric / CEO meet |
|
Page 12 |
Hist'Oric : Super-Oric |
|
Page 13-14 |
Atelier : Cmos & Compatibilité Microdisc |
|
Page 15-16 |
Service Manual / Manuel Technique |
|
Page 16 |
Is Oric Basic Microsoft Signed? |
|
Page 17 |
List of Bugs in Oric |
|
Page 18-19 |
Parchemin de l'Antiquité sur le déplombage |
|
Page 20 |
Banc d'Essai : MazezaM |
|
Page 21 |
Divertissements Mathématiques et Logiques |
|
Page 22 |
Paint Function for Oric |
|
Page 23 |
Les Calembours de Schizo Dino |
|
Page 23 |
Réponses (40) : Sujets n°112 & 113 |
|
Page 24-25 |
Shoot Again (59) : Damsel In Distress |
|
Page 26-27 |
Nostalgie : Mint Boxed Oric-1 & large games collection |
|
Page 28 |
Des Trucs pour Tricher (16) : Encounter Adventure (2) |
|
Page 29-30 |
2004 CEO Subscription Form - Back Issue Order Form |
|
Page 31 |
Manuel Technique (pages marquées de 1 Ã 34) |
|
Page 32-66 |
|
Parchemin de l'antiquité sur le déplombage
par Grégory Guazzelli
Bonjour, Je vous communique, volontairement «mot à mot», le texte d'une vieille correspondance manuscrite... (cela fait très parchemin exhumé...)
«DEPLOMBAGE : LA METHODE POKE
Introduction : La méthode Poke permet le déplombage de tout programme Basic. Dans certains logiciels, le programme Basic est précédé d'un petit programme en langage machine. Dans ce cas il faut ignorer le programme en langage machine et ne s'occuper que du programme Basic. Il est fréquent que le programme assembleur qui précède le programme Basic n'ai d'autre fonction que le plombage et la présentation de l'écran durant le chargement. Dans le cas contraire, il faut faire appel à un logiciel type «Déprotector» pour copier le programme assembleur.
La méthode Poke : Personne n'ignore plus que tout programme en Basic sur Atmos commence à l'adresse 0501 (en hexadécimal) soit 1281 (en décimal). Ce qui est moins connu, c'est que la valeur 00 sert de séparateur entre les différentes instructions reconnues par l'interpréteur de l'Atmos. Le plus intéressant dans tout cela est que le programme Basic ne peut se lancer que si la case mémoire 0500 (en hexadécimal) soit 1280 (en décimal) contient la valeur 00. Nous allons donc utiliser cette particularité pour bloquer le lancement automatique du programme en modifiant le contenu de la case mémoire 1280.
Marche à suivre :
1) Mettre la valeur 01 dans la case mémoire 1280 par l'instruction : POKE 1280,1
2) Charger le programme. CLOAD «»
3) A l'issue du chargement du programme, la machine «se plante» au moment du démarrage automatique et elle affiche : SYNTAX ERROR
4) A ce moment le joyeux pirate prend la main et ordonne ses instructions favorites : LIST et CSAVE...
5) Après ces opérations, avant de lancer le programme, ne pas oublier de remettre la valeur 00 dans la case mémoire 1280 en tapant : POKE 1280,0
6) Et puis go : RUN
PROTECTION GÉNÉRALE DES INTERRUPTIONS
Dès que l'ordinateur détecte une interruption, il affiche «Ready». On peut utiliser cette particularité pour protéger les programmes en détournant le sous-programme d'affichage du «Ready» vers une autre routine.
Fonctionnement normal du «Ready» :
Adresse Héxa Valeur Héxa Instruction code Explication
1A 4C JMP GOTO
1B B0 Adresse )
1C CC Adresse ) Adresse = Hexadécimale CCB0
Ceci donne en Assembleur l'instruction : 4C B0 CC qui signifie GOTO CCB0. A l'adresse CCB0 se trouve la routine d'affichage de «Ready». En remplaçant CCB0 par une autre adresse, on dévie le programme de son cheminement normal. Exemple : En remplaçant CCB0 par F88F (DOKE #1B,#F88F), l'Atmos fait une réinitialisation totale de la machine au lieu d'afficher le «Ready». C'est le principe utilisé par Loriciels.
Comment détourner cette protection ? En remplaçant le JMP de l'adresse 1A par un RTS (équivalent de RETURN en Basic). Ainsi au lieu d'effectuer le saut à l'adresse indiquée par les octets 1B et 1C, le programme continue normalement ce qui revient à donner la main à l'utilisateur en cas d'interruption (un BREAK).
EN CONCLUSION
Il faut savoir qu'a toute protection correspond une parade, surtout en ce qui concerne les programmes en BASIC. Sur ce, je termine cette petite conférence, espérant avoir été suffisamment clair. Les explications de l'assembleur sont assez rébarbatives mais toute la puissance de programmation s'y trouve et pour faire du bon travail il faut chercher les solutions de ce langage. Si tu as d'autres questions ou si tu veux des précisions supplémentaires, n'hésite pas, je te répondrai toujours avec plaisir. Attention : As tu lu Hebdogiciel N°123 ? «Trois pirates de logiciel en taule !». Les lois sur la protection du logiciel ont été durcies, il faut devenir prudent et surtout éviter des annonces en clair sur les ventes ou échanges de programmes piratés. En attendant tes prochaines nouvelles, reçois mes amitiés.
Monsieur X »
Voila, le parchemin est à nouveau au musée des archives....
Grégory, adepte du POKE 26,96: POKE 1280,1 depuis...
|
|
|
|
|
BROWSE
NUMEROS
[176] - [175] - [174] - [173] - [171] - [170] - [169] - [168] - [167] - [166] - [165]
YEAR
2013 - 2012 - 2011 - 2010 - 2009 - 2008 - 2007 - 2006 - 2005 - 2004 - 2003 - 2002 - 2001 - 2000 - 1999 - 1998 - 1997 - 1996 - 1995 - 1994 - 1993 - 1992 - 1991 - 1990
|