PDA

Просмотр полной версии : Loader статичных и динамичных ELF-ов на официальных прошивках


ErikPshat
26.12.2014, 04:53
Loader статичных и динамичных Эльфов
на официальных прошивках

Что за такое Лоадер?
Это маленький загрузчик, с помощью которого запускается исполняемый файл программы. А запускается этот загрузчик на официальной прошивке просто потому, что он подписан оригинальным заголовком от демо-игры вот по такому способу (http://www.pspx.ru/forum/showthread.php?t=103580).

Что такое статичный ELF?
Это такой файл, у которого в Заголовке, почти с самого начала, идёт длиннющий разряженный код. С виду просто пустой код, изредка имеющий повторяющиеся вкрапления одних и тех же байтов.
Статичный ELF характеризует в позиции 0x10 значение 0200, тогда как в динамичном ELF должно быть A0FF.

Чтобы было чуть более понятно, о чём идёт речь, приглядитесь в разницу кода статичного и динамичного ELF на скриншотах:
1044010441
Инструкция по изготовлению


Скачайте и разархивируйте архив с подписанным Лоадером: Static Homebrew Loader - signed.zip (http://www.pspx.ru/forum/attachment.php?attachmentid=10451)


Достаньте свою программу со статичным ELF-ом в незашифрованном виде и переименуйте его, как DATA.PSAR


Скачанный Лоадер, уже зашифрованный официальной подписью, положите рядом под тем же названием - DATA.PSP


С помощью PBP Unpacker (http://www.pspx.ru/forum/showthread.php?t=83706) извлеките файл PARAM.SFO от любой хомки и тоже положите рядом. Он обязательно должен присутствовать в любой игре или программе.


С помщью того же PBP Unpacker соберите файл EBOOT.PBP, нажав в нём кнопку "New" и добавив туда все ваши собранные файлы: DATA.PSP, DATA.PSAR, PARAM.SFO. Можете, по желанию, добавить иконку программы ICON0.PNG (144х80) и фоновую обложку PIC1.PNG (480x272). Насчёт музыки SND0.AT3 и анимированной иконки ICON1.PMF - это уже по вашим предпочтениям.


Название хомки в PARAM.SFO, можете поменять по этой инструкции (http://www.pspx.ru/forum/showthread.php?t=90551).


Вот и всё! Можете запускать свой статичный ELF на официальной прошивке!


Напомню, что динамичные ELF и так работают, без загрузчика Лоадера, с помощью обычной подписи через PRXEncrypter (http://www.pspx.ru/forum/showthread.php?t=103580).



Случайно мимо Источника проходил (http://wololo.net/talk/viewtopic.php?p=370175#p370175)

ErikPshat
26.12.2014, 19:13
Просто удивил факт использования DATA.PSAR в приложениях.

Кстати, достоверно известно, что впервые контейнер DATA.PSAR был использован в хомке PSP Tool v1.0 (http://www.pspx.ru/forum/showthread.php?t=79204).
Там этот контейнер можно извлечь, переименовать расширение .PSAR на .ZIP и распаковать. Он запакован с максимальным сжатием.

Yoti
27.12.2014, 09:48
ErikPshat,
data.psar просто может быть использован безо всяких особых ухищрений, при этом не увеличивая размер исполняемого elf.

ErikPshat
02.05.2016, 19:00
Добавил в шапку Dinamic Homebrew Loader

Yoti
03.05.2016, 22:13
Dynamic ELF
Добавил в шапку Dinamic Homebrew Loader

ErikPshat
03.05.2016, 23:59
Yoti, хех, придумал же кто-то этот корявый английский :)

У тебя нет случайно решения, как запихать несколько файлов в DATA.PSAR и чтобы оттуда исполняемый файл исполнялся?
Где-то кто-то обмолвился, что в DATA.PSAR можно тупо заархивировать несколько файлов и запускать лоадером.
Я что-то не представляю, как это можно делать без специальной компиляции DATA.PSP.

Мне нужно спрятать BIOS от эмулятора, который, говорят, нельзя распространять в открытом виде :)

Yoti
04.05.2016, 23:47
ErikPshat,
если не путаю, Дэйви когда-то писал, мол контейнер data.psar доступен даже из юзермода и его можно пользовать как угодно. Но практического решения у меня нет.