Ломаем буткод

Re: Ломаем буткод

Postby Virtual » 19 Oct 2010, 09:52

все моск взорван.... почувствовал себя идиотом из к.ф. матрица..... на работе уже криво смотрят .... когда у мну на 2х мониторах HEX строки бегут :)

FarVoice
лови.... комманды dd сможеш составить для копирования нужного из /dev/mtd/0 ? ;)
(данные адреса смещения в /dev/mtd/0)
Code: Select all
0x0000000 - 0x00007F0 xxxx хз похож на лого :)
0x0020000 - 0x00207F0 xxxx повтор

0x0040000 - 0x00403E0 hwsetting.bin
0x0060000 - 0x00603E0 hwsetting.bin  повтор
0x0080000 - 0x00803E0 hwsetting.bin  повтор
0x00A0000 - 0x00A03E0 hwsetting.bin  повтор
0x00C0000 - 0x00C03E0 hwsetting.bin  повтор
0x00E0000 - 0x00E03E0 hwsetting.bin  повтор
0x0100000 - 0x01003E0 hwsetting.bin  повтор
0x0120000 - 0x01203E0 hwsetting.bin  повтор

0x0140000 dwordSize, boot_target.bin
0x0180000 dwordSize, boot_target.bin и 7 повторов повторов.... гыыыы
0x01C0000 dwordSize, boot_target.bin
0x0200000 dwordSize, boot_target.bin
0x0240000 dwordSize, boot_target.bin
0x0280000 dwordSize, boot_target.bin
0x02c0000 dwordSize, boot_target.bin
0x0300000 dwordSize, boot_target.bin

0x0340000 xxxxxxx
0x0341555 .... 0x042D965 rescue.bin итого размер 967696 (0xEC410) похоже на правду :)
0x0440000 xxxxxxx
0x0441555 .... 0x052D965 rescue.bin началося все сначала ;)
0x0540000 xxxxxxx
0x0541555 .... 0x062D965 rescue.bin
0x0640000 xxxxxxx
0x0641555 .... 0x072D965 rescue.bin
0x0740000 xxxxxxx
0x0741555 .... 0x082D965 rescue.bin
0x0840000 xxxxxxx
0x0841555 .... 0x092D965 rescue.bin
0x0940000 xxxxxxx
0x0941555 .... 0x0A2D965 rescue.bin
0x0A40000 xxxxxxx
0x0A41555 .... 0x0B2D965 rescue.bin

0x0B40000 regioncode 0x0
0x0B40080 bootrev 0016.0202.0017L
0x0B40100 memsize 0x08000000
0x0B40180 flashsize 0x10000000
0x0B40200 linuxparameter go 803bc000 rootfstype=squashfs root=31:01 mtdparts=
0x0B40280 prompt Realtek
0x0B40300 shellstart
0x0B40380 shellstartdelay
0x0B40400 linuxstart
0x0B40480 linuxstartdelay
0x0B40500 system_parameters_1 param_addr=10000 tv_system=PAL usb_otg=off otg_gpio=0
0x0B40580 system_parameters_3 POWERKEY_IRRP=A8579F00 POWERKEY_GPIO=78
0x0B40600 system_parameters_4 12V5V_GPIO=44,hion
0x0B40680 modetty0 115200,n,8,1,hw
0x0B40700 modetty1 115200,n,8,1,hw
0x0B40780 bootserport flash
0x0B40800 ethaddr 00.11.22.33.44.55
0x0B40880 ipaddr 192.168.0.9
0x0B40900 subnetmask 255.0.0.0
0x0B40980 gateway 192.168.0.254
0x0B40A00 modelconfig_1 4d50435f50414c
0x0B40A80 ethaddr 00.CE.39.60.B4.EA

0x1000000 (VERONA__)
0x1000050 (02 00 08 BE 00 00 01 09)
0x1000060 (/)
0x1000080 (02 00 01 00 00 00 01 09)
0x1000090 (/usr/local/etc)
......
0x1020000 vmlinux.develop.avhdd.mars.nand.bin
0x1440000 bluecore.audio
0x1600000 video_firmware.bin

0x1820000 video_firmware.bin? точнее кусок от него..... все далее неважно :).


ЗЫ нужно перепроверять... мог где нить ошибится.
марсы: HDS7 (смотрелка AMP скин vrt )
HDR12 AMP (обычно сервер с RAM 256 и 2 SATA диска 2T+)//но очень иногда оцифровка видео
XTR PRO(AMP, HTTP(S) NFS SMB FTP сервер +trans2.90 + 2 SATA диска 2T+
сатурны: XTR Prodigy, R6S(512Mb_NAND), HD900A(_MD*) прошивка
User avatar
Virtual
 
Posts: 6862
Joined: 01 Oct 2010, 17:17
Location: RU

Re: Ломаем буткод

Postby FarVoice » 19 Oct 2010, 11:40

вау. офигеть не встать.
И чем ты это всё получил?!
Расскажи кухню.
ASUS O!Play R1 (amp_r12_vrtn), xTreamer Pro (amp_r12_vrt), xTreamer Prodigy (iNeXT 2.14 r2), IconBIT HDR12L (amp_r12_vrt), 3Q F425HW (xds42gl_7725_r3), MyGica A11 (mygica_m3_20121222)
User avatar
FarVoice
Администратор
 
Posts: 8572
Joined: 03 Sep 2010, 01:27
Location: Russia, Moscow

Re: Ломаем буткод

Postby Virtual » 19 Oct 2010, 12:40

да все просто....
идем в плеер с подключенным винтом, по телнету ;)
а далее
cat /dev/mtdblock/0 > винт/тутбудетпервыйразделсплеера.bin
(благо есть опыт измывательства над роутерами дир320, с превращением их в асусы :))

;)
а далее осталось разобрать бинарник :) внем будет все с нулевого байта и до корневого раздела ....
тоесть:
бут + служебная инфа + vmlinux.develop.avhdd.mars.nand.bin + bluecore.audio +video_firmware.bin
+ мусор
ибо usr.local.etc и рутовый диск пишутся с конца :)
(это видно в логе прошивки!)
тоесть после записи /dev/mtdblock/0

прошивальщик отмеряет с конца reserved remapping size: 0xce0000 (0x67 sectors) (это /dev/mtdblock/3 которого "якобы" у тебя нет ;) 13 метров)
потом пишет пересобранный, из архива /usr/local/etc
потом корневую фс....

все это с округлением до mtd_erasesize=20000 ибо тереть моно только такими блоками :(., в большую сторону..
согласно всего вышеизложенного во флеш моно залить

0x1600000 video_firmware.bin + размер video_firmware.bin + округление
вот с этого места и до конца -(минус) 0xce0000 (резервный 4й раздел)

ЗЫ главное чтоб начало рут раздела не встретилось с концом video_firmware.bin :).

ЗЫЗЫ ну а как сам /dev/mtdblock/0 разбирал, уже озвучил....как в к.ф. матрица ;) убивая глаза в хекс редакторе и сравнивая бинарники бута от медео с видимым перед экраном. :).

_
в асю стучись если что.... :).
Last edited by Virtual on 22 Oct 2010, 12:48, edited 1 time in total.
марсы: HDS7 (смотрелка AMP скин vrt )
HDR12 AMP (обычно сервер с RAM 256 и 2 SATA диска 2T+)//но очень иногда оцифровка видео
XTR PRO(AMP, HTTP(S) NFS SMB FTP сервер +trans2.90 + 2 SATA диска 2T+
сатурны: XTR Prodigy, R6S(512Mb_NAND), HD900A(_MD*) прошивка
User avatar
Virtual
 
Posts: 6862
Joined: 01 Oct 2010, 17:17
Location: RU

Re: Ломаем буткод

Postby Virtual » 19 Oct 2010, 12:59

меня больше интересует что вот это

0x0340000 xxxxxxx
0x0341555 .... 0x042D965 rescue.bin итого размер 967696 (0xEC410) похоже на правду :)
все вместе интуитивно похоже на какую-то ФС при том там блоки похоже пожатые так-же как и сам rescue.bin.

ЗЫ
прошивальщик вот это
0x0000000 - 0x00007F0 xxxx хз похож на лого :)
0x0020000 - 0x00207F0 xxxx повтор

обзывает как fw_tbl.bin :)
и вот что с ним творит ;)
command: dd if=/dev/mtdblock/0 of=/tmp/fw_tbl.bin bs=131072 skip=128 count=1
.....
command: dd if=/tmp/fw_tbl.bin of=/dev/mtdblock/0 bs=131072 seek=128

ЗЫ судя по тому что есть reserved remapping и этих блоков 2.... скорее всего это некое подобие FAT:). 99%

ЗЫЗЫ короче забрав из /dev/mtd/0 0x1020000 байт 100% получишь бут :)
марсы: HDS7 (смотрелка AMP скин vrt )
HDR12 AMP (обычно сервер с RAM 256 и 2 SATA диска 2T+)//но очень иногда оцифровка видео
XTR PRO(AMP, HTTP(S) NFS SMB FTP сервер +trans2.90 + 2 SATA диска 2T+
сатурны: XTR Prodigy, R6S(512Mb_NAND), HD900A(_MD*) прошивка
User avatar
Virtual
 
Posts: 6862
Joined: 01 Oct 2010, 17:17
Location: RU

Re: Ломаем буткод

Postby FarVoice » 19 Oct 2010, 13:14

Эт точно - убивая глаз.
Спасибо. Буду заниматься тем же :)
А насчёт Partition_3 ( mtdblock3 ) - ты прав - есть такое. 13 Мб.
Т.е. получается, что первый блок в 0x100 0000 - это как раз и есть бутром?!
Но тогда непонятно следующее:
При прошивке делается следующее:
для package2/vmlinux.develop.avhdd.mars.nand.bin:
erase 01020000 420000
nandwrite 01020000 401086
cfyeh 80100000 401086 420000

Вот последняя команда мне и не понятна. Что за команда - во первых, и что за адрес такой? Мож они маппируют NAND в общее адресное пространство?

И ещё мне не даёт покоя следующее: ИМХО логика загрузки у плеера следующая:
грузится бутром, смотрит сигнатуру в NAND по смещению 0x100 0000 (VERONA__) Если таковая есть -
Code: Select all
Linux Kernel:
   FW Image from 0xa2020000, to 0x80100000, size=0x401086
Audio FW:
   FW Image from 0xa2440000, to 0x81b00000, size=0x1c9050
Video FW:
   FW Image from 0xa2620000, to 0x81d80000, size=0x235df8
PAL logo
5280Go 5280Go go 0x80100000 rootfstype=yaffs2 root=31:01 mtdparts=rtk_nand:89344k,142208k(/),17408k(/usr/local/etc),13184k
Reset Ethernet Mac.

Т.е. запускает ядро Linux из прошивки.
Но тогда почему блин не подключается squash раздел корня?!

Если не находит сигнатуру, то:
Code: Select all
Signature(        ) error! Entering rescue linux...
Rescue kernel in FLASH, total size = 0xefa01

            seg.1 addr 0xa0a00743, size = 0xefa01

            seg.2 addr 0x0, size = 0x0
copy rescue0: from a0a00743 to a1000000, len = efa01
decompressing rescue: from a1000000 to a0100000: size = efa01
lzma finished
decompressing rescue done
go 0x80100000 BOOT_TAG=        
PAL logo
Reset Ethernet Mac.

Т.е. выгружает из NAND сжатый образ rescue Linux, разжимает и стартует.
Она грузится, берёт loader_a из прошивки и запускает его.
Дальше всё по сценарию прошивки.

Т.е. непонятно, почему не идёт squash рута !

Сегодня ещё посмотрю логи прошивки на 18 бутроме - вчера не получилось...
ASUS O!Play R1 (amp_r12_vrtn), xTreamer Pro (amp_r12_vrt), xTreamer Prodigy (iNeXT 2.14 r2), IconBIT HDR12L (amp_r12_vrt), 3Q F425HW (xds42gl_7725_r3), MyGica A11 (mygica_m3_20121222)
User avatar
FarVoice
Администратор
 
Posts: 8572
Joined: 03 Sep 2010, 01:27
Location: Russia, Moscow

Re: Ломаем буткод

Postby FarVoice » 19 Oct 2010, 13:15

Блин.. :) Пока писал мессагу, ты ответил на половину вопросов :)
Думаем дальше
ASUS O!Play R1 (amp_r12_vrtn), xTreamer Pro (amp_r12_vrt), xTreamer Prodigy (iNeXT 2.14 r2), IconBIT HDR12L (amp_r12_vrt), 3Q F425HW (xds42gl_7725_r3), MyGica A11 (mygica_m3_20121222)
User avatar
FarVoice
Администратор
 
Posts: 8572
Joined: 03 Sep 2010, 01:27
Location: Russia, Moscow

Re: Ломаем буткод

Postby Virtual » 19 Oct 2010, 14:25

Т.е. запускает ядро Linux из прошивки.
Но тогда почему блин не подключается squash раздел корня?!

не запускает а подгружает а вот далее почувствую разницу...

при крахе на старом буте (это из моего лога! на буте 17l)
Kernel command line: rootfstype=yaffs2 root=31:01 mtdparts=rtk_nand:138624k,69376k(/),40960k(/usr/local/etc),13184k console=ttyS0,115200n8r ip=192.168.0.9::192.168.0.254:255.0.0.0:::

а на новом
Kernel command line: mtdparts=rtk_nand:139648k,47872k(/),61440k(/usr/local/etc),13184k rootfstype=squashfs root=31:01 console=ttyS0,115200n8r ip=192.168.0.9::192.168.0.254:255.0.0.0:::

это все делает еще бут!!!.

думаю далее будет не важно есть потдержка в ядре иль нет ;)
ибо замет! когда Viper_Rus перешился на старую прошивку то

Kernel command line: mtdparts=rtk_nand:93312k,94208k(/),61440k(/usr/local/etc),13184k rootfstype=yaffs2 root=31:01 console=ttyS0,115200n8r ip=192.168.0.9::192.168.0.254:255.0.0.0:::


ЗЫ так что иль бут менять или патчить ядро с извращениями :) дабы ему было насрать на rootfstype ;) и оно само сигнатурно определяло что за рут ему подсунули :). (кстати это не шутка а вполне реально, и думаю более безболезненно чем бут :))
марсы: HDS7 (смотрелка AMP скин vrt )
HDR12 AMP (обычно сервер с RAM 256 и 2 SATA диска 2T+)//но очень иногда оцифровка видео
XTR PRO(AMP, HTTP(S) NFS SMB FTP сервер +trans2.90 + 2 SATA диска 2T+
сатурны: XTR Prodigy, R6S(512Mb_NAND), HD900A(_MD*) прошивка
User avatar
Virtual
 
Posts: 6862
Joined: 01 Oct 2010, 17:17
Location: RU

Re: Ломаем буткод

Postby FarVoice » 19 Oct 2010, 14:37

to Virtual
Фака... Ты прав. Надо менять бут.
А вот то, что после отката на старую прошивку строка вызова ядра осталась как в новой - очень интересно....

to Viper_Rus
Можно попросить сделать следующее на плеере:
снять имидж памяти и выложить сюда.

dd if=/dev/mtdblock/0 of=/mnt/usbmounts/sda1/0.bin
dd if=/dev/mtdblock/1 of=/mnt/usbmounts/sda1/1.bin
dd if=/dev/mtdblock/2 of=/mnt/usbmounts/sda1/2.bin
dd if=/dev/mtdblock/3 of=/mnt/usbmounts/sda1/3.bin
dd if=/dev/mtdblock/disс of=/mnt/usbmounts/sda1/disс.bin

/mnt/usbmounts/sda1 - это подключенный к плееру диск или флеха. sda может быть другим!
глянь df -h или ls /mnt/usbmounts

Заранее огромное спасибо!
ASUS O!Play R1 (amp_r12_vrtn), xTreamer Pro (amp_r12_vrt), xTreamer Prodigy (iNeXT 2.14 r2), IconBIT HDR12L (amp_r12_vrt), 3Q F425HW (xds42gl_7725_r3), MyGica A11 (mygica_m3_20121222)
User avatar
FarVoice
Администратор
 
Posts: 8572
Joined: 03 Sep 2010, 01:27
Location: Russia, Moscow

Re: Ломаем буткод

Postby Viper_Rus » 19 Oct 2010, 15:19

FarVoice wrote:to Virtual
Фака... Ты прав. Надо менять бут.
А вот то, что после отката на старую прошивку строка вызова ядра осталась как в новой - очень интересно....

to Viper_Rus
Можно попросить сделать следующее на плеере:
снять имидж памяти и выложить сюда.

dd if=/dev/mtdblock/0 of=/mnt/usbmounts/sda1/0.bin
dd if=/dev/mtdblock/1 of=/mnt/usbmounts/sda1/1.bin
dd if=/dev/mtdblock/2 of=/mnt/usbmounts/sda1/2.bin
dd if=/dev/mtdblock/3 of=/mnt/usbmounts/sda1/3.bin
dd if=/dev/mtdblock/disс of=/mnt/usbmounts/sda1/disс.bin

/mnt/usbmounts/sda1 - это подключенный к плееру диск или флеха. sda может быть другим!
глянь df -h или ls /mnt/usbmounts

Заранее огромное спасибо!


Обязательно должна стоять новая прошивка или можно 1.18?
User avatar
Viper_Rus
 
Posts: 28
Joined: 17 Oct 2010, 13:34

Re: Ломаем буткод

Postby FarVoice » 19 Oct 2010, 16:17

Если 1.18 достаточно последнего образа, который disc
Да и в случае новой тож, по большому счёту достаточно :) Это я так, на всякий случай остальное попросил :)
ASUS O!Play R1 (amp_r12_vrtn), xTreamer Pro (amp_r12_vrt), xTreamer Prodigy (iNeXT 2.14 r2), IconBIT HDR12L (amp_r12_vrt), 3Q F425HW (xds42gl_7725_r3), MyGica A11 (mygica_m3_20121222)
User avatar
FarVoice
Администратор
 
Posts: 8572
Joined: 03 Sep 2010, 01:27
Location: Russia, Moscow

PreviousNext

Return to ASUS

Who is online

Users browsing this forum: No registered users and 9 guests

cron