Jak na to: Upravujeme firmware DVD DivX přehrávače

  • Lukáš Straka
    Kategorie: Návody, Přehrávače a rekordéry
    Úno 16, 2007
    1× Komentováno
    Nelíbí se vám menu vašeho DVD přehrávače? Nebo snad neumí česky? Nevěšte hlavu, to vše a mnohem víc lze změnit! Pokud v těle vašeho DivX přehrávače tepe dnes stále hojně používaný čip MTK 1389xx od Mediateku, můžete si ho celkem snadno změnit k obrazu svému. Většina výrobců čipsetů pro DivX přehrávače si drží programovací kódy pro svoje produkty pod pokličkou, aby měli monopol a kontrolu nad vývojem software pro svoje výrobky. Stejně tak i Mediatek. Naštěstí se však našly po celém světě skupiny lidí, kterým to nedalo a začaly dle dostupné dokumentace firmware MTK studovat a postupně odhalovat, kde se nachází která kritická data. Zrodil se MTK hacking. Jeho členové se sdružují pod několika diskusními fóry, kde si vzájemně mění informace. Nejvýznamnější je zřejmě fórum MTK13x9 na Yahoo.com. Tam lze po registraci pročítat příspěvky a hlavně stáhnout potřebný software a doplňky. Ale zpět k jeho vývoji.
    Logo MTK Group
    Nejdříve vznikaly jednoduché disassemblery a splittery, které vypreparovaly části známého kódu. Ten se po úpravě obtížně vracel zase zpět na správné místo v struktuře firmware. Často docházelo k porušení parity či integrity dat a DVD přehrávač se tím usmrtil. Navíc byly známy jen velmi malé útržky kódu a zbytek byl oblastí neprobádanou. S postupem času začaly vznikat mnohem sofistikovanější utility se standardním rozhraním a vskutku přelomovým se stal program MTKRemaker. V současnosti je již prozkoumána většina firmware a bílých míst je čím dál méně. MTK hacking vstupuje pomalu do druhé fáze. Zatímco dosud bylo možné pouze měnit celé kusy kódu, nyní se začínají programovat zcela nové části s novými funkcemi. Hodně se také experimentuje s kombinováním částí kódů různých přehrávačů. Čip MTK1389xx obsahuje totiž spoustu funkcí, které jsou schválně ve firmwarech většiny výrobců z licenčních důvodů blokovány. Například podpora HDCD, DVD-Audio a DTS dekodér zvuku atd. Tyto pokusy jsou však v zárodcích a výsledky jsou zatím diskutabilní. Ale nepředbíhejme, nás bude zatím zajímat první fáze – záměna známých částí. Co vše lze (relativně) bezpečně měnit: skin – všechny podkladové obrázky fonty, znakové sady jazyky OSD ikony, spořič obrazovky Co lze měnit s dopadem na funkčnost přístroje: kód dálkového ovladače kódy řídící čelní displej

    MTK Remaker

    Jedná se o stále komplexnější program, který rozčleňuje jednotlivé části kódu firmware a umožňuje kterýkoliv segment uložit do zvláštního souboru nebo ho opět ze souboru do firmware implementovat. Je stále ve vývoji a jeho možnosti se rozšiřují. Nejnovější verze MTKRemaker 0.23b4 obsahuje i prohlížeče některých částí jako fontů, ikon, textů a podobně. Je zde obsažen též blok poskytující informace o verzi nahraného firmware, verzích serva, titulků, RISC procesoru atd. Dozvíte se zde i jaké další přehrávače mají stejný kód DO nebo čelního panelu.

    Struktura firmware

    Firmware se v zásadě rozděluje na dva základní oddíly. Je to část obslužných kódu – “code part“, která zahrnuje rutiny řídící veškerý hardware, a část datová - “data part“. Ta obsahuje obrázky, texty, fonty a jiná data. Dnes se budeme zabývat pouze datovým segmentem, protože popsání kódové části by vystačilo na samostatný článek. Navíc kódová část zatím není zcela dopodrobna prozkoumána a výměny těchto částí kódu jsou mnohem více nebezpečné. Strukturu firmware nejlépe vystihuje následující obrázek.
    Struktura firmware se dělí na dvě základní části
    Firmware se v Remakeru prochází jako klasická adresářová struktura. Od bazálních oddílů se “proklikáte“ až k jejich jednotlivým částem. Na konci souboru se nachází kontrolní součet - Checksum, který MTK Remaker kontroluje a ověřuje tak integritu změněných dat. Není to však stoprocentní zárukou bezpečnosti a funkčnosti modifikovaného firmware.

    Měníme znakovou sadu, spořič a skin

    Největším problémem u některých DivX DVD přehrávačů je absence české znakové sady při přehrávání titulků k DivX filmům. Titulky obsahující paznaky místo diakritiky jsou potom takřka nečitelné. V přehrávači je totiž zpravidla západoevropská znaková sada ISO8859-1. Po její výměně může být problém vyřešen. Této možnosti využijí i zarytí příznivci Linuxu a oficiálních standardů. Pseudo-standardní středoevropskou znakovou sadu win1250 od Microsoftu, která je v přehrávači, pak není problém vyměnit za oficiální středoevropskou normu ISO 8859-2. Nejde však jen o samotnou znakovou sadu. Ta je totiž ve formě řady bitmap a proto lze měnit také tvar jednotlivých písmen a v rámci mezí i jejich velikost. K tomu slouží speciální utility. My ale budeme používat již prefabrikované fonty, které jsou ke stažení z internetu nebo je můžeme vypreparovat z firmware jiného přehrávače, který požadovanou sadu má. Načteme do Remakeru soubor s firmware (přípona *.BIN) a v datové oblasti nalezneme font1 a font6 (ten nemusí u některých firmware být obsažen nebo se může jeho číslo lišit). V okně náhledu si můžeme celou sadu prohlédnout a po stisku pravého tlačítka myši se nám nabídne volba Save a Replace. Nejdřív si tedy uložíme starou sadu. Tímto způsobem dostaneme soubor se samotnými znaky také třeba z jiného firmware. Obdobně nahradíme novou sadou volbou Replace.
    Znakovou sadu v podobě bitmap lze lehce nahradit za jinou
    Tím je vše hotovo, zbývá uložit celý firmware MT13x9. Název souboru musí být shodný s původním a to včetně malých/velkých písmen. Pozor, MTKRemaker ukládá firmware s příponou *.bin a nikoliv *.BIN. Pokud to nezměníte, přístroj soubor nerozpozná. Celá tato procedura pomůže ale pouze tehdy, pokud přehrávač předtím zobrazoval místo diakritiky jiné znaky. Je-li na jejich místě pouze mezera, znamená to, že váš firmware umí používat jen prvních 128 znaků ASCII tabulky a obsahuje příkaz, aby všechny znaky nad touto hranicí nahrazoval automaticky mezerou. Pak nezbývá, než doufat, že výrobce tento blok v nové verzi firmware odstraní. Analogickým způsobem lze nahradit také vzhled všech podkladových obrázků. Zde vyměníme část MPEG 1-3. První je úvodní obrazovkou, druhý je podkladem pod náhled JPG obrázků (nemusí být ve firmware obsažen) a třetí tvoří podklad pod adresářovou strukturu.
    Starý fádní podklad Nový výsledek po čtvrthodině práce v grafickém editoru
    Na internetu nebo přímo u některých verzí MTKRemakeru naleznete nepřeberné množství těchto motivů, ale můžete si vytvořit vlastní pomocí úprav jakékoliv fotografie. Další utilita MTK Mpeg Tools pak převede váš *.jpg obrázek na *.mpeg soubor požadovaných rozměrů dle TV normy a přijatelné velikosti (aby se vůbec vešel do paměti přehrávače). I když logické by bylo vybrat rozlišení 720x576 bodů (PAL), je nutné zvolit druhé nabízené, tedy 720x480 (NTSC). Jinak nebudou obrázky sedět a vše bude rozjeté.
    Udělejte radost své přítelkyni
    Motiv spořiče obrazovky nalezneme mezi bitmapami sekce Graphics, konkrétně pod číslem 23. Tuhle část jsem netestoval, ale mělo by být možné nahradit zvolený obrázek jinou bitmapou.

    Počešťujeme prostředí přehrávače

    Je jistě velmi příjemné, když přístroj komunikuje česky, ale většina přehrávačů počeštěné menu nemá. Přitom není příliš obtížné ho přeložit. Pokud naleznete firmware již s přeloženým menu, je možné ho použít (můžou tam být ale drobné rozdíly), ale není-li k dispozici, nezbývá než zapojit vlastní překladatelské schopnosti. Pro úpravu OSD jazyka se používá program MTK Lang Editor, aktuálně ve verzi 02, která plně postačuje. Nejdříve v Remakeru uložíme implicitní jazyk Language1 (anglicky) a zvolíme si, který z jazyků nahradíme češtinou, například dánštinu. Tu tedy také uložíme. V Lang Editoru potom načteme angličtinu jako default a dánštinu jako editovanou. Nyní můžeme začít řádek po řádku překládat. Ideální je mít vedle sebe puštěný přehrávač a ověřovat hned, jaký mají překládaná slova v menu vlastně význam. Často narazíte na formátovací znaky (%, 2dx, 3d atd.). Ty slouží k tomu, aby byly nahrazeny proměnnými jako je tomu například v programovacích jazycích typu C, případně určují, jaký se má použít pro proměnnou font. Tyto znaky je tedy třeba zachovat! U každého řádku lze v políčku Font též určit jakým fontem bude vypsán. Pokud se budete například divit, že místo čárek hlasitosti máte nějaké čínské znaky, vězte že jde o špatně nastavený font.
    Je nutné přeložit několik stovek řádků Takto vypadá hotové menu
    Překlad celého menu je časově poměrně náročnou záležitostí. Celkem je ve firmware takřka tisícovka řádků. Mnoho z nich ale naštěstí není potřeba překládat. Narazíte totiž i na řetězce, které váš přehrávač nepoužívá. Při překladu je nezbytně nutné dávat pozor na redundantní výrazy. Procházením dánské mutace jsem zjistil, že některé řádky, kterou jsou v angličtině obsazeny, jsou prázdné. Tak to musí také zůstat (neplatí to úplně u všech řádků)! Pokud byste na prázdné místo v jazykové mutaci doplnili řetězec “DVD-Video“, který je v anglickém originálu, přehrávač by si s tím nedokázal poradit a odmítal by načíst jakékoliv médium! Naštěstí, když přepnete OSD do jazyka, který nebyl upravován, měl by přehrávač začít disky načítat, tudíž bude možné ho „přeflashovat“ opraveným firmwarem. Když je překlad hotov, je třeba ještě změnit v originálním jazyce dánštinu na češtinu a znak země na CZE. Pak se už oba soubory vrátí zpět do firmware. V MTK remakeru je možno hned ověřit, zda se vše zobrazuje správně a ve správném fontu, pomocí integrovaného prohlížeče.
    Z tuctového přehrávače originální “umělecké“ dílo :-)

    Jak dostat firmware z a do přehrávače

    Firmware lze přímo z přehrávače získat jen pomocí servisního kabelu, ale běžně ho lze stáhnout z výše uvedených stránek nebo webu výrobce. Upravený firmware se do přehrávače nahrává pomocí CD s editovaným souborem (viz odstavec o správném pojmenování), které stačí vložit do přehrávače. Přístroj soubor rozezná a pak už se stačí řídit pokyny na obrazovce.

    Varování na závěr

    Pokud se rozhodnete vzít osud a vzhled svého DVD přehrávače do vlastních rukou, musíte počítat s tím, že se jedná o “neodborný“ zásah do přístroje a tudíž na případné zničení, nebo částečnou nefunkčnost nelze uplatnit záruku. V servisu rychle zjistí co způsobilo kolaps přístroje a ještě vám s radostí nafakturují penále za neoprávněnou reklamaci. Proto pozor! Všechny výše popsané postupy provádíte pouze a jen na vlastní zodpovědnost. Porušíte-li neopatrným experimentováním firmware natolik, že přístroj již nenaběhne, musí se opravit pomocí speciálního sériového kabelu. To se však neobejde bez zásahu do vnitřních součástí přehrávače. O tom, jak takový mrtvý přehrávač opravit, se dočtete také na našem serveru. Už vás ale nechci více děsit, tak pokud máte dost kuráže, s chutí do úpravy vašeho DVD přehrávače! Poznámka: tento článek je již staršího data, snažil jsem se ho alespoň minimálně aktualizovat. Většina věcí by však měla stále platit, vývoj jen pokročil a úpravci nabízí další možnosti vylepšení firmware. Osvědčený Mediatek žije dál!

    PŘIDAT KOMENTÁŘ

    1 Komentáře

    1. Dobry den, mam podobny problem s firmware, chci se zeptat, jestli neexistuje nejaky program i na upravu cipu LSI logic. Dekuji za odpoved.