четверг, 7 октября 2010 г.

HDX BD-1. Hack. Исследуем upgrade.zip. (1)

Новая версия прошивки распространяется в файле, который называется примерно так: "HDX BD1 Firmware 4.20.zip"

Немного поразбираемся с устройством этого файла.
Что там внутри zip-а?
akhromov@x200s:~/stuff/bd/firmware/4.20$ unzip "HDX BD1 Firmware 4.20.zip" Archive: HDX BD1 Firmware 4.20.zip creating: upgrade/ inflating: upgrade/upgrade_data.img inflating: upgrade/imaterial.romfs inflating: upgrade/zbimage-linux-xload_safemode.dat inflating: upgrade/zbimage-yamon-xload inflating: upgrade/phyblock0-0x20000padded.957-E1.dat inflating: upgrade/zbimage-linux-xload.dat inflating: upgrade/xmaterial.romfs inflating: upgrade/zbimage-linux-xload inflating: upgrade/sigma.bin inflating: upgrade/zbimage-linux-xload_safemode inflating: upgrade/phyblock0-0x20000padded.957-E1 akhromov@x200s:~/stuff/bd/firmware/4.20$ cd upgrade akhromov@x200s:~/stuff/bd/firmware/4.20/upgrade$ ls -la total 197852 drwxrwxrwx 2 akhromov akhromov 4096 2010-08-13 13:11 . drwxr-xr-x 3 akhromov akhromov 4096 2010-10-07 12:54 .. -rwxrwxrwx 1 akhromov akhromov 3837952 2010-08-11 13:36 imaterial.romfs -rwxrwxrwx 1 akhromov akhromov 131072 2010-08-11 13:36 phyblock0-0x20000padded.957-E1 -rwxrwxrwx 1 akhromov akhromov 131348 2010-08-11 13:36 phyblock0-0x20000padded.957-E1.dat -rwxrwxrwx 1 akhromov akhromov 8388608 2010-08-11 13:37 sigma.bin -rwxrwxrwx 1 akhromov akhromov 162529280 2010-08-11 13:37 upgrade_data.img -rwxrwxrwx 1 akhromov akhromov 138240 2010-08-11 13:37 xmaterial.romfs -rwxrwxrwx 1 akhromov akhromov 7697408 2010-08-11 13:37 zbimage-linux-xload -rwxrwxrwx 1 akhromov akhromov 7697684 2010-08-11 13:37 zbimage-linux-xload.dat -rwxrwxrwx 1 akhromov akhromov 5911552 2010-08-11 13:37 zbimage-linux-xload_safemode -rwxrwxrwx 1 akhromov akhromov 5911828 2010-08-11 13:37 zbimage-linux-xload_safemode.dat -rwxrwxrwx 1 akhromov akhromov 194560 2010-08-11 13:37 zbimage-yamon-xload akhromov@x200s:~/stuff/bd/firmware/4.20/upgrade$
По мере надобности разберемся со всем, но сейчас нам наиболее интересен файл upgrade_data.img. В нем как раз и находится новая версия прошивки HDX BD-1. Он представляет собой RAW архив обычных файлов.

Ну а раз так, то:
$ sudo mount -o loop upgrade_data.img img
Смотрим, что внутри:
akhromov@x200s:~/tmp/img$ ls -la total 6002 drwxr-xr-x 8 root root 2048 2010-08-11 13:35 . drwxr-xr-x 3 akhromov akhromov 4096 2010-10-07 15:02 .. drwxrwxrwx. 4 root root 2048 2010-08-11 13:35 bdj -rwxrwxrwx. 1 root root 5821617 2010-08-11 13:35 bin.dat -rwxrwxrwx. 1 root root 144 2010-08-11 13:35 bootscript -rwxrwxrwx. 1 root root 2225 2010-08-11 13:35 check_dsp.bash -rwxrwxrwx. 1 root root 359 2010-08-11 13:35 fw_reload_t3.bash -rwxrwxrwx. 1 root root 157084 2010-08-11 13:35 imaterial.romfs_upgrade.tar drwxrwxrwx. 4 root root 6144 2010-08-11 13:35 lib drwxrwxrwx 2 root root 16384 2010-08-11 13:35 lost+found -rwxrwxrwx. 1 root root 338 2010-08-11 13:35 mbox_version.sh drwxrwxrwx. 10 root root 2048 2010-08-11 13:35 netapp drwxrwxrwx. 5 root root 2048 2010-08-11 13:35 qt -rwxrwxrwx. 1 root root 3273 2010-08-11 13:35 run.env -rwxrwxrwx. 1 root root 3128 2010-08-11 13:35 run_mbox drwxrwxrwx. 2 root root 2048 2010-08-11 13:35 sample_config -rwxrwxrwx. 1 root root 204 2010-08-11 13:35 setting.cfg -rwxrwxrwx. 1 root root 204 2010-08-11 13:35 setting.cfg_org -rwxrwxrwx. 1 root root 2832 2010-08-11 13:35 sigma.bin.tar -rwxrwxrwx. 1 root root 1122 2010-08-11 13:35 unload_imat.bash -rwxrwxrwx. 1 root root 25763 2010-08-11 13:35 unzipuppkg -rwxrwxrwx. 1 root root 1411 2010-08-11 13:35 upgrade.sh -rwxrwxrwx. 1 root root 317 2010-08-11 13:35 which_chip.bash -rwxrwxrwx. 1 root root 2310 2010-08-11 13:35 xlu_load_t3.bash -rwxrwxrwx. 1 root root 1519 2010-08-11 13:35 xlu_unload_t3.bash akhromov@x200s:~/tmp/img$
Смотрим в каком формате записан .img:
akhromov@x200s:~/tmp$ mount . . . . . . . . . /dev/loop0 on /home/akhromov/tmp/img type ext2 (rw)

Поскольку файловая система смонтирована на чтение и запись, мы можем свободно редактировать и изменять файлы.

Осталось только размаунтить устройство: $ sudo umount /home/akhromov/tmp/img
Все изменения автоматически сохраняются в файле upgrade_data.img

Вуаля! А не какая не "Виола".

Что это нам дает?
Мы можем по взрослому делать кастомные прошивки для нашего HDX BD-1!


PS. Планирую открыть проект создания репозитория для HDX BD-1 аналогичного, как для Asus WL500gP.
В принципе все понятно. Компилятор есть, image мы править можем.
Что думаете? Есть желание присоединиться?


PPS. Хочу побладарить участников конференции HD плеер HDX BD-1 с iXBT.com, благодаря которым многое стало ясным.


Полезные ссылки:

Комментариев нет:

Отправить комментарий