π
<-
Chat plein-écran
[^]

Hackstring dessinant le chat Omori-Mewo sur fx-570ES+

Hackstring dessinant le chat Omori-Mewo sur fx-570ES+

Unread postby critor » 03 Dec 2023, 17:46

18410Rentrée 2004, Casio révolutionnait les calculatrices scientifiques avec sa nouvelle gamme ES, déclinée à l'international avec les fx-82/85/350ES pour l'entrée de gamme et fx-570/991ES pour le haut de gamme. Il fallut attendre la rentrée 2007 pour une déclinaison en France avec la fx-92 Collège 2D.

Cette nouvelle génération de calculatrices scientifiques innovait en effet en se dotant d'un écran matriciel comme c'était l'usage sur les calculatrices graphiques, d'une définition de 96×31 pixels. Ce changement de technologie d'écran s'accompagnait de deux nouveautés majeures :
  • la possibilité de saisir les calculs en écriture naturelle
  • ainsi qu'un moteur de calcul QPiRac, permettant de communiquer des résultats exacts pour les deux familles de nombres suivantes :
    • QPi : multiples rationnels de π -
      $mathjax$\pm\frac{a\pi}{b}$mathjax$
      (pour les angles en radians notamment)
    • QRac : binômes de rationnels et/ou radicaux -
      $mathjax$\frac{\pm a\sqrt{b} \pm c\sqrt{d}}{f}$mathjax$
      (ce qui couvre un large ensemble allant des fractions du collège aux racines de polynômes du 2nd degré au lycée en passant par nombre de valeurs remarquables en trigonométrie)

96 pixels en largeur donc, cela nous disait quelque chose... c'est ce que nous avions sur les calculatrices graphiques monochromes de Texas Instruments à l'époque, à savoir les TI-82/83/84 avec 96×64 pixels, toujours utilisé aujourd'hui sur la TI-82 Advanced monochrome. C'est-à-dire que l'écran fx-92 Collège 2D correspondait à un demi-écran TI-82/83/84.

Et Casio est loin de s'être arrêté là, attisant de plus en plus nos rêves :
  • génération ES+ pour la rentrée 2008, avec la fx-92 Collège 2D+ en France
  • génération EX Classwiz pour la rentrée 2014, avec en France la fx-92 Spéciale Collège à la rentrée 2015 et fx-92+ Spéciale Collège à la rentrée 2018, quadruplant la définition de l'écran à 192×63 pixels, désormais très supérieur à ce que les calculatrices graphiques monochromes offraient de meilleur, à savoir les 128×64 pixels des Casio Graph 25/35/75/85/95
  • génération CW Classwiz pour la rentrée 2022, avec en France la fx-92 Collège Classwiz de rentrée 2023, passant l'écran en 4 niveaux de gris
Du côté des utilisateurs passionnés de calculatrices, on se prenait en effet déjà dès 2004 à rêver à de grandes choses avec ce fort bel écran... Et si on pouvait exécuter du code afin de faire afficher ce que l'on voulait sur l'écran, notamment des dessins ou même des jeux, comme on pouvait déjà le faire sur calculatrices graphiques justement ?

Certes, depuis la fx-92+ Spéciale Collège de rentrée 2018, Casio nous offre enfin des calculatrices scientifiques programmables, dans un langage orienté tracers à la Scratch/Logo/Turtle. En France nous pouvons donc enfin exploiter les formidables capacités de l'écran, et contrôler l'allumage de ses pixels.

Deux petits bémols toutefois :
  • ces possibilités ne concernent que les modèles fx-92 qui ne sont distribués qu'en France et en Belgique, plus précisément :
    • la France depuis la fx-92+ Spéciale Collège de rentrée 2018
    • la Belgique depuis la fx-92 Secondaire de rentrée 2023
    dans tout le reste du monde, les calculatrices Casio scientifiques restent non programmables
  • de plus, concernant les derniers modèles CW Classwiz fx-92 Collège Classwiz et fx-92 Secondaire de rentrée 2023, malheureusement les programmes que tu saisis n'ont aucun contrôle sur les niveaux de gris des pixels, ne permettant que de les allumer en noir

18411Donc comment fait-on pour programmer en mémoire des données et/ou du code sur les modèles non programmables ?

Une possibilité est d'utiliser une des failles du logiciel Casio pour nous permettre ensuite d'écrire des données ou du code en mémoire.

Une méthode est de corrompre le moteur de saisie en écriture naturelle, afin d'obtenir une ligne avec une boîte vide tout seule. En théorie la boîte vide seule est impossible à obtenir, car elle est toujours lié à un opérateur faisant occuper plus d'une ligne de saisie (quotient de fraction, puissance, racine carrée, ...).

Les étapes connues à ce jour permettant cela nécessitent d'enchaîner 2 calculs, le premier déclenchant la corruption et le deuxième permettant de récupérer la boîte vide. Sauf que l'on ne peut pas taper les calculs l'un après l'autre, car la saisie intermédiaire changerait justement l'état de la machine obtenu suite au premier calcul. Il faut donc saisir les 2 calculs sur la même ligne, grâce à l'opérateur : présent sur toutes les machines de générations ES et CW Classwiz.

Tu vas vite voir, rappelons la façon de faire sur les calculatrices de génération EX Classwiz dont la fx-92 Spéciale Collège :
  1. Reproduis exactement la saisie suivante :
    Image Image
  2. Tape
    CALC
    pour évaluer le premier calcul (avant les deux points).
    Si tu as tout saisi correctement, signe de la corruption, la calculatrice va passer en écriture ligne :
    Image
  3. Tape
    EXE
    pour évaluer maintenant le deuxième calcul (après les deux points).
    Tu obtiens une erreur de syntaxe à cause de la boîte vide dans la racine :
    Image
  4. Tape
    pour éditer la saisie.
    La calculatrice nous rappelle la saisie mais toujours en écriture ligne, avec, anomalie, le caractère boîte vide qui ne devrait pas pouvoir être saisi dans ce mode d'affichage :
    Image
  5. Et voilà, en navigant avec les touches
    et
    , il te te reste maintenant plus qu'à supprimer avec la touche
    SUPPR
    les caractères présents avant et après la boîte vide :
    Image Image Image

Et voilà, maintenant avec une saisie dans cette boîte vide tu peux déclencher des écritures de données ou code en mémoire. Ces saisies pour boîte vide sont appelées hackstrings dans la communauté Casio anglophone.

Pour concevoir une hackstring, il est nécessaire de connaître les codes hexadécimaux des différents caractères ou jetons (tout élément insécable) de la calculatrice, que nous t'avons justement documentés.
Attention, précisons que cette faille a été corrigée sur les modèles de dernière génération CW Classwiz, dont les fx-92 Collège Classwiz et fx-92 Secondaire.

En effet, Casio a tout simplement supprimé la possibilité de juxtaposer plusieurs calcul dans une même saisie. Le caractère : est toujours présent au clavier, notamment pour l'application tableur, mais ne peut plus être saisi dans l'application de calcul.

En pratique toutefois, les formidables possibilités ouvertes par la boîte vide que nous te documentions dès la rentrée 2018, n'ont pas donné grand chose jusqu'à ce jour.

Il faut dire que les contraintes ne sont pas rares :
  • Casio utilisant un logiciel différent pour chacun des très nombreux modèles de calculatrices scientifiques à chaque génération, une publication de saisie pour la boîte vide ciblerait un modèle bien précis, et devrait donc être adaptée pour d'autres modèles
  • d'autre part, il y a une grosse difficulté hexadécimale ; n'avons que 108 jetons pouvant être saisis dans la boîte vide documentées pour les fx-92 Spéciale Collège, et nombre d'entre eux occupent 2 octets, ce qui est bien trop peu pour avoir la possibilité d'injecter librement en mémoire des octets pouvant nécessiter jusqu'à 256 valeurs différentes
Pour cette dernière raison, les publications de hackstrings pour boîte vide ont jusqu'à présent ciblé les modèles haut de gamme fx-570/991, ayant l'avantage de bénéficier d'une bibliothèque de constantes physiques ainsi que d'un convertisseur d'unités, et donc en pratique de bien davantage de jetons différents permettant d'augmenter très significativement le nombre de valeurs différentes d'octets pouvant être injectés en mémoire.

18413Dark Cat vient de sortir ce qui est à notre connaissance enfin la toute première hackstring que nous pourrions qualifier d'intéressante pour les utilisateurs, faisant en effet afficher un dessin.

La hackstring cible ici le modèle fx-570ES+ (même génération que les fx-92 Collège 2D+), un modèle haut de gamme donc disposant du plus large éventail de jetons, et justement dépourvu de toute capacité de programmation.

La hackstring nécessite de taper une séquence bien précise de touches pendant un bon quart d'heure, injectant donc octets de données et de code en mémoire, déclenchant à la toute fin l'affichage d'un écran avec plusieurs Mewo, l'un des chats apparaissant dans le jeu Omori. Voici le tout en vidéo :

On peut remarquer en passant que le tracé du dessin via du code en langage machine est quasiment instantané, sans commune mesure donc avec le langage de programmation des dernières fx-92 Collège.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 40.7%
 
Posts: 41413
Images: 14204
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Hackstring dessinant le chat Omori-Mewo sur fx-570ES+

Unread postby DoOmnimaga » 03 Dec 2023, 19:23

Intéressant! C'est à se demander quel genre de jeu serait possible en langage natif sur cette petite machine. Bien souvent avec un écran monochrome la vitesse d'exécution n'est pas un énorme problème sauf avec les clones chinois de Casios.
Dream of Omnimaga
ImageImageImageImage
User avatar
DoOmnimagaPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 5.9%
 
Posts: 676
Images: 25
Joined: 21 Feb 2012, 12:04
Location: Quebec, Canada
Gender: Male
Calculator(s):
MyCalcs profile
Class: 11eme annee scolaire termine
YouTube: DJOmnimaga
Twitter: DJOmnimaga
Facebook: djomnimaga

Re: Hackstring dessinant le chat Omori-Mewo sur fx-570ES+

Unread postby SlyVTT » 03 Dec 2023, 21:23

C'est un super exploit, mais faut quand même être vachement motivé pour le refaire à la maison sur sa machine :troll:
Some works in progress :
The GUI Toolkit NF for nSpireMyShmup for fxCG-50Magic Light for Casio Graph 90+E
and
Magic Light for nSpire CX/CX-II
Simple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
50%
100%
75%
100%
And more to come ... stay tuned
User avatar
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 42.3%
 
Posts: 473
Images: 31
Joined: 19 Jan 2021, 09:41
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
GitHub: SlyVTT

Re: Hackstring dessinant le chat Omori-Mewo sur fx-570ES+

Unread postby DoOmnimaga » 03 Dec 2023, 21:45

En éffet. Ça me rappelle quand j'avais créé un jeu sur TI-81 et aussi quand j'avais tapé l'hexadécimal d'un prog ASM sur TI-83 Plus Silver Edition à la main car je n'avais pas accès à un PC qui faisait tourner les logiciels de connectivité à ce moment là. Ça prend de la patience et beaucoup d'attention afin de ne pas faire de faute de frappe.
Dream of Omnimaga
ImageImageImageImage
User avatar
DoOmnimagaPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 5.9%
 
Posts: 676
Images: 25
Joined: 21 Feb 2012, 12:04
Location: Quebec, Canada
Gender: Male
Calculator(s):
MyCalcs profile
Class: 11eme annee scolaire termine
YouTube: DJOmnimaga
Twitter: DJOmnimaga
Facebook: djomnimaga


Return to News Casio

Who is online

Users browsing this forum: No registered users and 17 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1426 utilisateurs:
>1407 invités
>14 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)