PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   PSP хакинг и девелопмент (https://www.pspx.ru/forum/forumdisplay.php?f=195)
-   -   Запуск PSP Homebrew на PS3 (https://www.pspx.ru/forum/showthread.php?t=103479)

ErikPshat 06.04.2013 01:34

Цитата:

Сообщение от BlackDaemon (Сообщение 1068812)
Также пробовал подписывать HelloWorld - при запуске чёрный экран и PSP намертво зависает.

Так ты подписываешь только сам образ. А внутри него сам модуль ELF HelloWorld ведь ты не подписал в офф ~PSP.

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

BlackDaemon 06.04.2013 02:06

ErikPshat, "Это несерьёзно!" (с) :D Вот, посмотрите сами. :)

ErikPshat 06.04.2013 08:33

Вложений: 2
BlackDaemon, да, вижу подписаны :) но что-то с ними не так.

Цитата:

Сообщение от Yoti (Сообщение 1068806)
Там разве не static elf был?

У кубика похоже статический, т.к. видно по ELF-файлу, что структура другая, там в начале нету секций релокации, а только одни нули. Такие статичные Эльфы действительно просто так после подписи не запустятся.
  • Чтобы этого избежать, то нужно при компиляции добавить в Makefile строчку: BUILD_PRX = 1
  • И возможно понадобится это: PSP_FW_VERSION = 371 (иначе оно при компиляции показывает FW = 150), хотя думаю это не важно.

Что интересно, кубик с тегами D916xxF0, зашифрованными через Seboot не хочет запускаться даже на кастоме (точно не помню, но на официале точно не запускается)
А вот зашифрованный под Astonia_Story (меньше хедера не нашёл) отлично идёт на официалке.

Короче, Seboot имеет в себе 12 встроенных тегов, под которые умеет подписывать. И мне кажется, что он вообще не рабочий, т.е. не правильно подписывает, либо с этими тегами на официалке хомки не работают.
Прилагаю скрипт в архиве во вложении [кодировка "Кириллица DOS (cp866)"]
Вложение 8948
Ну и сам подписанный кубик: Скачать

ErikPshat 06.04.2013 12:27

Вложений: 1
Цитата:

Сообщение от ErikPshat (Сообщение 1068843)
Короче, Seboot имеет в себе 12 встроенных тегов, под которые умеет подписывать. И мне кажется, что он вообще не рабочий, т.е. не правильно подписывает, либо с этими тегами на официалке хомки не работают.

Короче, провёл ещё эксперимент, скачал Минис отсюда [PSP] Tiny Hawk [ENG] [MINIS] (2012)
Там как раз идёт тег 0xD9160BF0. Взял от него заголовок и подписал им Кубик через PRXEncrypter.
Запустился на официальной прошивке после прогона через FakeNP: СКАЧАТЬ

Так что дело не совсем в этом теге, хотя без FakeNP просто так он не запустился, как в предыдущем посте.
Скорее всего Seboot не правильно подписывает файлы.

P.S. Оставлю ссылку на Minis, чтобы потом не забыть, думаю можно надыбать ещё хороших хедеров.

BlackDaemon 06.04.2013 12:32

Вложений: 1
ErikPshat, что-то здесь идёт не так. :D Вытащил из вашего подписанного куба data.psp и засунул его в образ как eboot.bin, запускаю образ на кастоме - ошибка 0x80020148. Решил провести "обратный" эксперимент - достал из образа с Killzone: Liberation eboot.bin, переименовал его в data.psp, засунул в eboot.pbp и запустил на кастоме. Догадайтесь, что случилось дальше? :D

Edit: что-то я запоздал с постом. Пойду проверять новый куб. :)

ErikPshat 06.04.2013 13:06

BlackDaemon, тут я думаю дело в тегах. Нельзя один вид тега использовать как другой вид.

1. Например куб я подписал тегом Astonia_Story: 0xADF305F0 /* scrambler 0x60, Demo Game keys DATA.PSP */
То есть, этим тегом подписывают демки DATA.PSP, которые исключительно идут в EBOOT.PBP, поэтому в этом виде запускается без плясок с бубном. Этим тегом подписаны все установщики кастомных прошивок и FastRecovery. А если этот тег положить в образ ISO и пусть даже подписать через FakeNP, то он не запустится.

2. Второй куб был подписан тегом от игры Tiny Hawk Minis: 0xD9160BF0 /* scrambler 0x5D, Game EBOOT.BIN keys */
То есть, этим тегом подписывают игры в EBOOT.BIN, которые идут в образах дисков ISO (UMD). Но хотя Минисы идут в EBOOT.PBP изначально, однако они по сути и есть образы дисков UMD, подписанные способом NP. Поэтому с этим тегом будет работать только через FakeNP.

И потом, для каждого вида тегов существуют разные виды PARAM.SFO

А подпись SEBOOT по ходу совсем не работает.

BlackDaemon 06.04.2013 13:11

ErikPshat, УРА, работает!!!:yahoo:Огромное спасибо за помощь.:thank_you:При возможности, сделайте пожалуйста утилитку, которая этим тегом подписывает хомбрюшки. Заранее спасибо.thank you


ErikPshat 06.04.2013 14:35

Цитата:

Сообщение от BlackDaemon (Сообщение 1068864)
При возможности, сделайте пожалуйста утилитку, которая этим тегом подписывает хомбрюшки.

А какая именно у тебя завелась?
  1. Из архива cube.zip => Cube Sample (только не та, которая не подписана- "Cube Sample CFW (not signed)")
  2. Из архива Cube_Sample_FakeNP.zip
Думаю обе должны работать.

Тебе нужен "PrxEncrypter for Windows" с исходниками. Собственно уже в готовом экзешнике есть 3 готовых заголовка (от Astonia_Story2 300kb, и ушё парочка побольше). Так что можно шифровать PRX-ы с этими заголовками.
Но если понадобится зашифровать файлы прошивки с другими тегами или под особый размер заголовка, то в исходном файле main.c просто меняешь Header и Kirk на свои, компилишь новый PrxEncrypter через тот же PSPSDK и шифруешь файлы со своими заголовками.

Пока тебе не могу дать сборку, т.к. она приватная. Если Yoti разрешит, тогда выложу в паблик.
Но если хорошенько у Гугля попросить, то можно и так найти ;)

BlackDaemon 06.04.2013 14:52

ErikPshat, завелась из Cube_Sample_FakeNP.zip, правда, чтобы запустить на PS3 пришлось доставать eboot.bin, засовывать его в другой образ и пересобирать через fake_np (из-за чего так - не знаю :D ).

ErikPshat 07.04.2013 04:53

BlackDaemon, а мне кубик понравился, красиво смотрится на PSP :)

BlackDaemon 07.04.2013 11:19

ErikPshat, перепробовал несколько вариаций PrxEncrypter - из этой темы (залоговок tifpsp), другой - из вложений в теме по подписыванию, третий с wololo, четвёртый (с заголовком от Astonia_Story мне собрал разработчик Jpcsp). Во всех случаях происходит одно и тоже - подписываю ваш декриптованый куб из "Cube Sample CFW (not signed)" и заменяю eboot.bin в образе - при запуске на кастоме вылезает проклятая 0x80020148. :dash: Во втором случае (по гайду) пробовал использовать в качестве "доноров" eboot'ы от Brainpipe, Fieldrunners и ваш рабочий закриптованый куб. :crazy:

ErikPshat 07.04.2013 14:06

Вложений: 1
BlackDaemon, эмм, если подписываешь от Astonia_Story (вроде правильно называется Astonishia_Story_2), то прогонять через NP не надо. Просто собираешь подписанный prx (DATA.PSP) в EBOOT.PBP с помощью PBP Unpacker.
Таким образом собираются все установщики кастомных прошивок, Fast Recovery и т.п. Они обязаны запускаться на официальных прошивках.

Если подписываешь тегом от игры UMD (EBOOT.BIN), тогда нужно собрать в образ NP.ISO и прогонять через FakeNP.

Короче, вот мой PRXEncrypter, пробуй им. Я скомпилировал 2 вида экзешника под 2 хедера, с помощью которых делал 2 предыдущих кубика.
  • Для хедера минис TinyHawk подписываемый файл должен быть не более ~266149 байт
  • Для хедера AstonishiaStory2 подписываемый файл должен быть не более ~368176 байт


  1. Положи в папку декриптованный (not Signed) кубик под названием DATA.prx
  2. Запусти батник SIGN.BAT, получишь 2 файла DATA.PSP и EBOOT.BIN с разными подписанными хедерами.
  3. Сравни по MD5 с моими файлами - должны 100% сойтись.

Yoti 07.04.2013 14:14

Цитата:

Сообщение от ErikPshat (Сообщение 1068870)
Если Yoti разрешит, тогда выложу в паблик.

Да кидай, фиг с ним. Я даже не помню, насколько оно хорошо работает...

BlackDaemon 07.04.2013 14:15

ErikPshat, огромное спасибо, eboot.bin'ы совпали побайтово. :) Сейчас буду пробовать другие хомбрю запускать. :D

ErikPshat 07.04.2013 14:47

Цитата:

Сообщение от Yoti (Сообщение 1068947)
Я даже не помню, насколько оно хорошо работает...

Да вот этот классический работает безотказно. А вот другие сборки, например от supercow и модификация выдают какую-то хрень.
Кстати, тот kirk.buff тоже надо бы выложить. Опять же классика работает безупречно.

BlackDaemon 07.04.2013 16:21

Такс, результаты первых тестов.

прошли fake_np:
- ProShell - запускается на оф. прошивке, но на PS3 текст не выводится (сначала подумал, что не работает, а вот оно что!)
- 2dstudio.prx - запускается на оф. прошивке, на пс3 текста нет


дошли до этапа с fake_np:
- lines.pbp - работает под кастомом, на оф. прошивке 0x80020148
- logic.pbp - см. выше
- skinning.pbp - см. выше

после подписывания ELF неработают:
PSPong 0.1.pbp - подписал и засунул в образ, при запуске на кастоме чёрный экран, приставка зависает.
basic.pbp (из SDK 2.0) - ведёт себя аналогично
dragon.pbp (из SDK 2.0) - ведёт себя аналогично

riku.kh3 07.04.2013 16:26

ErikPshat, как kirkHeader сгенерировать? Хочу тоже потестить, но 250KB лимит... :(

BlackDaemon 07.04.2013 16:43

ErikPshat, с вашего разрешения - могу ли я перезалить PrxEncrypter для англоязычных "коллег", так сказать? Авторство, разумеется, укажу. :D

ErikPshat 07.04.2013 17:01

BlackDaemon, ну ты реально что-то не так делаешь, либо PARAM.SFO не такие подсовываешь. И чую все перечисленные хомки какие-то старые. Там идёт скорее сырой ELF статический. Как компилировать я писал выше.
У меня любые хомки подписанные идут без всяких бубнов на PSP. Но не идут те, у которых прилагаются сторонние модули PRX, особенно с кернел-правами. Сторонние ресурсы идут без проблем.
Может там на PS3 с эмулятором PSP не совсем проработано.


Цитата:

Сообщение от riku.kh3 (Сообщение 1068970)
ErikPshat, как kirkHeader сгенерировать?

Ну вроде Yoti дал добро, так что щас найду. Правда наверняка без инструкции вы просто так не поймёте, что с этим делать :)
  1. Для этого есть модифицированный prxDecrypter. Во время декриптовки любого декриптуемого файла, процессор, опознав тег и публичный ключ, генерирует приватный Kirk-Header, для декриптовки файла. В этот момент декриптор дампит этот кирк и сохраняет на карту.
  2. Потом, имея хейдер оригинального файла 0х150 (336 байт) и кирк 0х110 (272 байта), можно этим же кирком и хедером подписать любой другой файл.
  3. Размер подписываемого файла зависит от размера, указанного в хедере шифрованного файла-донора по адресу 0х2C минус размер самого хедера и минус 0х10 (16 байт).
Ну блин, тут надо целую диссертацию писать.

BlackDaemon 07.04.2013 17:37

Гмм, вытащите, пожалуйста, подпись из Brainpipe, там размер eboot.bin 10 мб, т.е. хватит на всё-про-всё. :D


Текущее время: 15:26. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.