Page 1 of 14

nBoot, contrôle total TI-Nspire CX avec Boot1 3.0.0.99

Unread postPosted: 22 May 2016, 15:23
by critor
Le 1er janvier 2013, l'outil nLaunch était sorti anonymement par la nLaunch Team.
Cet outil exploitait une faille du Boot2 1.4.1571 pour TI-Nspire monochromes, et permettant de lancer n'importe quel OS (système d'exploitation) :
  • les OS officiels :
    • prévus pour le modèle
    • prévus pour un autre modèle (version CAS sur non-CAS, et vice-versa)
    • et même modifiés (utilisé en pratique pour activer Ndless automatiquement au démarrage)
  • les OS tiers :
    • Linux
Le 1er avril 2013 sortait Nlaunch CX par Nlaunch CX guy qui permettait la même chose sur les TI-Nspire CX couleur en exploitant cette fois-ci une faille similaire dans le Boot2 3.1.0.16.



Malgré les possibilités énormes, ces outils ont été largement sous-exploités, à cause de la réaction très rapide de Texas Instruments sur le plan matériel et logiciel :
  • 23 février 2011 : Boot2 3.0.1.131 corrigeant la faille pour TI-Nspire monochromes
  • 5 mai 2011 : OS 3.0.2.1791 bloquant l'installation de toute version antérieure
  • 13 janvier 2013 : Boot2 3.2.4.7 pour TI-Nspire CX corrigeant la faille similaire
  • 15 janvier 2013 : OS 3.2.4.1237 pour TI-Nspire CX bloquant l'installation de toute version antérieure
  • mars 2013: révision matérielle J pour TI-Nspire CX interdisant définitivement l'utilisation de toute version antérieure à 3.2
  • 11 septembre 2013 : OS 3.6.0.546 qui :
    • rend la mise à jour du Boot2 obligatoire en empêchant avec une nouvelle signature le retrait de cette mise à jour du fichier d'installation
    • réalise une vérification supplémentaire du type de la machine, et refuse de démarrer si cela ne lui convient pas
  • 7 août 2014 : Boot2 3.9.1.34 pour TI-Nspire CX bloquant l'installation de toute version antérieure à 3.6
  • mars 2013: révision matérielle S pour TI-Nspire CX interdisant définitivement l'utilisation de toute version antérieure à 3.9.1
Les failles logicielles ont été corrigées immédiatement après la sortie de Nlaunch (en quelques jours), à la fois sur les modèles monochromes et couleur. Autrement dit, Nlaunch CX est sorti beaucoup trop tard, alors que les failles étaient déjà corrigées.
Enfin, avec l'introduction des TI-Nspire CX en révision matérielle J dès mars 2013 il y a plus de trois ans, Texas Instruments portait le coup de grâce à l'aventure Nlaunch : le renouvellement du matériel aidant, aujourd'hui vous êtes extrêmement rares à nous signaler disposer des révisions matérielles compatibles.



Aujourd'hui c'est une nouvelle page de cette saga qui s'écrit avec un message succinct posté tard hier soir par un certain nBootDude, accompagné d'un outil dénommé nBoot.
La description de la pièce jointe n'y va pas par quatre chemins : outil permettant de lancer directement Linux.

Les modèles concernés sont les TI-Nspire CX de révision matérielle V ou antérieure, c'est-à-dire disposant du Boot1 3.0.0.99.
Peut-être que l'arrivée récente du nouveau Boot1 4.0.1.43 avec la révision matérielle W a attiré l'attention sur des corrections de failles exploitables.

L'outil prend apparemment la forme d'une image de Manuf très légèrement modifiée, le Manuf étant la toute première partition en mémoire NAND mettant diverses informations et donnés à la disposition du Boot1.
Les modifications commencent apparemment à l'offset 0x844 (données SPI).

1890Elles tiennent dans une plage de 600 octets ridicule par rapport à la taille du Manuf (128Ko), mais il n'empêche que c'est suffisamment large pour écraser les graphismes de démarrages stockés à partir de l'offset 0x894.

Notons d'ailleurs que la dernière version de nsNandMgr ne permettra pas d'installer nBoot, car elle protège les premiers 0x894 octets du Manuf contre toute altération non contrôlée. Il faut à ce jour utiliser la version modifiée de nsNandMgr accompagnant nBoot.

Comme illustré ci-contre, suite à l'installation de nBoot la TI-Nspire CX démarrera donc avec un fond blanc. :'(
C'est certes un petit inconvénient, mais voyons maintenant les avantages.



nBoot travaille donc au niveau du Boot1. Ce dernier est capable de démarrer sur deux partitions différentes, entre lesquelles on peut alterner avec la combinaison de démarrage :nses: :nsme: :nsmo: :
  • l'image présente en début de la partition Boot2
  • l'image présente en début de la partition Diags
nBoot te propose donc de lancer du code non signé à mettre dans la partition Diags, dans l'exemple fourni un lanceur d'OS Linux.
Peut-être que tu jugeras la possibilité de lancer Linux sans intérêt pour toi, mais l'important c'est ce que cela implique.
  • On peut donc désormais lancer au niveau du Boot1 du code non signé par Texas Instruments, ce qui ouvre d'immenses possibilités d'outils de démarrage faisant bien d'autres choses que lancer Linux :bj:
  • Contrairement au Boot2 3.1.0.16 pour lequel de simples mises à jour ont suffi à éradiquer Nlaunch CX, le Boot1 ne peut pas être mis à jour logiciellement et il n'y a rien au-dessus - autrement dit le code tiers est exécuté dès l'allumage de la machine et, en théorie, une fois nBoot installé, c'est pour toujours ! :bj:
    C'est un contrôle total du matériel que l'on a acheté comme récemment réussi sur calculatrices HP Prime ! :bj:
  • Il n'y a plus besoin de passer par Ndless pour lancer Linux ou exécuter d'autres codes tiers au démarrage, Ndless étant juste nécessaire une fois à l'installation. :bj:
    Autrement dit, pas de crainte à avoir de la part de futures mises à jour bloquant Ndless par Texas Instruments, pourvu que ce que nBoot ait été installé avant. On pourrait même imaginer des outils de démarrages contrant les blocages de Ndless ! ;)



Cet outil étant sorti assez tard, nous avons passé un bon nombre d'heures ce matin à tenter de le comprendre et de l'installer, ce qui a au final été réussi.
Une fois installé, voici donc en vidéo le dual-boot dont vous disposerez entre l'OS TI-Nspire officiel et Linux :




Mais outre l'absence du fond d'écran de démarrage habituel, il y a d'autres inconvénients :
  • Contrairement à Nlaunch, à priori nBoot ne pourra pas être utilisé seul pour lancer un OS CAS sur calculatrice non-CAS, le Boot1 ne sachant pas lancer directement un OS mais uniquement passer la main au Boot2 ou au Diags.
  • Un autre inconvénient essentiel est que comme on met notre propre code en partition Diags, l'on n'a plus accès au logiciel de diagnostics de la calculatrice ce qui, sans tournevis sous la main pour déconnecter la batterie, sera bien embêtant en empêchant de sortir de certaines situations de blocages. :mj:

En pratique, Texas Instruments pourrait très bien s'amuser lors d'une future mise à jour de l'OS, à avoir du code nettoyant automatiquement la zone Manuf pour désinstaller nBoot.
Mais oseront-ils en sachant que toute erreur de programmation Flash, comme cela était déjà arrivé dans le contexte de la mise à jour du Boot2 par l'OS 3.0.1, détruira irrémédiablement la machine en question ? :#roll#:



Malgré des possibilités extraordinaires, toutefois, comme Nlaunch CX au final, on peut regretter que nBoot sorte beaucoup trop tard.
D'une part les failles du Boot1 3.0.0.99 ont donc déjà été corrigées dans le nouveau Boot1 4.0.1.43 équipant les TI-Nspire CX CR4 en révision matérielle W.
D'autre part, vous être une bonne partie à disposer cette année de ces nouvelles calculatrices.
Enfin, le temps que des outils véritablement utiles sortent, les examens 2016 seront passés et nombre d'entre vous dotés de ces anciennes révisions matérielles compatibles nous auront quitté.
Ce qui pourra être disponible pour la rentrée 2016 concernera une part d'utilisateurs que nous pressentons déjà comme minoritaire, et qui ne le sera que de plus en plus :'(



Source : viewtopic.php?t=18437&p=202317#p202297
:warning: Installation déconseillée sauf si vous savez ce que vous faites. Attendez plutôt que des personnes sachant ce qu'elles font sortent des tutos. :warning:

Re: nBoot, contrôle total TI-Nspire CX avec Boot1 3.0.0.99

Unread postPosted: 22 May 2016, 20:03
by jaroslavN
so , it works on a boot 2 3.0.0.99 and on boot1 4.0.3... Hardware version J ?
sorry ,boot 1 3.0.0.99 and boot 2 4.0.3 (os)

Re: nBoot, contrôle total TI-Nspire CX avec Boot1 3.0.0.99

Unread postPosted: 22 May 2016, 21:28
by nahkoots
The new boot1 4.0.1.43 is present on hardware revision W+.

Re: nBoot, contrôle total TI-Nspire CX avec Boot1 3.0.0.99

Unread postPosted: 23 May 2016, 12:49
by Adriweb
As the news says, it's only for Boot1 3.0.0.99

Re: nBoot, contrôle total TI-Nspire CX avec Boot1 3.0.0.99

Unread postPosted: 23 May 2016, 12:49
by Ti64CLi++
Pour quand le tuto?

**********************

Et cette version marche sur Nspire HW-T? Il me semble que Nlaunch ne marchait pas sur une telle machine nan?

Re: nBoot, contrôle total TI-Nspire CX avec Boot1 3.0.0.99

Unread postPosted: 23 May 2016, 20:34
by nahkoots
nLaunch does not work on hardware revision T (or anything higher than I) because those versions can only run boot2 3.2.4.7 or higher, but nLaunch requires boot2 version 3.1.0.16 (I think) for the exploit to work.

nBoot would work on hardware revision T because all calculators up to HW-W run boot1 3.0.0.99.

Re: nBoot, contrôle total TI-Nspire CX avec Boot1 3.0.0.99

Unread postPosted: 24 May 2016, 10:49
by Ti64CLi++
thank you for this response.

Re: nBoot, contrôle total TI-Nspire CX avec Boot1 3.0.0.99

Unread postPosted: 24 May 2016, 18:13
by Elalfredo
Critor wrote:Enfin, le temps que des outils véritablement utiles sortent, les examens 2016 seront passés et nombre d'entre vous dotés de ces anciennes révisions matérielles compatibles nous auront quitté.


Juste par curiosité, à quel genre d'outils tu pensais (qui pourrait aider pour les examens)?J'ai du mal à réaliser les "possibilités extraordinaires" auquel cette modification ouvre.

Re: nBoot, contrôle total TI-Nspire CX avec Boot1 3.0.0.99

Unread postPosted: 24 May 2016, 18:15
by GalacticPirate
Genre pour pouvoir rendre Ndless Reboot-proof à nouveau, installer des OS tiers/modifiés, etc...

Re: nBoot, contrôle total TI-Nspire CX avec Boot1 3.0.0.99

Unread postPosted: 24 May 2016, 18:17
by critor
Possible mais pas évident.

Dans le contexte du Boot1, l'OS n'existe pas, le Boot1 n'ayant pas accès au système de fichiers.
Tout ce qui existe c'est la mémoire Flash, et donc le Boot2 et le Diags.

Donc il faudrait un Boot1 qui lance un Boot2 modifié/déplombé (c'est maintenant possible) qui à son tour traffiquerait l'OS Nspire comme il voudrait, y compris pour lui activer automatiquement Ndless.