π
<-

Dump partiel (boot2)

Nouveautés, projets, mises à jour.

Dump partiel (boot2)

Unread postby critor » 27 Sep 2009, 09:53

Je rappelle que les TI-nSpire ont 2 boot codes:
  • le boot1, gravé lors de la fabrication, et à priori non modifiable (une seule version pour le moment à ma connaissance: 1.1.8916)
  • le boot2, modifiable - les premiers modèles étaient fournis avec la version 1.1.8981, et les mises-à-jour avec systèmes 1.4 et supérieurs incluent la version 1.4.1571.

Tout ce qui suit aurait été découvert et expliqué bien plus tôt, si TI avait pris l'habitude d'appeller un chat, un chat.

Les fichiers de mise-à-jour TNO/TNC n'ont rien à voir avec leurs prédécesseurs sur z80/68k.
Car ce sont en fait des archives!!!
Ils peuvent être ouverts avec WinRAR par exemple, qui détecte un format ZIP-SFX.

Qu'y a-t-il dedans?
  • TI-Nspire.img: il s'agit d'une autre archive (archive dans l'archive) - le format détecté est encore ZIP-SFX, mais il a du être quelque peu altéré par TI, car certains fichiers échouent à la décompression, et de plus ce ne sont pas les même selon les versions du fichiers... ces échecs semblent réguliers, comme si TI avait rajouté périodiquement une somme de contrôle... cette archive contient les dossiers:
    • documents
    • phoenix: le système d'exploitation, peut-être crypté...
    • ti84: uniquement si c'est une mise-à-jour TNO - contient une image ROM brute (non cryptée, non compressée) de la TI-84, sous forme de fichiers numérotés (un par page ROM) - il suffit de les concaténer pour obtenir une image ROM complète
    [*]TI-Nspire.cer: sûrement la clef 1024bits, signant le fichier ci-dessus, et interdisant donc de transférer ou d'installer un système modifié
    [*]boot2.img: uniquement si c'est une mise-à-jour en système 1.4 ou supérieur - c'est le code du Boot2 en version 1.4.1571, mais compressé de façon non standard (au moins il n'est pas crypté)
    [*]boot2.cer: uniquement si c'est une mise-à-jour en système 1.4 ou supérieur - sûrement la clef 1024bits, signant le fichier ci-dessus, et interdisant donc de transférer ou d'installer un boot2 modifié
    [*]samples.zip: uniquement si c'est une mise-à-jour en système 1.4 ou supérieur


    Intéressons-nous donc au code du fichier boot2.img.

    Personne n'y avait reconnu de l'assembleur ARM, car il était compressé.


    Il faut donc trouver le format de compression (non standard) utilisé par TI.

    Et c'est chose faite.

    • 4 premiers octets: taille non compressée
    • 128 octets suivants: table des 64 combinaisons de 2 octets les plus fréquentes
    • les données présentées de façon récurrente ainsi:
      • 1 bit à l'état 1, suivi de 16 bits de données (2 octets)
        ou bien
      • 1 bit à l'état 0, suivi de 6 bits indiquant l'index dans la table de début de fichier



      Y'a plus qu'à faire un décompresseur en C pour lire le code assembleur ARM.

      Nous pourrons peut-être mieux comprendre pourquoi il y a deux boot sur nSpire (que fait le boot1? que fait le boot2?), et peut-être à terme faire bouffer à la calculette un boot2.img modifié contenant notre propre code assembleur.

      (ça devrait être à priori plus facile dans un premier temps, que de tenter une modification du TI-NSpire.img...)
      Image
      User avatar
      critorAdmin
      Niveau 19: CU (Créateur Universel)
      Niveau 19: CU (Créateur Universel)
      Level up: 53.4%
       
      Posts: 42392
      Images: 17088
      Joined: 25 Oct 2008, 00:00
      Location: Montpellier
      Gender: Male
      Calculator(s):
      MyCalcs profile
      YouTube: critor3000
      Twitter: critor2000
      GitHub: critor

      Re: Dump partiel (boot2)

      Unread postby Levak » 27 Sep 2009, 10:50

      je suis sur le cul là... :#gol#:
      Mais ils ont même pas protégé leur archives quoi, on y rentre comme dans du beur, on a accès à tous les fichiers tns et d'autres fichiers comme tu dis compilés....

      On avait pas accès aux fichiers d'OS sur les autres TI autant que là me semble t-il ?
      Responsable design/graphique de TI-Planet
      I do not get mad at people, I just want them to learn the way I learnt.
      ImageTNOC [topic][DL]
      nClock [topic][DL]
      HideManager [topic][DL]
      ZLock [topic][DL]
      Theme Editor [topic][DL]
      Mes programmes
      User avatar
      LevakAdmin
      Niveau 14: CI (Calculateur de l'Infini)
      Niveau 14: CI (Calculateur de l'Infini)
      Level up: 98.9%
       
      Posts: 6414
      Images: 22
      Joined: 27 Nov 2008, 00:00
      Location: 0x1AACC355
      Gender: Male
      Calculator(s):
      MyCalcs profile
      Class: BAC+5: Epita (ING3)

      Re: Dump partiel (boot2)

      Unread postby Adriweb » 27 Sep 2009, 10:59

      très intéressant, mais tout ca n'avait pas été fait sur Hackspire ?

      boot2.img

      Only present if the OS file contains an update of the boot 2.
      Structure (TI-Nspire 1.4 as example):
      8000
      8040 : Product Name: 'BOOT2 '
      8010 : ProductID '50C'
      8010 : ProductID '50E'
      8020 : Product ID '1.4.1571'
      8020 : Product ID (empty)
      8080 : ??? 1180000000000001
      0320 - 6 : Product Code: 0
      8070 : Encrypted, probably also compressed.
      0240 - 128 - @TI-Nspire 1.4: 12FEC7. Signature of the field 8000, validated using the key given in boot2.cer (and again below.)
      340 - 146 : Identical to the field 340 of boot2.cer
      0270 - 1 : ??? x00
      0260 - 140 : 1024-bit RSA public key used for validating the first part of boot2.img
      0240 - 128: Signature, probably of both the fields 8000 and 0240, since it is different from field 240 of boot2.cer (key unknown.)
      FFF0 - 0 : END_OF_CERT


      Voir ici : http://hackspire.unsads.com/wiki/index.php/OS_upgrade_files

      MyCalcs: Help the community's calculator documentations by filling out your calculators info!
      MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
      Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
      My calculator programs
      Mes programmes pour calculatrices
      User avatar
      AdriwebAdmin
      Niveau 16: CC2 (Commandeur des Calculatrices)
      Niveau 16: CC2 (Commandeur des Calculatrices)
      Level up: 79.9%
       
      Posts: 14839
      Images: 1131
      Joined: 01 Jun 2007, 00:00
      Location: France
      Gender: Male
      Calculator(s):
      MyCalcs profile
      Twitter: adriweb
      GitHub: adriweb

      Re: Dump partiel (boot2)

      Unread postby critor » 27 Sep 2009, 11:10

      Levak wrote:je suis sur le cul là... :#gol#:
      Mais ils ont même pas protégé leur archives quoi, on y rentre comme dans du beur, on a accès à tous les fichiers tns et d'autres fichiers comme tu dis compilés....

      On avait pas accès aux fichiers d'OS sur les autres TI autant que là me semble t-il ?



      Sur les autres TI, le fichier de mise-à-jour contenait directement le code de l'OS (non crypté et non compressé).

      Ici, l'OS est dans l'archive TI-Nspire.img dans le dossier phoenix (que je n'ai pas encore analysé).
      Et même si WinRAR peut ouvrir ce fichier, il signale des erreurs et de façon récurrente, certains fichiers ne sont pas décompressibles.

      Ce fichier est donc basé sur le format ZIP-SFX, mais TI a du modifier quelque chose.


      De plus les fichiers du dossier phoenix, sont peut-être compressés ou cryptés.


      C'est pas encore comme si on avait accès à l'OS...
      Image
      User avatar
      critorAdmin
      Niveau 19: CU (Créateur Universel)
      Niveau 19: CU (Créateur Universel)
      Level up: 53.4%
       
      Posts: 42392
      Images: 17088
      Joined: 25 Oct 2008, 00:00
      Location: Montpellier
      Gender: Male
      Calculator(s):
      MyCalcs profile
      YouTube: critor3000
      Twitter: critor2000
      GitHub: critor

      Re: Dump partiel (boot2)

      Unread postby critor » 27 Sep 2009, 11:15

      AdRiWeB wrote:très intéressant, mais tout ca n'avait pas été fait sur Hackspire ?


      Concernant boot2.img, c'est évident que c'est une information que l'on m'a communiquée.


      Mais concernant la structure d'archive des mises-à-jour TNO/TNS, et la ROM TI-84+ par exemple, je m'en était rendu compte bien avant de jeter un coup d'oeil sur HackSpire.
      (que je trouve en passant mal organisé, et pénible à lire...)

      J'ai moi-même corrigé plusieurs infos fausses sur HackSpire, concernant ma spécialité (l'émulation 84+).
      Image
      User avatar
      critorAdmin
      Niveau 19: CU (Créateur Universel)
      Niveau 19: CU (Créateur Universel)
      Level up: 53.4%
       
      Posts: 42392
      Images: 17088
      Joined: 25 Oct 2008, 00:00
      Location: Montpellier
      Gender: Male
      Calculator(s):
      MyCalcs profile
      YouTube: critor3000
      Twitter: critor2000
      GitHub: critor

      Re: Dump partiel (boot2)

      Unread postby Adriweb » 27 Sep 2009, 12:21

      ah ben c'est bien que tu puisses informer le reste de la communauté :D

      MyCalcs: Help the community's calculator documentations by filling out your calculators info!
      MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
      Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
      My calculator programs
      Mes programmes pour calculatrices
      User avatar
      AdriwebAdmin
      Niveau 16: CC2 (Commandeur des Calculatrices)
      Niveau 16: CC2 (Commandeur des Calculatrices)
      Level up: 79.9%
       
      Posts: 14839
      Images: 1131
      Joined: 01 Jun 2007, 00:00
      Location: France
      Gender: Male
      Calculator(s):
      MyCalcs profile
      Twitter: adriweb
      GitHub: adriweb

      Re: Dump partiel (boot2)

      Unread postby Levak » 27 Sep 2009, 15:33

      critor2000 wrote:Ce fichier est donc basé sur le format ZIP-SFX, mais TI a du modifier quelque chose.
      De plus les fichiers du dossier phoenix, sont peut-être compressés ou cryptés.
      C'est pas encore comme si on avait accès à l'OS...


      Avec linux je ne pouvais pas ouvrir l'archive (tandis qu'avec Windows émulé avec winrar ça passait), j'ai donc essayé tous les formats que le Gestionnaire d'archive de linux acceptais et l'extension *.jar est la seule qui affiche le contenu (mais je n'arrive pas à ouvrir les fichiers car il demande une sorte de clé qu'il ne trouve pas !!)

      De plus, j'ai vu que dans le dossier phoenix/syst/skin/ ya des *.svg !!! Ils sont fous TI !! du dessin vectoriel dans une calto !! mais omg si on arrive à passer ce pont ce sera fantastique !!


      Levak repart dans ses songes :%):

      edit:
      le contenu de l'erreur, assez intéressante :
      Code: Select all
       End-of-central-directory signature not found.  Either this file is not
        a zipfile, or it constitutes one disk of a multi-part archive.  In the
        latter case the central directory and zipfile comment will be found on
        the last disk(s) of this archive.
      note:  /media/WINDOWS/Documents and Settings/Levak/Mes documents/TI-Nspire/Téléchargements/TI-Nspire CAS1_7/TI-Nspire.jar may be a plain executable, not an archive
      unzip:  cannot find zipfile directory in one of /media/WINDOWS/Documents and Settings/Levak/Mes documents/TI-Nspire/Téléchargements/TI-Nspire CAS1_7/TI-Nspire.jar or
              /media/WINDOWS/Documents and Settings/Levak/Mes documents/TI-Nspire/Téléchargements/TI-Nspire CAS1_7/TI-Nspire.jar.zip, and cannot find /media/WINDOWS/Documents and Settings/Levak/Mes documents/TI-Nspire/Téléchargements/TI-Nspire CAS1_7/TI-Nspire.jar.ZIP, period.
      Responsable design/graphique de TI-Planet
      I do not get mad at people, I just want them to learn the way I learnt.
      ImageTNOC [topic][DL]
      nClock [topic][DL]
      HideManager [topic][DL]
      ZLock [topic][DL]
      Theme Editor [topic][DL]
      Mes programmes
      User avatar
      LevakAdmin
      Niveau 14: CI (Calculateur de l'Infini)
      Niveau 14: CI (Calculateur de l'Infini)
      Level up: 98.9%
       
      Posts: 6414
      Images: 22
      Joined: 27 Nov 2008, 00:00
      Location: 0x1AACC355
      Gender: Male
      Calculator(s):
      MyCalcs profile
      Class: BAC+5: Epita (ING3)

      Re: Dump partiel (boot2)

      Unread postby Levak » 27 Sep 2009, 18:29

      Je l'ai !!!
      Bon certes ce ne sera pas possible de le recompiler après puisque la manière dont je l'ai fait n'est pas très... pratique.

      Avec WinRar j'ai "réparé l'archive" sauf qu'il a extrait que ce qui était possible d'extraire....

      Donc les fameux *.svg sont en fait deux image de la TI Nspire CAS
      voilà un export PNG:
      Image
      Responsable design/graphique de TI-Planet
      I do not get mad at people, I just want them to learn the way I learnt.
      ImageTNOC [topic][DL]
      nClock [topic][DL]
      HideManager [topic][DL]
      ZLock [topic][DL]
      Theme Editor [topic][DL]
      Mes programmes
      User avatar
      LevakAdmin
      Niveau 14: CI (Calculateur de l'Infini)
      Niveau 14: CI (Calculateur de l'Infini)
      Level up: 98.9%
       
      Posts: 6414
      Images: 22
      Joined: 27 Nov 2008, 00:00
      Location: 0x1AACC355
      Gender: Male
      Calculator(s):
      MyCalcs profile
      Class: BAC+5: Epita (ING3)

      Re: Dump partiel (boot2)

      Unread postby critor » 27 Sep 2009, 18:34

      Levak wrote:Je l'ai !!!
      Bon certes ce ne sera pas possible de le recompiler après puisque la manière dont je l'ai fait n'est pas très... pratique.

      Avec WinRar j'ai "réparé l'archive" sauf qu'il a extrait que ce qui était possible d'extraire....

      Donc les fameux *.svg sont en fait deux image de la TI Nspire CAS
      voilà un export PNG:
      Image


      Ce que tu as trouvé, on dirait que c'est le skin pour l'émulateur.

      Je ne pensais pas que les fichiers TNO/TNC concernaient aussi l'émulateur...
      (il faut dire qu'on ne sait pas grand chose sur cet émulateur... moi je n'ai même pas encore réussi à trouver où TI a caché la ROM de la TI-Collège Plus dans son émulateur... alors l'émulateur nSpire qui doit être 10 fois plus compliqué...)


      Sinon, tu m'intéresses... comment as-tu réparé l'archive?
      quelle proportion de fichiers est perdue?
      Image
      User avatar
      critorAdmin
      Niveau 19: CU (Créateur Universel)
      Niveau 19: CU (Créateur Universel)
      Level up: 53.4%
       
      Posts: 42392
      Images: 17088
      Joined: 25 Oct 2008, 00:00
      Location: Montpellier
      Gender: Male
      Calculator(s):
      MyCalcs profile
      YouTube: critor3000
      Twitter: critor2000
      GitHub: critor

      Re: Dump partiel (boot2)

      Unread postby Levak » 27 Sep 2009, 18:42

      critor2000 wrote:Ce que tu as trouvé, on dirait que c'est le skin pour l'émulateur.

      Je ne pensais pas que les fichiers TNO/TNC concernaient aussi l'émulateur...
      (il faut dire qu'on ne sait pas grand chose sur cet émulateur... moi je n'ai même pas encore réussi à trouver où TI a caché la ROM de la TI-Collège Plus dans son émulateur... alors l'émulateur nSpire qui doit être 10 fois plus compliqué...)


      Sinon, tu m'intéresses... comment as-tu réparé l'archive?
      quelle proportion de fichiers est perdue?


      toutes les réponses à tes questions :

      Image

      edit:
      Avec linux j'ai des infos intéressantes
      491 files, 2613597 bytes uncompressed, 857733 bytes compressed: 67.2%
      Ce serait donc près de 70% de perte si WinRAR n'a pas pu les décompresser ?
      Responsable design/graphique de TI-Planet
      I do not get mad at people, I just want them to learn the way I learnt.
      ImageTNOC [topic][DL]
      nClock [topic][DL]
      HideManager [topic][DL]
      ZLock [topic][DL]
      Theme Editor [topic][DL]
      Mes programmes
      User avatar
      LevakAdmin
      Niveau 14: CI (Calculateur de l'Infini)
      Niveau 14: CI (Calculateur de l'Infini)
      Level up: 98.9%
       
      Posts: 6414
      Images: 22
      Joined: 27 Nov 2008, 00:00
      Location: 0x1AACC355
      Gender: Male
      Calculator(s):
      MyCalcs profile
      Class: BAC+5: Epita (ING3)

      Next

      Return to Actualités

      Who is online

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

      -
      Search
      -
      Social TI-Planet
      -
      Featured topics
      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 !
      1234
      -
      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.
      2061 utilisateurs:
      >2022 invités
      >32 membres
      >7 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)