Page 1 sur 1

Reprogrammation logicielle du Boot Code des TI-84 enfin possible!

Message non luPosté: 28 Juin 2011, 08:01
de critor
Dans la news précédente, nous vous disions qu'après l'ajout d'une protection par clef RSA 2048-bits dans le Boot Code 1.03 des nouvelles TI-84+, il allait falloir envisager les choses "autrement", la factorisation de la clef en question étant impossible à l'échelle d'une vie humaine.

Image




Et c'est exactement ce que ThePenguin77 et Brandon Wilson que l'on ne présente plus, ont fait! Ils attaquent directement le mal à la racine et réalisent encore l'impossible, venant de développer une méthode entièrement logicielle pour reprogrammer le Boot Code des TI-84+! :bj:

Image




Sur les TI-z80 Flash, la mémoire ROM est divisée en pages de 16Ko. Le Boot Code qui est le programme qui s'occupe d'installer, vérifier, et lancer l'OS, est enregistré sur la dernière page mémoire. Le certificat lui est stocké dans l'avant dernière page mémoire.

Image
(cartographie de la ROM 512Ko d'une TI-83+)




En conséquence, selon le modèle de calculatrice les Boot Code et certificat n'auront pas la même adresse mémoire! Ils seront stockés:

- sur les pages 30 et 31 pour une TI-83+ (512Ko de ROM)
- sur les pages 62 et 63 pour une TI-84+ ou TI-84 Pocket.fr (1Mo de ROM)
- sur les pages 126 et 127 pour une TI-84+SE ou TI-83+SE (2Mo de ROM)



Normalement ces pages auraient du être protégées matériellement contre l'écriture, ce qui est probablement le cas sur TI-83+.

Mais les TI-84+ et TI-84+SE utilisent le même matériel: seule la taille de la puce ROM et son contenu diffèrent. Et comme dit précédemment, le Boot Code n'est donc pas enregistré sur les mêmes pages mémoire selon que l'on est sur TI-84+ ou sur TI-84+SE.

Il y a bien une protection contre l'écriture, mais elle est ici par simplicité logicielle: stockée dans la puce ROM et plus précisément dans le Boot Code, qui diffère entre les deux modèles. Les numéros des pages mémoire protégés contre l'écriture sont contrôlés par un port dont la valeur est réglée par le Boot Code.

Il suffit donc tout simplement en assembleur de modifier la valeur de ce port pour déplacer la zone protégée contre l'écriture, et pouvoir ainsi reprogrammer le Boot Code et même le certificat.



L'on suppose qu'il en est de même sur les TI-83+SE.



Cela ouvre donc la voie sur TI-84+, TI-84+SE, TI-84Pocket.fr et TI-83+SE:
- à des modifications du Boot Code
- à la reprogrammation complète du Boot Code
...bref, à la déprotection pure et simple des nouvelles TI-84 munies du Boot Code 1.03.

La modification du certificat devrait même pouvoir envisager de façon permanente la transformation d'une TI-83+SE en une TI-84+SE avec l'utilisation d'un OS MathPrint!

Image




Il faut toutefois comprendre que le programme dont il est question ici est le plus dangereux programme TI-83+/84+ jamais produit. Le Boot Code d'une TI-83+/84+, c'est comme le Bios d'un ordinateur! Le moindre incident pendant la reprogrammation (comme des piles faibles ou défectueuses) et la calculatrice est définitivement inutilisable! (à moins d'un fer à souder couplé à un microscope pour réécrire matériellement la ROM en la reliant à un programmateur...)

Il n'est pas dans l'habitude de TI-Bank de diffuser des fichiers dangereux pour l'utilisateur.





Si la communauté tient toujours à pouvoir installer des OS/applications modifiés ou tiers (bien que l'on se demande bien dans quel but, de tels OS et applications brillant par leur absence depuis 2 ans que les clefs RSA 512-bits sont factorisées), nous espérons que d'autres solutions moins radicales et donc moins dangereuses pour l'utilisateur seront trouvées à l'image de ce que nous avions fait avec Boot2launcher sur TI-Nspire.

Le programme en question n'est heureusement pas disponible publiquement pour le moment.






Source:
Blog de Brandon Wilson