[Делаем] Цветной шрифт в меню XMB на М33-прошивках
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Делаем цветной шрифт в прошивках 3.52 М33 Как известно, за цвет шрифов в меню XMB отвечает файл VSHMAIN.PRX, с которым нам и предстоит работать в данной статье. Наша работа будет производится в 3 этапа: I) Декриптовка II) Кастомизация III) Запаковка с новой криптовкой. Предисловие (основные понятия) Как известно, корпорация Sony в файлах прошивок до 2.6 вообще не применяла никакого компрессионного механизма. Затем, начиная с прошивки 2.7, стал применяться механизм сжатия ZLIB, который с лёгкостью распаковывался и запаковывался. Но, начиная с версии прошивки 3.10, Sony изменила механизм компрессии и назвала его - RLZ. С этого момента в процессе кастомизации появились некоторые затруднения. Если распаковывать такие файлы прошивки удавалось, то обратно запаковать никак не получалось, поэтому приходилось назад запаковывать в старый формат ZLIB или вообще не запаковывать, что приводило к значительному увеличению объёма файла. Что же за такой хитрый формат RLZ ? Оказалось всё достаточно просто. Файлы этого формата состоят из двух частей - Заголовка - ~PSP и собственно самого Исполняемого Кода. 1. Заголовoк - ~PSP - это та часть кода, которая содержит технические данные о файле и метод защиты (проверка целостности данных). Находится в начале файла от 0х0 до 0х14F включительно в 16-ричной системе исчисления и содержит ровно 150 Байт 2. Исполняемый Код - ELF - это самый секрет фирмы. Находится после Заголовка, начиная от 0х150 включительно и до конца файла. Как оказалось - это попросту самодостаточный архив GZIP, главная особенность которого - возможность работать с непрерывным потоком данных, упаковывая/распаковывая их «на лету». Такой архив легко можно распаковать и запаковать любым современным архиватором WinRar, 7Zip, ZIP и пр. Архивный файл GZIP должен иметь расширение .gz на конце после точки. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ I. Декриптовка Декриптовка - это самый лёгкий и быстрый этап. Для примера я взял файл VSHMAIN.PRX из своей прошивки 3.52 M33-4, который лежит в папке: flash0:\vsh\nodule\vshmain.prx После установки HEX Workshop, у вас появиться в контекстном меню при клике правой кнопкой мыши на файле - пункт "Hex Edit with Hex Workshop". Нажмите правой кнопкой на файле VSHMAIN.PRX, предварительно скопированном из прошивки на компьютер, и выберите в открывшемся контекстном меню этот пункт. Этот файл откроется в Хекс-редакторе. Рисунок 1 Для представления в однобайтном формате, сделайте следующее: зайдите в меню "Options->Preferences" и на первой вкладке "Layout" в графе "Columns", выберите Group by: 1 (byte) и нажмите кнопку "Применить" и "ОК", как показано на рисунке ниже. Рисунок 2 Рисунок 3 1) Выделите, протянув мышкой, весь небольшой код Заголовка от 0х0 до 0х14F включительно, или до 0х150 не включительно. Числа 0х0 и 0х150 - это не что иное, как 00000000 и 00000150 в левом вертикальном столбце отсчёта, просто записываются для удобства без лишних нулей спереди. Эти числа так же отображаются в нижней строке окна программы под названием "Offset: XXXXXXXX" при установленном курсоре на определённой позиции. Рисунок 4 Обратите внимание на области, выделенные красными прямоугольниками: а) Область EF - это 0х14F. Её мы тоже захватываем. б) Область 00000150 - её мы уже не трогаем, это начало заархивированного GZIP-файла и это число указывает на порядковый номер первого Байта в этой строке - 1F. Следующий байт 8B будет иметь порядковый номер (offset) - 00000151 и так далее. Короче расклад понятен? в) Область Sel: 0x150 bytes - указывает на количество выделенных Байт. Sel от слова Select - Выбор. 2) После того, как мы выделили нужную область - Заголовoк - ~PSP, нужно от неё избавиться, чтоб у нас остался только архивный GZIP-файл. Нажмите на клавиатуре кнопку "DELETE" (Del), чтобы удалить выделенную область. Ну вот, от Заголовка мы избавились. У нас остался чистый Исполняемый Код - ELF, упакованный в формат GZIP. Рисунок 5 Выбираем в меню "File->Save As..." и в открывшемся окне сохранения, дописываем в конец названия файла расширение .gz Cохраняем его с получившимся названием vshmain.prx.gz Рисунок 6 Извлеките, находящийся в архиве файл vshmain.prx, только желательно под другим названием, чтобы не перепутать потом с оригиналом или не перезаписать случайно оригинальный файл вашей прошивки. Назовите его лучше так: vshmain_elf.prx. Почему именно ELF, о котором я упоминал так же в самом начале, вы узнаете, если посмотрите на рисунок ниже. Откройте ваш разархивированный (декриптованный) файл vshmain_elf.prx в Хекс-редакторе и посмотрите на начало кода в правом вертикальном столбце и вы увидите, что заголовок декриптованного файла начинается со слова ELF. Прокрутите файл вниз и понаблюдайте за правым столбцом и вы увидите, что там теперь вместо прежней Абракадабры появились вполне внятные и читабельные слова и всякие пути и расширения. Это говорит нам о том, что мы всё сделали правильно. Рисунок 7 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ II. Кастомизация - Изменяем цвет шрифта по месяцам Продолжение следует...https://www.pspx.ru/forum/showthread.php?t=76183 |
а дальше как?
|
Эрик, продолжи фак пожалуйста! ;-)
|
Я уже 2 месяца, как не могу закончить этот фак )))
Просто здесь нужно ещё скрины делать и туда-сюда, и всё откладывается на потом каждый раз. На 3.71 М33 уже давно пора было бы написать, да всё лень, другие дела отвлекают. Можно было конечно 3-мя строчками накатать, типа: 1. Возьмите такую-то программу, декриптуйте файл. 2. Затем возьмите вторую программу, измените цвета. 3. Потом возьмите третью программу, запакуйте обратно. Тем более, что такие GUI существуют во множественном числе и от разных авторов. Но, я не сторонник таких факов, когда юзер тупо таким образом производит махинации с файлом и при этом сам не осознаёт, что делает и что происходит внутри самого файла при нажатии такой-то кнопочки в GUI. Все мои факи написаны именно с уклоном на то, чтобы юзер сам своими ручками всё научился делать и конкретно осознавал бы, как всё устроено. Короче, постараюсь как можно быстрее закончить с этим, а затем с 3.71 М33, а там 3.80 М33... добавлено через 4 минуты P.S. Ну а 1-ый параграф вы научились делать - распаковывать в ELF? |
Неа, я даже не начинал, жду продолжения ФАКка, вот когда будет все готово, так там и сделаю все сразу! =)
P.S. Эрик, спасибо за такую заботу о юзерах, удачи тебе в написании ФАКа! ;-) |
ErikPshat! У меня такая просьба! Мне ещё нету 13 =( и отец мне не разрешает мутить всякую фигню с зызой! Я бы хотел чтоб в январе шёл обычный синий цвет шрифта(не голубой), а все остальные как попало! Проша 3.52 М33. Пожалста! Буду очень благодарен:give_rose:
|
Не получается..
|
Цитата:
Продолжение наконец готово здесь: https://www.pspx.ru/forum/showthread.php?t=76183 |
Текущее время: 10:40. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.