Сейчас на форуме: Magister Yoda, vasilevradislav (+3 невидимых) |
eXeL@B —› Крэки, обсуждения —› Извлечь ресурсы из прошивки и запаковать обратно |
Посл.ответ | Сообщение |
|
Создано: 12 мая 2015 00:26 · Поправил: dean999 · Личное сообщение · #1 Добрый день. Имеется желание модифицировать прошивку от плеера Cowon U5. Как выглядит в жизни: Как выглядит у меня: Использовал инфу: Code:
Не подходит Возможно истина есть в этом исходнике: Code:
Из статьи понял 08 10 00 10 00 = 16x16 BIT 8 08 39 00 49 00 = 57x73 BIT 8 08 36 00 4d 00 = 54x77 BIT 8 Должно после излечения получится примерно такое (набросок в фотошопе): На изображение выше, видно что не корректно цвет отображается, возможно есть некие альфа каналы и подобные силы. Использовал софт: Прошивка: Вопрос: Как достать и модифицровать изображение (прошивку)? |
|
Создано: 12 мая 2015 03:37 · Поправил: unknownproject · Личное сообщение · #2 dean999 пишет: Как достать и модифицровать изображение Перерисовать и сделать замену, определив границы изображения, т.е. byte-to-byte замена. Начать нужно с анализа заголовка.Даю подсказку. Поиск по строкам даст отсылку на указатели и поддерживаемые форматы изображений.Строки все читаются нормально. ----- TEST YOUR MIGHT |
|
Создано: 12 мая 2015 10:36 · Поправил: -=AkaBOSS=- · Личное сообщение · #3 dean999 пишет: Для D2 выпущено несколько маленьких программ для распаковки тем, увеличение читабельности шрифотов, добавление нужных кодировок для тегов и читалки текста а так же скриншотов. и в этом главная, на мой взгляд, проблема - утилиты предназначены для работы с темами, а ковырять вы пытаетесь firmware целиком. Таким образом, из прошивки или устройства нужно сначала каким-то образом извлечь файл с темой оформления, а потом уже приступать к редактированию. В противном случае, придётся еще выяснять, каким образом контролируется целостность прошивки, и править контрольную сумму. А насчёт вопроса о цвете - битовая глубина изображений - 8 бит, тоесть каждый байт представляет собой не цвет, а индекс палитры. Судя по фотографии плеера, палитра там - обычный градиент, который вполне может быть создан программно на основе конкретного цвета. |
|
Создано: 12 мая 2015 13:56 · Личное сообщение · #4 касательно палитры я автору топика уже говорил.. а ЛС.. но меня тут смущает код r = (p1 & 0xF8); g = ((p1 & 0x07) << 5) + ((p0 & 0xE0) >> 3); b = (p0 & 0x1F) << 3; a = 0xFF; ммм. 8 бит глубина? 5 бит кастрируем? с альфа каналом у нас совсем беда? палитры нет вообще.. ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 12 мая 2015 15:47 · Поправил: -=AkaBOSS=- · Личное сообщение · #5 VodoleY пишет: но меня тут смущает код условие этого кода: if (bpp == 2), что соответствует 16 битам, а в файле наблюдаются именно 8 битные изображения (которые, кстати, в приведённом сорце никак не поддерживаются - тоже, видать, не разобрались) Наваял небольшой скрипт на бмс, вытащил все картинки (см. аттач) При желании можно глянуть через программы, поддерживающие RAW изображения. Но к пониманию организации данных в прошивке это, к сожалению, не приведёт формат простой: bpp db ? width dw ? height dw ? \ дальше пошли данные 19be_12.05.2015_EXELAB.rU.tgz - files.zip ?обавлено спуст¤ 27 минут хм.. судя по всему, все адреса записаны относительно базового адреса 0х20000000 dean999, предоставленный вами файл - это firmware или непосредственно дамп прошивки из устройства? |
|
Создано: 12 мая 2015 16:23 · Поправил: dean999 · Личное сообщение · #6 |
|
Создано: 19 мая 2015 14:39 · Поправил: dean999 · Личное сообщение · #7 |
|
Создано: 25 мая 2015 17:03 · Поправил: -=AkaBOSS=- · Личное сообщение · #8 Базовый адрес прошивки - 0x20000000 Данные по адресу 0x200B44E4 действительно представляют собой массив 16 битных цветов палитры. Функции sub_2002C018 и sub_2002E1F8 выполняют собственно распаковку изображений в экранный буфер. Первая работает со всем экраном, а вторая с областью 60x70 пикселей. Процедура sub_2002B504 инициализирует структуру с настройками экрана. Пара интересных моментов: Code:
Проблема в том, что как бы я не извращался над этой палитрой, получается сплошная цветовая мешанина. Но судя по фото в шапке, цветовой разброс на одном изображении должен быть минимальным. Накопал пару даташитов на дисплейные контроллеры со схожими характеристиками (128х160, 18bit). Судя по ним, цвет хранится в формате 5-6-5 и при передаче расширяется до 6-6-6. Но даже теперь не могу понять, что же я упускаю... Даташит на дисплей из |
|
Создано: 26 мая 2015 10:57 · Личное сообщение · #9 |
|
Создано: 28 июня 2015 01:53 · Поправил: dean999 · Личное сообщение · #10 |
eXeL@B —› Крэки, обсуждения —› Извлечь ресурсы из прошивки и запаковать обратно |