
Обратная разработка NavCore 9.884, встроенного в Renault (кодовое имя beaumont)
Обратная разработка встроенного NavCore 9.884 Renault (кодовое имя
beaumont)
Протестировано на: Renault Laguna 3 GT Monaco GP 2012 (кстати, прекрасный автомобиль)
flowchart TD
A[Carminat TomTom LIVE] --> B[Samsung S5P6440<br/>Linux 2.6.28 verrouillé]
B --> C[NAND interne]
B --> D[Carte SD externe]
C --> E[Verrouillé]
D --> F[Modifiable]
E -.->|UART| G[shell root théorique ?]
F -.->|fichiers SD| H[Personnalisations<br/>splash · menus · POI]
style A fill:#5B4FBE,color:#fff
style E fill:#A32D2D,color:#fff
style F fill:#3B6D11,color:#fff
style G fill:#EF9F27,color:#000
style H fill:#1D9E75,color:#fff
Carminat TomTom LIVE — это встроенная навигационная система Renault, устанавливавшаяся на модели 2009–2014 годов (Laguna 3, Mégane 3, Scénic 3, Espace 4, Fluence, Latitude, Koleos…). Она отличается от Carminat TomTom non-Live следующим:
signedloop проверял бы целостность rootfs с помощью дерева Меркла (не подтверждено данным анализом, см. §3)Этот репозиторий документирует анализ прошивки NavCore 9.884 beaumont, включая картографирование файловой системы, статический анализ бинарного файла NavCore и анализ во время выполнения через QEMU/strace.
Использованная методология:
ttgo.bif, loopdir/ext3_loopback)ttn (strace системных вызовов, наблюдение за открываемыми файлами, поведение во время выполнения)Никаких изменений в физическое устройство автомобиля не вносилось. Все анализы выполнялись на копиях файлов SD-карты и загруженной прошивки.
Вся работа, задокументированная здесь, была выполнена на основе личной SD-карты (извлечённой из автомобиля для анализа) и официальной прошивки, загруженной с CDN TomTom.
📌 Развивающийся документ: Этот отчёт отражает текущее состояние знаний, полученных в результате данного анализа. Он может быть улучшен, исправлен или дополнен по мере будущих открытий, вкладов сообщества и эмпирических проверок на реальном оборудовании. Вклады, исправления и отзывы приветствуются.
| Поле | Значение |
|---|---|
| DeviceName | TomTom Carminat LIVE |
| Codename hardware | beaumont (rev 11) |
| NavCore version | 9.884, build 9.884.1609031 |
| Release officielle | NFA2.8-RC06, скомпилирована 27/06/2014 в Дьеппе |
| Kernel Linux | 2.6.28.10-tt1574740 |
| Toolchain | gcc 4.3.3 TomTom CipherWizardry 2009q1_203-474426 |
| Libc | uClibc |
| Init system | Upstart (через shell-скрипт /sbin/init → exec /sbin/upstart) |
Эти сведения получены из ttgo.bif, извлечённого из образа loopdir/ext3_loopback SD-карты, и из файла TomTom-Cfg/release.nfo.
# Extrait ttgo.bif
[TomTomGo]
DeviceName=TomTom Carminat LIVE
DeviceVersionHW=beaumont
ApplicationVersionVersionNumber=9884
ApplicationVersion=1609031.550
RamDiskVersion=20140626
BootLoaderVersion=839378
LinuxVersion=1574740
| Компонент | Идентификация |
|---|---|
| SoC | Samsung S5P6440 (подтверждено через /etc/udev/rules.d/20_local-s5p6440.rules) |
| CPU | ARM1176JZF-S · ARMv6 · little-endian · EABI |
| RAM | не определена статическим анализом |
| Внутренняя память | NAND flash · eMMC (/dev/mmcblk0) |
| Пользовательская SD-карта | /dev/mmcblk1 (доступный слот) |
| Экран | LCD Samsung LTA058B3L0F (согласно DTB) · 480×272 |
| Framebuffer | /dev/fb0 · RGB16/24 |
| GPS | SiRF3 PRIMA · /dev/ttySAC2 |
| Модем GSM/GPRS | Wavecom WISMO218 · /dev/ttyS0 |
| Тюнер RDS-TMC | BCM4750 · bcm4750_spi |
| Bluetooth | Встроенный · hci_uart · только HFP + PBAP (без A2DP) |
| Сенсорный экран | libts · /dev/input/event0 |
/etc/modules)unionfs · ppp_async · ppp_generic · slhc · hidp · hid · rfcomm
sco · hci_uart · l2cap · bluetooth · bcm4750_spi · vfat · msdos
fat · evdev
⚠️ Модуль
signedloop, по сообщениям сообщества (gpspower.net), проверяет целостностьrootfs.img. В извлечённом rootfs не обнаружен (ни в/etc/modules, ни в/lib/modules/2.6.28.10-tt1574740/). Требует подтверждения.
Прошивку можно скачать без аутентификации с CDN Akamai от TomTom:
curl -A "TomTom HOME/2.24.11.8" -O \
"http://download.tomtom.com/sweet/navcore/9.884.1609031_RC06.CAB-Dieppe.cab"
# SHA256 de référence
a4d32daae2cdd6bc23a0660285c4e32e3a098034731eb257172ed7aaef9052d5
Другие доступные версии (проверены HTTP 200):
| Версия | URL |
|---|---|
| 9.844 | http://download.tomtom.com/sweet/navcore/9844.634510.Carminat_TomTom.cab |
| 9.845 RC10 | http://download.tomtom.com/sweet/navcore/9.845_1115399_RC10.CAB-Camiron-RC10.cab |
| 9.846 RC12 | http://download.tomtom.com/sweet/navcore/9.846_1165624_RC12.CAB-Camiron-RC12.cab |
| 9.847 RC14 | http://download.tomtom.com/sweet/navcore/9.847.1302316_RC14.CAB-Camiron-RC14.cab |
| 9.884 RC06 | http://download.tomtom.com/sweet/navcore/9.884.1609031_RC06.CAB-Dieppe.cab |
brew install cabextract # macOS
mkdir extracted && cabextract 9.884.1609031_RC06.CAB-Dieppe.cab -d extracted/
ls extracted/
# → splashw.bmp ttsystem TomTom-Cfg/release.nfo
ttsystem— это образ ext2 (не TTBL), в отличие от не-Live версий.
cd extracted/
mkdir rootfs && 7z x ttsystem -o rootfs/
# Le rootfs réel est dans userfs_partition.tar.gz
cd rootfs/
tar xzf userfs_partition.tar.gz
# Contenu :
# _zImage → Linux kernel ARM zImage
# rootfs.img → filesystem Linux complet (ext2, 67 MB)
# WISMO218_*.cla → firmwares modem
mkdir rootfs_mnt
# Sur Linux :
sudo mount -o loop rootfs.img rootfs_mnt/
# Sur macOS (lecture seule) :
7z x rootfs.img -o rootfs_mnt/