Il s'agit d'un exploit de boot rom sur les puces Tegra X1, en particulier sur la Nintendo Switch, qui vous permet d'envoyer des charges utiles pendant qu'elle est en mode récupération et d'exécuter du code non signé (homebrew, firmware personnalisé, et même lancer des distros Linux). Le lanceur de charges utiles fonctionne sur PC, Mac et Linux, et a été porté sur Android, mais pour qu'il fonctionne sur Linux, il faut un correctif du noyau pour le pilote EHCI (USB 2.0). Les appareils qui prennent en charge xHCI (3.0) peuvent l'exécuter sans problème. Sur Android, cela se fait en utilisant un adaptateur USB-OTG et fonctionne sans accès Root. Je soupçonne que la seule façon de patcher le noyau est d'avoir un accès Root ou une ROM/kernel personnalisé avec le patch. Voici le patch d'une équipe de hackers (fail0verflow) sans aucune instruction : https://github.com/fail0verflow/shofel2/blob/master/linux-ehci-enable-large-ctl-xfers.patch
Quelqu'un a également écrit un script Python pour Linux qui corrige la mémoire du noyau ici : https://gist.github.com/DavidBuchanan314/41b12362cc4d8c539dc441d75155f2e9
J'ai essayé de l'exécuter en utilisant Termux avec le paquet python installé mais le résultat est cette erreur :
0x0
Traceback (most recent call last):
File "ehci_patch.py", line 70, in <module>
" " ".replace("PLACEHOLDER", hex(ksyms["ehci_urb_enqueue"])).replace("PLACE2" hex(ksyms["lookup_address"]))
KeyError: 'lookup_address'
J'ai essayé de l'exécuter avec su d'abord, mais le message suivant s'affiche : sh : python : not found. De toute façon, je ne pense pas que le script "hotpatch" puisse fonctionner correctement sur Android, car il est destiné aux systèmes Linux de bureau.
J'apprécierais toute piste ou information sur un moyen de patcher le noyau soit avec un accès Root ou peut-être un moyen de faire fonctionner le script python. J'ai forké l'application Android dans l'espoir de l'améliorer et de la traduire dans différentes langues et je veux être en mesure de fournir une solution avec des instructions pour la faire fonctionner sur les appareils EHCI (si c'est possible sur Android). Ce serait génial si c'était possible avec un module Magisk également.