LINUX.ORG.RU
ФорумAdmin

Монтирование части прошивки, -o loop,offset=0x


0

0

Добрый всем вечер

Изучаю прошивку к телевизору LG

внутри файла прошивки лежит проприетарный код LG и linux eCos в несколько частей, те части что squashfs удалось без проблем примонтировать а те что по идее cramfs (Compressed ROMFS) никак не получается

по offset=0x280888 в файле прошивки начинается сигнатура romfs (45 3D CD 28 hex)

делаю так, (Ubuntu 9.04 i386)

sudo mount -t cramfs lg.epk ~/lgimg5/ -o loop,offset=0x280888 sudo mount -t romfs lg.epk ~/lgimg5/ -o loop,offset=0x280888

а вот что пишет dmesg | tail

[513296.083584] cramfs: wrong magic [513300.401212] VFS: Can't find a romfs filesystem on dev loop5.

похоже файловая система дополнительно сжата, там над сигнатурой видно LZO

если делаю свой образ из любой папки

mkcramfs ~/lgimg/ lgimg.cramfs

все прекрасно монтируется, хеадер файла lgimg.cramfs тот же (45 3D CD 28 hex)

кто сталкивался, с такими образами сжатые LZO, как их монтировать? если кто то сталкивался с прошивками от современных ТВ LG, чем их распаковать, прошивка не зашифрована но распаковать не получается

скриншоты hex редактора olimpic-sochi.biz/screeshots.tar.gz 170кб

вот сам файл прошивки file.qip.ru/file/99116631/e39f30c2/326013_32400_-LU40_LU50_LH20_LH30_LH40_LH50_ LF25_32400_015433_.html 19mb

я не уверен что можно указывать offset=0x280888, кажется нужно в десятисные числа переводить.

pupok ★★
()
Ответ на: комментарий от pupok

да вроде бы я так монтировал другие части прошивки

sudo mount -t squashfs lg.epk ~/lgimg/ -o loop,offset=0x00150 sudo mount -t squashfs lg.epk ~/lgimg1/ -o loop,offset=0x8f5f0c

итд

или конкретно cramfs так не монтируют ?

Eprst_II
() автор топика
Ответ на: комментарий от pupok

А кaк узнать поддерживает ли ядро LZO in cramfs

sudo mount -t cramfs lg.epk ~/lgimg5/ -o loop,offset=0x0280887

$ dmesg | tail

cramfs: unsupported filesystem features

значит ли это что моунт видит файловую систему но не может распаковать ? типа в нет поддержки ?

Eprst_II
() автор топика
Ответ на: комментарий от pupok

если не сработает -- можешь звать на помощь Столмана -- налицо нарушение GPL -- сам телевизор-то как-то эту патченую CRAMFS читает.

pupok ★★
()
Ответ на: комментарий от pupok

Да, видимо придется пересобрать ядро

в самом TV видимо програмеры собирали ядро с поддержкой. как раз в тех партициях всякие проприетарные штуки лежат :), эта типа защита что ли :)

по процу вообще никакой инфы нет, известно что он LG LGE3369A-LF-SE, mstar. satur6

~/lgimg/bin$ file busybox

busybox: ELF 32-bit LSB executable, MIPS, MIPS32 version 1 (SYSV), statically linked, stripped

Eprst_II
() автор топика
Ответ на: комментарий от Eprst_II

что то не получается скомпилить ядро 2,6,28

вручную накатил патч, правкой исходников,
все точки редактирования из патча совпали исходниками в моих сырцах 2,6,28

однако получаю

fs/cramfs/inode.c: В функции ‘cramfs_fill_super’:
fs/cramfs/inode.c:282: ошибка: ‘cramfs_uncompress_block_lzo’ не описан (первое использование в этой функции)
fs/cramfs/inode.c:282: ошибка: (Сообщение о неописанном идентификаторе выдается один раз
fs/cramfs/inode.c:282: ошибка: для каждой функции, в которой он используется.)
make[2]: *** [fs/cramfs/inode.o] Ошибка 1
make[1]: *** [fs/cramfs] Ошибка 2
make: *** [fs] Ошибка 2

без патча ядро собирается!

Eprst_II
() автор топика
Ответ на: комментарий от Eprst_II

у меня пропатченное 2.6.31 собралось, там надо было *.h файлы тоже патчить, не только *.c. Скачал твою прошивку с ubuntuforums, всё равно не работает.

В общем звони Слолману. Тот факт что cramfs зашифрована -- не нарушение GPL. Но то что в прошивке где-то спрятан расшифровщик -- да, потому что при его написании использовался GPL код: "родной" драйвер cramfs. Хотя конечно они могли сказать что где-то нарыли его описание и не читая кода написали fuse-драйвер...

pupok ★★
()
Ответ на: комментарий от pupok

хм, я вроде по всему патчу прошелся, и *.с и *.h правил,
можешь скинуть пропеченные файлики?,
я уже несколько часов как баран в код смотрю :)

или

Попробуй plz так, я на байтик ошибся в смещении когда постил

sudo mount -t cramfs lg.epk ~/lgimg/ -o loop,offset=0x280887

у меня явно ругается на отсутствие поддержки
dmesg | tail
[76609.874862] cramfs: unsupported filesystem features

Eprst_II
() автор топика
Ответ на: комментарий от Eprst_II

я уже всё стёр :(

там надо было править два файла *.c, два файла *.h и Kconfig, причём Kconfig отпочковался переехал из fs/ в fs/cramfs. Смещение было нормальным, я начиная с этого смещения скопировал в отдельный файл 1.img и «file 1.img» говорил что это CRAMFS и ещё какую-то инфу типа колличества блоков и даты создания. Но результат монтирования был такой же как и у тебя

 dmesg | tail
[76609.874862] cramfs: unsupported filesystem features

pupok ★★
()
Ответ на: комментарий от pupok

Ок
спасибо,
буду дальше ковырять, скорей всего они или зпаролили или зашифровали простеньким методом. в этой части прошивки собственный софт (от LG) лежит, скорей всего несколько бинарников и конфигов типа медиаплеера, вьювера картинок итд

один джедай в сети, разбирал похожую прошивку для самсунга, говорит там простым XOR было все скрыто, причем ключ к восстановлению лежал в начале прошивки простым текстом :)

Eprst_II
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.