Итак, к последней прошивке появились новые файлы со странным расширением upg. Возникает справедливый вопрос: "А что это такое и с чем их едят?" Да вообщем то, ничего особо нового в них нет. Это точно такие же образы дисков, как и раньше, только сменилась файловая система. Если раньше использовалась yaffs2, то теперь это sfs (SquashFS). Единственное НО - они очень хитро закодированы. О методе раскодирования чуть ниже, а пока вывешу ключи к прошивкам. Прошивка | Ключ | v7.3.x.r3582, v7.3.x.r4090 | 12345678195454322338264935438139 |
|
| При изменении ключей в новых прошивках, они будут добавляться. Теперь о том, как расшифровать прошивку. Для владельцев ПОДХ вообще никаких проблем нет. Им достаточно просто слить образ корня через телнет командой: Code dd if=/dev/mtdblock/1 of=<путь_имя_файла> Полученный файл будет представлять собой sfs-образ, с которым можно работать штатными линуксовыми средствами. Для всех прочих любопытных я написал маленькую консольную программку под Win на Delphi 7. Почему под винды и консольную на паскале? Не спрашивайте, просто так исторически сложилось Однако, если у кого возникнет желание портировать данный труд на 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 на новой прошивке не претерпело никаких изменений, т.к. этот проект и задумывался, как независимый от версии прошивки. Куда смотреть в первую очередь? Конечно, в окно браузера Вот несколько полезных линков: Статья на вики Страница проекта на sourceforge
Для начала нам потребуется инструмент. Скачайте архив squashfs3.0.tar.gz и распакуйте его в отдельную папочку, затем в терминале в папке squashfs-tools выполните пару команд*: Code make su -c "cp *squashfs /usr/local/bin" * Здесь и далее примеры для Fedora 11 Теперь распаковка: В появившейся папочке squashfs-root можно найти применение умелым рукам И обратная запаковка (из папки squashfs-root): Code mksquashfs ./ ../new.sfs -le -all-root Ну и осталось закодировать полученный файл, обозвать его как squashfs1.upg и засунуть обратно в прошивку. Всем удачи!
|