Ibi Hors ligne Membre Niveau: Elite
Points: 643
Défis: 115 Email | Message
Posté le 05/05/2009 12:47
Joli buffer overflow:
Petite astuce permettant d'exploiter la faille des matrices pour écrire en mémoire executable.
Ce code permet d'afficher un défilement très fluides de sprites animés. Il est prévu pour fonctionner sur une Graph 35+ resetée. Si ce n'est pas le cas, supprimez d'abord toutes les matrices existantes dans le menu memory.
Vous êtes prets ?
Attention, le script est une boucle infinie donc le seul moyen de l'arrêter est un reset de la machine.
C'est parti !
Allez dans menu Matrices placer vous ensuite sur la matrice A et tapez :
[5][6][EXE][EXIT][EXIT]
allez ensuite dans le menu Programmes et créez un nouveau programme.
donnez lui le nom de votre choix et rentrez simplement ce code :
Fill(123456789,Mat A
puis quittez l'editeur et lancez le programme.
Joli, non ?
Totoyo Hors ligne Super admin Niveau: Elite
Points: 7888
Défis: 66 Email | Message
Dernier message de la page précédente :Posté le 02/07/2009 13:16 |
Y a "cycle", peut vérifier que la machine tourne correctement, que le proco ou le matos n'est pas endommagé ?
Sinon, le sujet n'avance plus on dirait ???
je suis actuellement occupé à rien faire, mais là on dirait que je trouve même pas un nouvel effet marrant... Et puis ces bugs ne se contrôlent pas... Même pas moyen de décider du nombre d'affichages... La différence est que j crois que ça a un rapport avec du binaire : l'affichage des pixels pour les nombres de 1 à 11 sont les pixels allumés en binaire ( ex : 5 = 0101, ça affiche un pixel, un blanc, un pixel, un blanc)
Pour les couleurs : 1 passage fait du orange, 2 fait du bleu et 3 fait du vert.
J'espère que vous avez compris car j'ai l'impression que je m'exprime mal...
----------------------------------
^_^ b01100000
>< double-post
G25,65,85SD,CP330
Ibi Hors ligne Membre Niveau: Elite
Points: 643
Défis: 115 Email | Message
Ok ça c'est déjà une avancée.
Mais il me semble que les caractères ASCII de la machine sont codés sur 8 bits ce qui fait que comme il faut 1 bit par caractère (blanc ou noir) il 8 caractère pour faire un sprite de 8x8. Par exemple :
ABCDEFGH correspond normalement au sprite :
01000001
01000010
01000011
01000100
01000101
01000110
01000111
01001000
Et voir en piece jointe pour l'image correspondante. Après pour les couleurs j'ai pas trop compris comment on peut avoir 2 ou 3 sachant qu'un nombre en base 2 n'utilise pas ces chiffres …
----------------------------------
Ttp Hors ligne Membre Niveau: Débutant
Points: 670
Défis: 18 Email | Message
La couleur, c'est orange pour un passage de pixel, bleu pour 2 et vert pour trois :
En gros, si on a un pixel qui est sollicité par deux sprites différents on aura du bleu.
Je suis compréhensible
Sinon, les autres nombres après 11, ils n'ont plus d'ordre précis...
----------------------------------
^_^ b01100000
>< double-post
G25,65,85SD,CP330
Ibi Hors ligne Membre Niveau: Elite
Points: 643
Défis: 115 Email | Message
Ce serait bien de trouver les codes des sprites, mais en ce moment j'ai pas le temps car je suis sur un autre projet (en SDK cette fois) de jeu qui me prend la plupart de mon temps libre, quand j'en ai.
----------------------------------
^_^ b01100000
>< double-post
G25,65,85SD,CP330
Ibi Hors ligne Membre Niveau: Elite
Points: 643
Défis: 115 Email | Message
bah la ces temps ci je fais pas mal d'assembleur (sur PC) et je vais voir si je pourrias pas trouver les op-codes casio quand j'aurais le temps pour coder directement en hexa en injectant par la faille de la matrice.
----------------------------------
Ttp Hors ligne Membre Niveau: Débutant
Points: 670
Défis: 18 Email | Message
Plus j'y réfléchis, et moins je comprends. J'imagine que les OP-Codes sont les codes de programmation assembleur Casio ?
sinon, avec Mat A[99, et fill(9.999999999E99, Mat A
On a les codes de chacun des modes de la calto. Enfin, c'est compliqué à définir. Essaie.
[Appuie sur [AC] lors des "Mat List" pour continuer]
----------------------------------
^_^ b01100000
>< double-post
G25,65,85SD,CP330
Ibi Hors ligne Membre Niveau: Elite
Points: 643
Défis: 115 Email | Message
bien sympa
la j'ai trouvé a partir de l'ancienne doc. des trucs interessants.
D100: call D1A4
en langage machine ca donne
8AD1A4
ensuite tu boucle avec un jump 88
reste plus qu'a trouver l'adresse de ce que tu rentre et comment stabiliser le truc.
Au passage cette commande fait un écran bleu (orange sur les 65).
sinon Ttp, c'est quoi le nom du programme dans lequel tu as essayé ca. (Apparement le comportement du programme dépendrait aussi de son nom ...) ?
----------------------------------
Ibi Hors ligne Membre Niveau: Elite
Points: 643
Défis: 115 Email | Message
ca marche pas chez moi
par contre la calto est assez stable j'avoue.
on peut accéder a la RAM sans crash, le menu run reste en revanche innaccessible.
Il faut aller ou pour voir tes op-codes ?
sinon j'ai eu récemment un truc intéressant, la liste des caractères de la machine.
Après le bug dans le menu matrice on pouvait remonter. Au dessus de Mat A il y avait Mat @ puis toutes les autres correspondant chacune a un caractère de la table de la machine. Le problème c'est que je n'ai pas pu tous les noter mais il y en a plein de méconnus. Par exemple l'alphabet grec, les chiffres en petit, les caractères en blanc sur noir, ... cela peut-être intéressant puisqu'a un caractère correspond un code hexa (peut-être celui d'une instruction assembleur interessante).
A suivre, donc.
----------------------------------
Ttp Hors ligne Membre Niveau: Débutant
Points: 670
Défis: 18 Email | Message
Sur ma calto, à chaque fois qu'on entrait dans un menu, ça donnait un défilement d'écran. On appuyait sur [AC] et des codes bizarres apparaissaient à la place par exemple du mode Tab ou Equa. Je m'y connais pas et je ne sais pas ce que sont les OP-Codes, mais je pense que la valeur ( en fait, mon prog s'appelait N ) du fill avait rempli les codes d'affichage, du coup on avait le code d'éxécution. En fait, il y avait 14-15 9 au lieu de 10 9, c'est juste mon ordi qui a eu un bug (???) .
Sinon, j'ai pas bien compris :
D100: call D1A4
On en fait quoi ?
----------------------------------
^_^ b01100000
>< double-post
G25,65,85SD,CP330
Ibi Hors ligne Membre Niveau: Elite
Points: 643
Défis: 115 Email | Message
Planète-Casio est un site communautaire indépendant et n'est donc pas affilié à Casio | Toute reproduction de Planète-Casio, même partielle, est interdite
Les fichiers, programmes et publications postés sur Planète-Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des copyrights
Merci de respecter le travail des autres ! | CASIO est une marque déposée par CASIO Computer Co., Ltd