Buscar este blog

viernes, 5 de junio de 2015

Hack a Mazda 3 2015 / Activar WiFi


¿Otra vez con lo mismo, Afro?   

La ocasión anterior había mostrado cómo conectarse al CMU de Mazda. Resultó completamente sencillo cambiar los parámetros que impedían usar el touchscreen del infotainment o parear nuevos dispositivos Bluetooth sin la necesidad de conducir a menos de 5 km/h.


O sea sí, pero por algo está la restricción, ¡maldita sea, Afro!

Resulta irónico que los fabricantes pongan a bordo computadoras que hacen más seguro el viaje y al mismo tiempo nos briden una distracción inevitable. En cada persona debe existir la prudencia necesaria para operarlo, pero no en mí, ¡ja!

Por otro lado, hago esto con el simple hecho de mostrar a ustedes lo peligroso que puede llegar a ser este tipo de sistemas. A pesar de que solo modifico las aplicaciones, por así decirlo... superficiales en el CMU, se puede acceder a aquellas que dependen de lo que el ECU envíe, desde información del comportamiento de la máquina, hasta la manera en la que el motor opera (modificable). No lo digo yo, está comprobado allá en la interné, y lamentablemente los fabricantes se lavan las manos en vez de dedicarse a crear sistemas más seguros. Digo, no es que todos le estén metiendo mano a sus autos, pero existen personas que aprenden a hacer cosas malas de las buenas intenciones. 


Oshh… pues ya que no hay remedio, dime... ¿qué haremos esta noche?

Al parecer desde la actualización a la versión 31, Mazda retiró el dispositivo WiFi de sus autos. En realidad no lo quitó, solo lo ocultó. Es de esas cosas que vienen desactivadas de fábrica, pero que el hardware contiene totalmente funcional. Allá en la nube exhibían una manera de activarlo con solo ponerle que tu Mazda estaba en la región de "Norte América", pues los primeros en ser desactivados habían sido los japoneses, solo que ya ni siquiera dicha región puede tenerlo, ahora solo la "Europea", creo. De todos modos no importa, el truco fue que la App ignorara la línea de código que condicionaba dicha región.

¡Advertencia! No actives el WiFi del auto si no lo vas a usar, pues al usar un protocolo conocido, es vulnerable a ataques.

Pero o sea, entonces... ¿por qué rayos lo activas?

Para evitar conectarme al CMU con el adaptador USB/Ethernet, el cable de red y el router cuando quiera modificar algo o para poder ejecutar algo remotamente en modo wireless, n_n

En las imágenes se verá que modifico sobre Linux, y lo es. Tengo una copia exacta de todo lo que contiene el CMU, así puedo modificar y ver cómo funcionan las cosas antes de intentarlo en el del Mazda. Algo así como una VM, solo que sin ejecutarlo; es ver si los archivos son modificados con éxito. No por ello significa que no funcione, ¡eh!

Alguien que Sí sabe lo que hace, me explicó que la línea en el código podía ser puesta como comentario y que no afectaría a algo más. Sin embargo, si lo haces... ¡ten mucho cuidado al hacerlo en el CMU en vivo! pues he visto que si el código no está bien escrito, el CMU entra en un reboot en bucle, y es muy difícil (no imposible) regresarlo a su estado original. Quedas advertido.

Bien, pues la cosa está así:

1. Conéctate al CMU.
2. Ve a la siguiente ruta:

/jci/gui/apps/syssettings/js/
3. Haz que el sistema pueda ser de escritura:
mount -o rw,remount /
4. Editamos con "vi":
vi syssettingsApp.js 
5. Dependiendo el tamaño de tu terminal, estará la línea que buscamos. Una vez abierto el editor VIM, teclea:
/Wi-fi
Y pulsa enter Esto, te llevará a la línea que ajusta los parámetros para el Wi-Fi; verás la siguiente línea:
 if((region != (framework.localize.REGIONS['NorthAmerica']) && (region != (framework.localize.REGIONS['Japan']))))
            {// Wi-fi is not available in Japan and NorthAmerica region
                items.push({
                    appData : 'SelectNetworkManagement',
                    text1Id : 'NetworkManagement',
                    hasCaret : false,
                    itemStyle : 'style01'
                });                    
            }
Insertamos "//" (sin las comillas) al inicio. Con esto, haremos que la línea ahora sea un comentario. Debe quedarte algo así:
 //if((region != (framework.localize.REGIONS['NorthAmerica']) && (region != (framework.localize.REGIONS['Japan']))))
            {// Wi-fi is not available in Japan and NorthAmerica region
                items.push({
                    appData : 'SelectNetworkManagement',
                    text1Id : 'NetworkManagement',
                    hasCaret : false,
                    itemStyle : 'style01'
                });                    
            }
6. Guardamos el archivo y reiniciamos el CMU presionando Mute+Nav+Back por 10 segundos.
7. Debes ver la opción para el WiFi en el área de Dispositivos, justo debajo del Bluetooth.







  
Eso es todo, aunque... ya sé que no aplauden XD