Básicamente hay un exploit de boot rom en los chips Tegra X1, específicamente el Switch de Nintendo que permite enviar cargas útiles mientras está en Modo de Recuperación y básicamente ejecutar código sin firmar (homebrew, firmware personalizado, e incluso lanzar distribuciones de Linux). El lanzador de cargas útiles funciona en PC, Mac y Linux, y ha sido portado a Android, sin embargo para que funcione en Linux requiere un parche de kernel para el controlador EHCI (USB 2.0). Los dispositivos que soportan xHCI (3.0) pueden ejecutarlo sin problemas. En Android se hace con un adaptador USB-OTG por cierto y funciona sin acceso a Root. Sospecho que la única forma de parchear el kernel es con acceso Root o una ROM/kernel personalizado con el parche. Aquí está el parche de un equipo de hackers (fail0verflow) sin ninguna instrucción: https://github.com/fail0verflow/shofel2/blob/master/linux-ehci-enable-large-ctl-xfers.patch
Alguien también escribió un Python script para Linux que parchea la memoria del núcleo aquí: https://gist.github.com/DavidBuchanan314/41b12362cc4d8c539dc441d75155f2e9
Intenté ejecutarlo usando Termux con el paquete de python instalado sin embargo resulta con este error:
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'
Traté de hacerlo con su primero pero dice: "pitón: no encontrado". De todos modos, no creo que ese "hotpatch" script pueda siquiera funcionar correctamente en Android como está pensado para los sistemas de escritorio Linux.
Apreciaría cualquier pista o información sobre una forma de parchear el núcleo ya sea con el acceso a root o tal vez una forma de hacer funcionar la pitón script. He creado la aplicación para Android con la esperanza de mejorarla y traducirla a diferentes idiomas y quiero ser capaz de proporcionar una solución con instrucciones para hacerla funcionar en dispositivos EHCI (si es posible en Android). Sería increíble si también es posible con un módulo Magisk.
0 votos
@iBug Tengo tsu instalado y luego tsu me pone en modo superusuario (#) pero después de intentar el comando python (python ehci_patch.py) dice, bash: /data/data/com.termux/files/usr/bin/python: Permiso denegado
0 votos
Aprecio mucho tu pregunta por el perfecto lenguaje y formato en inglés (por eso he subido el voto de esta pregunta fuera de tema), pero desgraciadamente, no queremos preguntas sobre el desarrollo . Probablemente puedas obtener mejores respuestas en el foro XDA Deverloper.