Также пробовал подписывать HelloWorld - при запуске чёрный экран и PSP намертво зависает.
Так ты подписываешь только сам образ. А внутри него сам модуль ELF HelloWorld ведь ты не подписал в офф ~PSP.
Хомки подписанные любые идут на официальной прошивке. Любые - это те, которые не используют кернел.
Которые используют кернел, я вот не понимаю пока, почему они не идут, даже подписанные.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
BlackDaemon, да, вижу подписаны но что-то с ними не так.
Сообщение от Yoti
Там разве не static elf был?
У кубика похоже статический, т.к. видно по ELF-файлу, что структура другая, там в начале нету секций релокации, а только одни нули. Такие статичные Эльфы действительно просто так после подписи не запустятся.
Чтобы этого избежать, то нужно при компиляции добавить в Makefile строчку: BUILD_PRX = 1
И возможно понадобится это: PSP_FW_VERSION = 371 (иначе оно при компиляции показывает FW = 150), хотя думаю это не важно.
Что интересно, кубик с тегами D916xxF0, зашифрованными через Seboot не хочет запускаться даже на кастоме (точно не помню, но на официале точно не запускается)
А вот зашифрованный под Astonia_Story (меньше хедера не нашёл) отлично идёт на официалке.
Короче, Seboot имеет в себе 12 встроенных тегов, под которые умеет подписывать. И мне кажется, что он вообще не рабочий, т.е. не правильно подписывает, либо с этими тегами на официалке хомки не работают.
Прилагаю скрипт в архиве во вложении [кодировка "Кириллица DOS (cp866)"]
Короче, Seboot имеет в себе 12 встроенных тегов, под которые умеет подписывать. И мне кажется, что он вообще не рабочий, т.е. не правильно подписывает, либо с этими тегами на официалке хомки не работают.
Короче, провёл ещё эксперимент, скачал Минис отсюда [PSP] Tiny Hawk [ENG] [MINIS] (2012)
Там как раз идёт тег 0xD9160BF0. Взял от него заголовок и подписал им Кубик через PRXEncrypter.
Запустился на официальной прошивке после прогона через FakeNP: СКАЧАТЬ
Так что дело не совсем в этом теге, хотя без FakeNP просто так он не запустился, как в предыдущем посте.
Скорее всего Seboot не правильно подписывает файлы.
P.S. Оставлю ссылку на Minis, чтобы потом не забыть, думаю можно надыбать ещё хороших хедеров.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 28.12.2014 в 02:38.
Репутация: 229 
(весьма и весьма положительная личность)
ErikPshat, что-то здесь идёт не так. Вытащил из вашего подписанного куба data.psp и засунул его в образ как eboot.bin, запускаю образ на кастоме - ошибка 0x80020148. Решил провести "обратный" эксперимент - достал из образа с Killzone: Liberation eboot.bin, переименовал его в data.psp, засунул в eboot.pbp и запустил на кастоме. Догадайтесь, что случилось дальше?
Edit: что-то я запоздал с постом. Пойду проверять новый куб.
Последний раз редактировалось BlackDaemon; 06.04.2013 в 14:29.
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 по ходу совсем не работает.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
При возможности, сделайте пожалуйста утилитку, которая этим тегом подписывает хомбрюшки.
А какая именно у тебя завелась?
Из архива cube.zip => Cube Sample (только не та, которая не подписана- "Cube Sample CFW (not signed)")
Из архива Cube_Sample_FakeNP.zip
Думаю обе должны работать.
Тебе нужен "PrxEncrypter for Windows" с исходниками. Собственно уже в готовом экзешнике есть 3 готовых заголовка (от Astonia_Story2 300kb, и ушё парочка побольше). Так что можно шифровать PRX-ы с этими заголовками.
Но если понадобится зашифровать файлы прошивки с другими тегами или под особый размер заголовка, то в исходном файле main.c просто меняешь Header и Kirk на свои, компилишь новый PrxEncrypter через тот же PSPSDK и шифруешь файлы со своими заголовками.
Пока тебе не могу дать сборку, т.к. она приватная. Если Yoti разрешит, тогда выложу в паблик.
Но если хорошенько у Гугля попросить, то можно и так найти
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Репутация: 229 
(весьма и весьма положительная личность)
ErikPshat, завелась из Cube_Sample_FakeNP.zip, правда, чтобы запустить на PS3 пришлось доставать eboot.bin, засовывать его в другой образ и пересобирать через fake_np (из-за чего так - не знаю ).
Репутация: 229 
(весьма и весьма положительная личность)
ErikPshat, перепробовал несколько вариаций PrxEncrypter - из этой темы (залоговок tifpsp), другой - из вложений в теме по подписыванию, третий с wololo, четвёртый (с заголовком от Astonia_Story мне собрал разработчик Jpcsp). Во всех случаях происходит одно и тоже - подписываю ваш декриптованый куб из "Cube Sample CFW (not signed)" и заменяю eboot.bin в образе - при запуске на кастоме вылезает проклятая 0x80020148. Во втором случае (по гайду) пробовал использовать в качестве "доноров" eboot'ы от Brainpipe, Fieldrunners и ваш рабочий закриптованый куб.
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 байт
Положи в папку декриптованный (not Signed) кубик под названием DATA.prx
Запусти батник SIGN.BAT, получишь 2 файла DATA.PSP и EBOOT.BIN с разными подписанными хедерами.
Сравни по MD5 с моими файлами - должны 100% сойтись.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Да вот этот классический работает безотказно. А вот другие сборки, например от supercow и модификация выдают какую-то хрень.
Кстати, тот kirk.buff тоже надо бы выложить. Опять же классика работает безупречно.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Репутация: 229 
(весьма и весьма положительная личность)
Такс, результаты первых тестов.
прошли 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) - ведёт себя аналогично
BlackDaemon, ну ты реально что-то не так делаешь, либо PARAM.SFO не такие подсовываешь. И чую все перечисленные хомки какие-то старые. Там идёт скорее сырой ELF статический. Как компилировать я писал выше.
У меня любые хомки подписанные идут без всяких бубнов на PSP. Но не идут те, у которых прилагаются сторонние модули PRX, особенно с кернел-правами. Сторонние ресурсы идут без проблем.
Может там на PS3 с эмулятором PSP не совсем проработано.
Сообщение от riku.kh3
ErikPshat, как kirkHeader сгенерировать?
Ну вроде Yoti дал добро, так что щас найду. Правда наверняка без инструкции вы просто так не поймёте, что с этим делать
Для этого есть модифицированный prxDecrypter. Во время декриптовки любого декриптуемого файла, процессор, опознав тег и публичный ключ, генерирует приватный Kirk-Header, для декриптовки файла. В этот момент декриптор дампит этот кирк и сохраняет на карту.
Потом, имея хейдер оригинального файла 0х150 (336 байт) и кирк 0х110 (272 байта), можно этим же кирком и хедером подписать любой другой файл.
Размер подписываемого файла зависит от размера, указанного в хедере шифрованного файла-донора по адресу 0х2C минус размер самого хедера и минус 0х10 (16 байт).
Ну блин, тут надо целую диссертацию писать.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram