π
<-

bidouillages sur TI-82A : déceler 1 faille ?

Nouveautés, projets, mises à jour.

bidouillages sur TI-82A : déceler 1 faille ?

Unread postby grosged » 16 Dec 2015, 21:10

Je ne sais pas si cela aboutira un jour à quelque chose de concret, mais bon... ça ne coute rien d'essayer ;)
Alors voilà, j'aimerais que l'on partage nos recherches/trouvailles en tout genre au sujet de la TI-82A
(le top serait de déboucher sur une faille, laquelle nous permettrait de lancer du code machine!..utopique?)
De mon côte, après avoir une peu cherché au niveau des tokens (voir http://www.tout82.org/t278-catalogue-et-tokenmaps#5128 )
j'ai commencé à explorer une nouvelle piste:

Au moyen de TILP et d'un éditeur hexa (wxhexeditor), J'ai trituré un peu des fichiers provenant de la TI82A pour ensuite les renvoyer, histoire de la chambouler un peu...
dans l'espoir de trouver une faille...
Voici , pour l'instant le fruit de mes recherches :

1) on sauvegarde une image en lançant un StorePic 0
2) on le transfère sur le pc
3) via un éditeur hexa, on modifie la taille des données à prendre en compte (et non la taille physique du fichier) en la réduisant à 1 octet (en offset 57, transformer F602 en 0100)
4) on réinjecte ce fichier trafiqué (entre-temps , après actualisation, TILP affiche pour l'image une longueur de 246 octets (de données exploitables)
5) toujours depuis TILP, on supprime ce fichier OU on le réinjecte encore 1 fois
6) la TI82A bascule vers ce menu:

Image

à ce stade , on peut bouger avec les flèches haut et bas , mais dès qu'on valide avec [entrer], la TI82A se fige...
Pour sortir de ce menu, on peut faire un reset en faisant [une touche] puis [alpha] (gardé enfoncé) et [la même touche]

à noter qu'il m'est parfois arrivé de déboucher ensuite sur un autre message (au lieu du reset final)
en choisissant [stats] puis [alpha] avec [stats] :

Image
le menu pour (re)charger l' O.S. , suivi quelques secondes plus tard d'un message d'erreur quand l'installation du nouvel O.S. n'a pas marché :
Image

Il m'est aussi arrivé de tomber directement sur cette 2nde partie , en faisant [trace] puis [alpha] avec [trace]

EDIT : y a du nouveau !
les 4 derniers octets du fichier image sont exécutés en tant que code machine, par la TI82A !!!
De plus, il est possible d'étendre cette zone à plus de 4 octets , simplement en modifiant en position (offset) 70 la valeur 16bits (au départ 02F6, 758 en décimal) qui correspond à la taille physique du fichier !!!!
Ainsi, en y écrivant par exemple la valeur 762 en décimal c-à-d 02FA en hexadécimal (octet de poids fort en 1er, donc FA 02) on étend la zone de 4 octets !!! (voir soulignés en marron ces 4 octets ajoutés manuellement via l'éditeur de fichier wxHexEditor)
Last edited by grosged on 18 Dec 2015, 20:58, edited 10 times in total.
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 32.2%
 
Posts: 773
Images: 92
Joined: 14 Sep 2011, 12:29
Gender: Male
Calculator(s):
MyCalcs profile

Re: bidouillages sur TI-82A : déceler 1 faille ?

Unread postby Lionel Debroux » 16 Dec 2015, 22:37

(le top serait de déboucher sur une faille, laquelle nous permettrait de lancer du code machine!..utopique?)

Pas du tout utopique: ça a déjà été fait, et publiquement annoncé, il y a plusieurs mois.
Mais il n'y a probablement pas qu'une façon de parvenir à réaliser l'ACE, et c'est donc très bien que d'autres fassent des travaux en ce sens, en plus de l'exercice d'apprentissage individuel que cela procure :)
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6875
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: bidouillages sur TI-82A : déceler 1 faille ?

Unread postby Epharius » 16 Dec 2015, 22:51

Tout ce que je sais, c'est que Brandon Wilson a trouvé une faille et a réussi à exécuter de l'assembleur sur une Ti-82a, mais qu'il avait gardé la méthode privée. Depuis, cette méthode a été révélée ? Ou quelqu'un d'autre que BW a-t-il trouvé une solution ?
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
User avatar
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 8.9%
 
Posts: 1182
Images: 4
Joined: 08 Dec 2014, 17:38
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Ensimag
GitHub: MathisLav

Re: bidouillages sur TI-82A : déceler 1 faille ?

Unread postby critor » 16 Dec 2015, 22:57

De toutes façons, la méthode telle que je l'ai vue n'est pas utilisable telle quelle pour le grand public.
Besoin de brancher ta calculatrice à l'ordinateur à chaque fois que tu veux exécuter un programme assembleur, et tu auras très probablement un reset assez rapidement après la fin du programme.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42485
Images: 17332
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: bidouillages sur TI-82A : déceler 1 faille ?

Unread postby grosged » 17 Dec 2015, 10:27

Oh oui! C'est le gros problème ce Reset :(

Je poursuis tout de même mes recherches, et j'ai du nouveau ce matin : après vérifications, je peux affirmer que les 4 derniers octets du fichier image trafiqué sont éxecutés en tant que langage machine par la TI !!
En insérant 00 00 18 FC
ce qui correspond à :

loop: NOP
NOP
JR loop:

(c'est-à-dire un programme en boucle qui ne fait rien du tout)

Cela nous donne un écran vierge. La TI ne plante pas, le mini-programme boucle bien sur lui-même car elle répond encore aux touches : en faisant [apps] puis [alpha] avec [apps] on quitte la boucle...et puis...PAF! Un Reset :(

C'est vrai que 4 octets c'est pas énorme, mais ça suffit amplement pour faire un saut ailleurs (par ex vers une zone mémoire contenant une autre image abritant du code machine)
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 32.2%
 
Posts: 773
Images: 92
Joined: 14 Sep 2011, 12:29
Gender: Male
Calculator(s):
MyCalcs profile

Re: bidouillages sur TI-82A : déceler 1 faille ?

Unread postby Epharius » 17 Dec 2015, 10:37

Incroyable, bravo pour cette découverte :o
Mais je n'ai pas compris pourquoi ces octets sont exécutés et pas les autres, quelqu'un sait pourquoi ?
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.

Unis par la flèche sacrée de cupidon :favorite:
Image
User avatar
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 8.9%
 
Posts: 1182
Images: 4
Joined: 08 Dec 2014, 17:38
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Ensimag
GitHub: MathisLav

Re: bidouillages sur TI-82A : déceler 1 faille ?

Unread postby grosged » 17 Dec 2015, 10:45

Pour l'instant, "Mystère et boule de gomme!" :D
J'ai tenté de placé une mini boucle( un JR sur lui-même codé 18FE) un peu partout ailleurs dans le fichier image, sans succès.
Tout ce que je sais, c'est que lorsque la TI-82A reçoit le fichier-'image (trafiqué de sorte que la TI ne lise qu'un octet de donnée) , elle considère ensuite que le fichier fait 246 octets (cf TILP après actualisation) au lieu de la longueur classique de 758 octets. Puis au moment d'effacer ce fichier, je pense que TILP fait bugger la TI , du fait de cet écart de jugement 246 <-> 758 octets

EDIT: je viens de modifier le post initial, je n'avais pas bien expliqué ces notions de taille de données / taille de fichier,
j'espère que c'est maintenant plus clair pour vous ;)
Last edited by grosged on 17 Dec 2015, 14:51, edited 1 time in total.
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 32.2%
 
Posts: 773
Images: 92
Joined: 14 Sep 2011, 12:29
Gender: Male
Calculator(s):
MyCalcs profile

Re: bidouillages sur TI-82A : déceler 1 faille ?

Unread postby grosged » 17 Dec 2015, 12:25

Encore du nouveau ! Nous ne serions plus limité à 4 octets !!!

En position (offset) 70, du fichier-image, on peut lire la valeur hexa 02F6 (codée F6 02) ce qui correspond en décimale à 768 c-à-d la taille physique du fichier !!
j'ai remplacé cette valeur par FA 02 (donc rallonge de 4 octets) puis j'ai manuellement rallongé le fichier de 4 octets
Pour finir, j'ai écrit dans les 8 derniers octets 00 00 00 00 00 00 18 F8
ce qui correspond à :

loop: NOP
NOP
NOP
NOP
NOP
NOP
jr loop:

Hé bien ça marche !!! la TI ne plante pas mais tourne en boucle (écran vierge) !!!
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 32.2%
 
Posts: 773
Images: 92
Joined: 14 Sep 2011, 12:29
Gender: Male
Calculator(s):
MyCalcs profile

Re: bidouillages sur TI-82A : déceler 1 faille ?

Unread postby grosged » 17 Dec 2015, 16:52

Bon ! Hé bien j'avoue qu'à ce stade, je ne sais plus trop quoi faire, je me sens bloqué : je n'ai d'expérience en programmation assembleur que sur Amstrad CPC (hou làààà , c'est loin!!) N'ayant aucune connaissance des TI sur le plan hardware/développement Z80, je fais donc appel à vous...
Y aurait-il un (ou des) spécialiste(s) capable(s) de prendre le relais ?
Il est possible de lancer un programme en langage machine, mais comment procéder pour en sortir proprement ? (Sans reset au final)
Le peu que j'ai pu deviner , c'est que l'on doit avoir le programme en "Disable Interrupt" (DI en entête)
Mais après ...mystère !
Il doit bien y avoir un moyen de rétablir la TI dans l'état précédant le lancement du programme asm (je pense aux trucs du genre rétablir la pile, les registres, ... bref! quelques instructions bien placées, mais lesquelles, exactement ?)
J'ai essayé de comprendre l'état au repos , d'une TI, en lançant un émulateur TILEM et scruté un peu les registres en mode debug (TI-83+ émulé) mais je galère un peu...
Au fait, la TI-82A se programme-t-elle comme une TI-84+ ? (mêmes call/Bcall au même endroit,...etc)
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 32.2%
 
Posts: 773
Images: 92
Joined: 14 Sep 2011, 12:29
Gender: Male
Calculator(s):
MyCalcs profile

Re: bidouillages sur TI-82A : déceler 1 faille ?

Unread postby critor » 17 Dec 2015, 17:24

Pas mal du tout, grosged ! :bj:
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42485
Images: 17332
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Next

Return to Actualités

Who is online

Users browsing this forum: ClaudeBot [spider] and 9 guests

-
Search
-
Social TI-Planet
-
Featured topics
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
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.
2705 utilisateurs:
>2686 invités
>12 membres
>7 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
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)