Hyundai-Autosoftware aktualisieren private Schlüssel von Beispielcode einfach zu Google

Letzten Sommer habe ich einen Hyundai Ioniq SEL von 2021 gekauft. Es ist ein schöner, sparsamer Hybrid mit einer anständigen Menge an Funktionen wie drahtlosem Android Auto/Apple CarPlay, Aufladen von Mobiltelefonen, beheizten Sitzen und einem Schiebedach.

Eine Sache, die mir an diesem Fahrzeug besonders gut gefallen hat, war das In-Car-Infotainmentsystem (IVI). Wie ich bereits erwähnt hatte, hatte es drahtloses Android Auto, das in dieser Preisklasse selten zu sein schien, und es hatte einige ziemlich nette und flüssige Animationen in seinen Menüs, die mir sagten, dass die CPU/GPU nicht völlig unterfordert war, oder zumindest die Software es lief war nicht super aufgepumpt.

Wie bei vielen neuen Gadgets, die ich bekomme, wollte ich damit herumspielen und schließlich sehen, was ich damit machen kann.

Das IVI im Auto ist, wie vieles heutzutage, nur ein Computer. Mein Ziel war es, das IVI zu hacken, um Root-Zugriff zu erhalten und hoffentlich meine eigene Software darauf ausführen zu können. Der erste Schritt zum Hacken eines solchen Geräts ist natürlich die Recherche.

Einige der offensichtlichen Dinge, nach denen ich gesucht habe, waren:

Was ist das Laufgerät? Es gibt zwei Versionen des IVI, die browserbasierte, auf der Android läuft, und die Linux-basierte. Hat das schon mal jemand gehackt? Die Android-basierte Navigationsversion lässt sich einfach hacken, indem Sie Ihre eigenen APKs über das Engineering-Menü installieren. Das Linux-basierte wurde nicht gehackt. Verfügt das Nicht-Navigations-IVI über einen Engineering-Modus? Ja

Ich liebe Entwicklereinstellungen und Test-Apps. Es macht normalerweise viel Spaß, mit ihnen zu spielen. Ich dachte, ich könnte sogar Glück haben und es gäbe eine Option, um einen SSH-Server oder ähnliches zu aktivieren.

Ich habe mit meinem IVI herausgefunden, dass ich auf den Engineering-Modus zugreifen kann, indem ich zum Software-Update-Bildschirm gehe, schnell zehnmal auf die linke Seite der Update-Schaltfläche und dann auf die rechte Seite der Schaltfläche drücke. Einstellungsbildschirm Wenn ein Bildschirm nicht sofort angezeigt wird, wird einfach wiederholt gedrückt, bis es funktioniert.

Engineering Mode PIN Screen

Der Engineering-Modus wurde mit einer 4-stelligen PIN gesichert. Diese Anleitung hat mir geholfen herauszufinden, dass die PIN "2400" war.

Als ich in den Engineering-Modus wechselte, ging ich durch die Menüs und sah mir alle verfügbaren Optionen an. Es gab eine Menge Diagnosen, Debug-Anzeigen und versteckte Einstellungen. Einige der Menüs sind mir aufgefallen:

USB-Kopie Dieses Menü hatte Unteroptionen zum Kopieren von Protokollen auf ein USB-Laufwerk oder zum Aktualisieren einzelner Teile des Systems von einem USB-Laufwerk. Jede der Optionen, die durch Gedrückthalten der „Radio“-Taste auf dem IVI angezeigt wird, würde auch die Protokollerfassung auslösen. Modulinformationen > ISV-Parameter Dieses Menü hatte eine ADB-TCP-Option sowie Optionsfelder für "SW Test Tools".

Mit diesen Einstellungen habe ich eine Reihe von Protokollen auf meinem USB-Gerät gesammelt und versucht, ADB zu verwenden, um eine Verbindung zum IVI herzustellen.

Ich habe mein Telefon drahtlos mit Android Auto verbunden, um auf das Wi-Fi-Netzwerk des IVI zuzugreifen, und versucht, die Ports auf dem Gerät zu scannen, konnte aber keine offenen ADB-Ports finden. :( Irgendwann fand ich heraus, dass diese Einstellungen wirklich nichts bewirkten.

Die Protokolle erwiesen sich als eine Fülle von Informationen darüber, wie das IVI unter der Haube funktioniert.

Die Protokolle werden in einer großen tar.gz-Datei mit dem Namen "daudio2.0v_{Datum}-{Zeit}.tar.gz" auf USB übertragen.

D-Audio-Protokolldatei

Das Archiv enthält viele Dateien, darunter das Kernel-Protokoll, die Ausgabe des "top"-Befehls, Logcat-Protokolle und BlueLink-Protokolle. Protokolldateien

Die interessanteste Protokolldatei ist die Logcat-Datei. Grundsätzlich wird jede Anwendung, die auf dem IVI ausgeführt wird, stark protokolliert, und alles wird in diese Datei umgeleitet. Logcat-Protokoll

An diesem Punkt wusste ich, dass es nicht so einfach sein würde, in das System einzusteigen, wie eine Einstellung zu aktivieren. Ich müsste etwas ausnutzen, um darauf zuzugreifen.

Ich habe entschieden, dass der beste Weg, um herauszufinden, wie man hineinkommt, darin besteht, die auf dem IVI ausgeführten Apps zurückzuentwickeln. Aber dazu brauchte ich die Anwendungsdateien. Ich dachte, der einfachste Weg, das zu tun, wäre, einfach ein Firmware-Update zu bekommen und es zu entpacken.

Am Ende habe ich noch etwas recherchiert und die Protokolle durchsucht. Ich habe herausgefunden, dass diese IVIs funktionieren...

Hyundai-Autosoftware aktualisieren private Schlüssel von Beispielcode einfach zu Google

Letzten Sommer habe ich einen Hyundai Ioniq SEL von 2021 gekauft. Es ist ein schöner, sparsamer Hybrid mit einer anständigen Menge an Funktionen wie drahtlosem Android Auto/Apple CarPlay, Aufladen von Mobiltelefonen, beheizten Sitzen und einem Schiebedach.

Eine Sache, die mir an diesem Fahrzeug besonders gut gefallen hat, war das In-Car-Infotainmentsystem (IVI). Wie ich bereits erwähnt hatte, hatte es drahtloses Android Auto, das in dieser Preisklasse selten zu sein schien, und es hatte einige ziemlich nette und flüssige Animationen in seinen Menüs, die mir sagten, dass die CPU/GPU nicht völlig unterfordert war, oder zumindest die Software es lief war nicht super aufgepumpt.

Wie bei vielen neuen Gadgets, die ich bekomme, wollte ich damit herumspielen und schließlich sehen, was ich damit machen kann.

Das IVI im Auto ist, wie vieles heutzutage, nur ein Computer. Mein Ziel war es, das IVI zu hacken, um Root-Zugriff zu erhalten und hoffentlich meine eigene Software darauf ausführen zu können. Der erste Schritt zum Hacken eines solchen Geräts ist natürlich die Recherche.

Einige der offensichtlichen Dinge, nach denen ich gesucht habe, waren:

Was ist das Laufgerät? Es gibt zwei Versionen des IVI, die browserbasierte, auf der Android läuft, und die Linux-basierte. Hat das schon mal jemand gehackt? Die Android-basierte Navigationsversion lässt sich einfach hacken, indem Sie Ihre eigenen APKs über das Engineering-Menü installieren. Das Linux-basierte wurde nicht gehackt. Verfügt das Nicht-Navigations-IVI über einen Engineering-Modus? Ja

Ich liebe Entwicklereinstellungen und Test-Apps. Es macht normalerweise viel Spaß, mit ihnen zu spielen. Ich dachte, ich könnte sogar Glück haben und es gäbe eine Option, um einen SSH-Server oder ähnliches zu aktivieren.

Ich habe mit meinem IVI herausgefunden, dass ich auf den Engineering-Modus zugreifen kann, indem ich zum Software-Update-Bildschirm gehe, schnell zehnmal auf die linke Seite der Update-Schaltfläche und dann auf die rechte Seite der Schaltfläche drücke. Einstellungsbildschirm Wenn ein Bildschirm nicht sofort angezeigt wird, wird einfach wiederholt gedrückt, bis es funktioniert.

Engineering Mode PIN Screen

Der Engineering-Modus wurde mit einer 4-stelligen PIN gesichert. Diese Anleitung hat mir geholfen herauszufinden, dass die PIN "2400" war.

Als ich in den Engineering-Modus wechselte, ging ich durch die Menüs und sah mir alle verfügbaren Optionen an. Es gab eine Menge Diagnosen, Debug-Anzeigen und versteckte Einstellungen. Einige der Menüs sind mir aufgefallen:

USB-Kopie Dieses Menü hatte Unteroptionen zum Kopieren von Protokollen auf ein USB-Laufwerk oder zum Aktualisieren einzelner Teile des Systems von einem USB-Laufwerk. Jede der Optionen, die durch Gedrückthalten der „Radio“-Taste auf dem IVI angezeigt wird, würde auch die Protokollerfassung auslösen. Modulinformationen > ISV-Parameter Dieses Menü hatte eine ADB-TCP-Option sowie Optionsfelder für "SW Test Tools".

Mit diesen Einstellungen habe ich eine Reihe von Protokollen auf meinem USB-Gerät gesammelt und versucht, ADB zu verwenden, um eine Verbindung zum IVI herzustellen.

Ich habe mein Telefon drahtlos mit Android Auto verbunden, um auf das Wi-Fi-Netzwerk des IVI zuzugreifen, und versucht, die Ports auf dem Gerät zu scannen, konnte aber keine offenen ADB-Ports finden. :( Irgendwann fand ich heraus, dass diese Einstellungen wirklich nichts bewirkten.

Die Protokolle erwiesen sich als eine Fülle von Informationen darüber, wie das IVI unter der Haube funktioniert.

Die Protokolle werden in einer großen tar.gz-Datei mit dem Namen "daudio2.0v_{Datum}-{Zeit}.tar.gz" auf USB übertragen.

D-Audio-Protokolldatei

Das Archiv enthält viele Dateien, darunter das Kernel-Protokoll, die Ausgabe des "top"-Befehls, Logcat-Protokolle und BlueLink-Protokolle. Protokolldateien

Die interessanteste Protokolldatei ist die Logcat-Datei. Grundsätzlich wird jede Anwendung, die auf dem IVI ausgeführt wird, stark protokolliert, und alles wird in diese Datei umgeleitet. Logcat-Protokoll

An diesem Punkt wusste ich, dass es nicht so einfach sein würde, in das System einzusteigen, wie eine Einstellung zu aktivieren. Ich müsste etwas ausnutzen, um darauf zuzugreifen.

Ich habe entschieden, dass der beste Weg, um herauszufinden, wie man hineinkommt, darin besteht, die auf dem IVI ausgeführten Apps zurückzuentwickeln. Aber dazu brauchte ich die Anwendungsdateien. Ich dachte, der einfachste Weg, das zu tun, wäre, einfach ein Firmware-Update zu bekommen und es zu entpacken.

Am Ende habe ich noch etwas recherchiert und die Protokolle durchsucht. Ich habe herausgefunden, dass diese IVIs funktionieren...

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow