Пятница, 26.04.2024, 14:20
Вы вошли как
Приветствую Вас ГостьRSS
Меню
Категории раздела
Компиляция [2]
Инструкции по компиляции пакетов под плеер
Модификация прошивки [5]
Инструкции по модификации прошивки
Облако тегов
HDD playon!hd playonhd btpd 100 peers video 200 peers optware прошивка Realtek mipsel wifi rtorrent Firmware web Woxter i-Cube 750 ruTorrent Mede8er lighttpd digest Samba workgroup peers Port podware Compilation gcc Native hostname bmp bmp2rt felics rt2bmp ipkg ipkg-cl libexif libsigc++ Screen vsftpd transmission htop MC Nano rdate datasheet RTD1073
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа

Главная » Статьи » Продвинутые мануалы » Модификация прошивки

Разборка/сборка прошивок на SDK3.x
Итак, к последней прошивке появились новые файлы со странным расширением upg. Возникает справедливый вопрос: "А что это такое и с чем их едят?" Да вообщем то, ничего особо нового в них нет. Это точно такие же образы дисков, как и раньше, только сменилась файловая система. Если раньше использовалась yaffs2, то теперь это sfs (SquashFS). Единственное НО - они очень хитро закодированы. О методе раскодирования чуть ниже, а пока вывешу ключи к прошивкам.

ПрошивкаКлюч
v7.3.x.r3582, v7.3.x.r409012345678195454322338264935438139


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

Теперь о том, как расшифровать прошивку. Для владельцев ПОДХ вообще никаких проблем нет. Им достаточно просто слить образ корня через телнет командой:

Code
dd if=/dev/mtdblock/1 of=<путь_имя_файла>

Полученный файл будет представлять собой sfs-образ, с которым можно работать штатными линуксовыми средствами.
Для всех прочих любопытных я написал маленькую консольную программку под Win на Delphi 7. Почему под винды и консольную на паскале? Не спрашивайте, просто так исторически сложилось wink Однако, если у кого возникнет желание портировать данный труд на C под никсы - буду только рад. Исходники (в комплекте со сторонними библиотеками) прилагаются.
Программа проверена на работоспособность под XP, Win7 и Win7-64. Не строя из себя гения, буду рад любым сообщениям об ошибках.
Пример запуска программы:
Code
Декодирование:
pfcd /D squashfs1.upg 1.sfs 12345678195454322338264935438139
Кодирование:
pfcd /С 1.sfs squashfs1.upg 12345678195454322338264935438139


PS. Спасибо cipibad за порт программы на C под Linux (линк).


Для работы с sfs-образом потребуются никсы.
Некоторые замечания по SquashFS:
- файлы в этой системе хранятся в сжатом(архивированном) виде и распаковываются при чтении "на лету", следовательно места в разделе стало больше.
- данная система является read-only, следовательно, про команду перемонтирования корня на запись можно забыть.
- в прошивке появилась папка opt в корне, следовательно вопрос адаптации к использованию optware минимизировался до одной строки монтирования нужного каталога на эту папку. Использование podware на новой прошивке не претерпело никаких изменений, т.к. этот проект и задумывался, как независимый от версии прошивки.

Куда смотреть в первую очередь? Конечно, в окно браузера wink
Вот несколько полезных линков:
Статья на вики
Страница проекта на sourceforge

Для начала нам потребуется инструмент. Скачайте архив squashfs3.0.tar.gz и распакуйте его в отдельную папочку, затем в терминале в папке squashfs-tools выполните пару команд*:

Code
make
su -c "cp *squashfs /usr/local/bin"


* Здесь и далее примеры для Fedora 11

Теперь распаковка:

Code
unsquashfs 1.sfs 

В появившейся папочке squashfs-root можно найти применение умелым рукам wink

И обратная запаковка (из папки squashfs-root):

Code
mksquashfs ./ ../new.sfs -le -all-root

Ну и осталось закодировать полученный файл, обозвать его как squashfs1.upg и засунуть обратно в прошивку.
Всем удачи!

Категория: Модификация прошивки | Добавил: Lossless (30.08.2010)
Просмотров: 10670 | Рейтинг: 5.0/2
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]