Cesta do hlubin TT One New část 1.
Cesta do hlubin TT One New část 1.
Zkusme se podívat trošku do hloubky, jak fungují softwarová "střeva" TomTomu.
Když se podíváme na filesystém paměťové karty (harddisku) TomToma první co zaujme je soubor ttsystem. Co v něm
může být? Jako první přijde obhlídka "očima". Soubor má jakýsi podpis "TTBL", dále vypadá alespoň opticky jako
komprimovaný nebo přinejmenším encodovaný. Když si nechám v souboru vyhledat "human-readable" znaky, naleznu
následující sekci :
V ní jsou černě označeny čitelné řetězce, v nichž mně obzvláště zaujmou (žlutě vyznačené) řetězce GZIP
(komprimační algoritmus) a Linux. Taky si nemůžu nevšimnout, že modře proškrtaná sekce je zjevně
nekomprimovaná, kdežto ta proškrtaná červeně komprimovaná je. Dojdu k závěru že jsem našel extractor
jakési linuxovské kernel image fungující jako bootloader.
Extractor je zřejmě volán přímo z firmware TomToma, kde je na něj po provedení základních operací
(rozchození USB, SD storage atp.) předáno řízení. Další analýza řetězců v souboru ukáže, že TomTom má inicializační
ramdisk. Celkově to tedy funguje tak, že firmware předá řízení do místa soubor ttsystem, kde je extractor a ten
rozbalí image do ramdisku, odkud je pak spuštěna.
Nyní jak rozbalit to, co rozbaluje extractor. Pokud je image komprimovaná GZIPem, o čemž svědčí nalezený řetězec,
potom bude zkomprimovaná sekce začínat hex. podpisem 1F 8B. Takovéto místo skutečně bezprostředně za textovými
řetězci nacházím a image rozbaluji. Vypadne mi následující struktura adresářů:
Když adresáře začnu analyzovat, vypadnou mi následující zajímavosti:
- ramdisk obsahuje mini-linux založený na BusyBoxu, což je jakási knihovna drobných utilit.
- také navigační software, v adresáři /bin/ttn je uložen v ramdisku
- inicializační skript /etc/rc umožňuje vyvolat ladící mód TomToma se shellem...
(ukázka skriptu)
echo "* Starting ${product}"
if test -f ${debugf}
then
${ttnapp} > /dev/console 2>&1 &
echo "* Starting shell"
sh
else
${ttnapp} > /dev/null 2>&1 &
fi
- zkompilované image jsou ELFovské image pro ARMovské procesory
Za použití vhodného disassembleru pro ARMy, například IDA se otevírá cesta podívat se, jak má TomTom udělaná
některá mimořádně zajímavá místa, například validaci aktivačního kódu, ale o tom někdy příště, manželka
už je naštvaná, že pořád sedím u počítače ...
(algoritmus nebude zveřejněn)
Když se podíváme na filesystém paměťové karty (harddisku) TomToma první co zaujme je soubor ttsystem. Co v něm
může být? Jako první přijde obhlídka "očima". Soubor má jakýsi podpis "TTBL", dále vypadá alespoň opticky jako
komprimovaný nebo přinejmenším encodovaný. Když si nechám v souboru vyhledat "human-readable" znaky, naleznu
následující sekci :
V ní jsou černě označeny čitelné řetězce, v nichž mně obzvláště zaujmou (žlutě vyznačené) řetězce GZIP
(komprimační algoritmus) a Linux. Taky si nemůžu nevšimnout, že modře proškrtaná sekce je zjevně
nekomprimovaná, kdežto ta proškrtaná červeně komprimovaná je. Dojdu k závěru že jsem našel extractor
jakési linuxovské kernel image fungující jako bootloader.
Extractor je zřejmě volán přímo z firmware TomToma, kde je na něj po provedení základních operací
(rozchození USB, SD storage atp.) předáno řízení. Další analýza řetězců v souboru ukáže, že TomTom má inicializační
ramdisk. Celkově to tedy funguje tak, že firmware předá řízení do místa soubor ttsystem, kde je extractor a ten
rozbalí image do ramdisku, odkud je pak spuštěna.
Nyní jak rozbalit to, co rozbaluje extractor. Pokud je image komprimovaná GZIPem, o čemž svědčí nalezený řetězec,
potom bude zkomprimovaná sekce začínat hex. podpisem 1F 8B. Takovéto místo skutečně bezprostředně za textovými
řetězci nacházím a image rozbaluji. Vypadne mi následující struktura adresářů:
Když adresáře začnu analyzovat, vypadnou mi následující zajímavosti:
- ramdisk obsahuje mini-linux založený na BusyBoxu, což je jakási knihovna drobných utilit.
- také navigační software, v adresáři /bin/ttn je uložen v ramdisku
- inicializační skript /etc/rc umožňuje vyvolat ladící mód TomToma se shellem...
(ukázka skriptu)
echo "* Starting ${product}"
if test -f ${debugf}
then
${ttnapp} > /dev/console 2>&1 &
echo "* Starting shell"
sh
else
${ttnapp} > /dev/null 2>&1 &
fi
- zkompilované image jsou ELFovské image pro ARMovské procesory
Za použití vhodného disassembleru pro ARMy, například IDA se otevírá cesta podívat se, jak má TomTom udělaná
některá mimořádně zajímavá místa, například validaci aktivačního kódu, ale o tom někdy příště, manželka
už je naštvaná, že pořád sedím u počítače ...
(algoritmus nebude zveřejněn)
TomTom ONE New 2 GB sw 8.002
Western and Central Europe 715.1703 legal
HTC Touch Cruise 8 GB
Western and Central Europe 715.1703 legal
HTC Touch Cruise 8 GB
Re: Cesta do hlubin TT One New část 1.
Článek je hodně starý, ale i přesto se ptám, nebudou další díly nebo informace?
TomTom Go920 app: 9.510 + 8GB SD + RDS-TMC 4V00.010.2
Mapa: Europe 930.5563
TomTom Home 2.9.7.3256
Škoda Octavia 4x4 1.8T, 110 KW
Mapa: Europe 930.5563
TomTom Home 2.9.7.3256
Škoda Octavia 4x4 1.8T, 110 KW
- Plano
- Příspěvky: 125
- Registrován: 18.6.2006, 14:06
- Bydliště: pár kilometrů od Hradec Králové
- Kontaktovat uživatele:
Re: Cesta do hlubin TT One New část 1.
Asi nebudou. Jak maci psal, manželka je naštvaná. A jak je vidět tak byla hodně naštvaná
Hyundai Santa Fe 2,0 CRDi 4x4
TomTom GO 750 Traffic, v9.465, Maps: Europe_East v905.4754
Beltronic RX65 Euro
www.e-samolepky.eu
Fotky radarů - rozdělení dle kategorií
TomTom GO 750 Traffic, v9.465, Maps: Europe_East v905.4754
Beltronic RX65 Euro
www.e-samolepky.eu
Fotky radarů - rozdělení dle kategorií
Re: Cesta do hlubin TT One New část 1.
Tak ať manželce koupí nějakou navigaci .
Lidstvo vyhyne na vlastní blbost. Příspěvky některých uživatelů (nejen) na tomto fóru jsou toho jasným důkazem .
- Scorpio_cz
- Příspěvky: 678
- Registrován: 5.6.2008, 19:21
Re: Cesta do hlubin TT One New část 1.
Řek bych že spíš zabere kytka než navigace
- Plano
- Příspěvky: 125
- Registrován: 18.6.2006, 14:06
- Bydliště: pár kilometrů od Hradec Králové
- Kontaktovat uživatele:
Re: Cesta do hlubin TT One New část 1.
Scorpio mi to sebral z klavesnice Chtel jsem napsat, ze spis nejakou vegetaci nez navigaci
Hyundai Santa Fe 2,0 CRDi 4x4
TomTom GO 750 Traffic, v9.465, Maps: Europe_East v905.4754
Beltronic RX65 Euro
www.e-samolepky.eu
Fotky radarů - rozdělení dle kategorií
TomTom GO 750 Traffic, v9.465, Maps: Europe_East v905.4754
Beltronic RX65 Euro
www.e-samolepky.eu
Fotky radarů - rozdělení dle kategorií
Re: Cesta do hlubin TT One New část 1.
Škoda, rozhodně by bylo zajímavé zjistit některé věci z vnitřku navigace. Protože nemám žádné zkušenosti s Linuxem pomoc by se hodila.
TomTom Go920 app: 9.510 + 8GB SD + RDS-TMC 4V00.010.2
Mapa: Europe 930.5563
TomTom Home 2.9.7.3256
Škoda Octavia 4x4 1.8T, 110 KW
Mapa: Europe 930.5563
TomTom Home 2.9.7.3256
Škoda Octavia 4x4 1.8T, 110 KW
Re: Cesta do hlubin TT One New část 1.
S linuxem má zkušenosti SPM-to je spamík(docent junior). Zkus se zeptat jeho...