Stránka 1 z 1

Cesta do hlubin TT One New část 1.

Napsal: 10.7.2007, 19:31
od maci
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 :

Obrázek

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ářů:


Obrázek


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 8-) ...

(algoritmus nebude zveřejněn)

Obrázek

Re: Cesta do hlubin TT One New část 1.

Napsal: 29.9.2008, 10:53
od fox50
Článek je hodně starý, ale i přesto se ptám, nebudou další díly nebo informace?

Re: Cesta do hlubin TT One New část 1.

Napsal: 29.9.2008, 13:51
od Plano
Asi nebudou. Jak maci psal, manželka je naštvaná. A jak je vidět tak byla hodně naštvaná :pistol:

Re: Cesta do hlubin TT One New část 1.

Napsal: 29.9.2008, 16:12
od Docent
Tak ať manželce koupí nějakou navigaci :grin: .

Re: Cesta do hlubin TT One New část 1.

Napsal: 29.9.2008, 17:32
od Scorpio_cz
Řek bych že spíš zabere kytka :blee: než navigace :lol1:

Re: Cesta do hlubin TT One New část 1.

Napsal: 29.9.2008, 18:03
od Plano
Scorpio mi to sebral z klavesnice :pc: Chtel jsem napsat, ze spis nejakou vegetaci nez navigaci :chlamani:

Re: Cesta do hlubin TT One New část 1.

Napsal: 30.9.2008, 8:22
od fox50
Š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.

Re: Cesta do hlubin TT One New část 1.

Napsal: 30.9.2008, 15:45
od Gumídek
S linuxem má zkušenosti SPM-to je spamík(docent junior). Zkus se zeptat jeho...