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)

riku.kh3 07.04.2013 17:40

ErikPshat, инструкция добро, все доступно и понятно. :) Самой только PRXDecrypter MOD нигде нету, единственное место где была - pspcfw.de, помер((

ErikPshat 07.04.2013 17:43

Цитата:

Сообщение от BlackDaemon (Сообщение 1068972)
могу ли я перезалить PrxEncrypter для англоязычных "коллег", так сказать? Авторство, разумеется, укажу.

Ну вот, начинается, не успел выложить в паблик свою версию, как её сразу хотят раскидать по всему миру :D
Да можешь отдать, только не надо говорить, что это мой энкриптер, там из названия папки убери мой ник, я папку просто так обозвал чтобы не спутать с другими сборками. Потом так и выложил, влом было переименовывать.

Вообще это не мой энкриптер. Скажу по секрету - это обычный энкриптер классический, который прилагается с исходниками прошивки PRO: http://code.google.com/p/procfw/sour...b/PrxEncrypter
Я только вырезал из него лишних 2 хедера, которые мне мешали и которые без моего ведома пытались вставить свой заголовок. Ну и я просто вручную заменяю на нужные мне хедеры и кирки в main.c

Как скачать исходники и как компилировать энкриптер, написано в этой инструкции: https://www.pspx.ru/forum/showthread.php?t=90993
Экзешник энкриптера так же компилируется с помощью PSPSDK, как и обычные хомки для PSP :girl_crazy:

riku.kh3 07.04.2013 18:08

Цитата:

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

Хмм.. у Brainpipe заголовок почему-то другой - D9160AF0. У TinyHawk и AnryBirds я еще проверил - D9160BF0. :scratch_one-s_head:

ErikPshat 07.04.2013 19:18

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

Сообщение от riku.kh3 (Сообщение 1068986)
у Brainpipe заголовок почему-то другой - D9160AF0

Теги идут по группам. И работают по принадлежности к группе и у одной группы свой порядковый скрамблер-код. Вот этот 3-ий байт в группе меняется только от прошивки к прошивке. В остальном одна группа выполняет свойственные ей привилегии, независимо от 3-его байта.
Например D9160AF0 знает прошивка 5.50 и выше, а тег D916F0 знает прошивка 5.55 и выше, но прошивка 5.50 уже не знает о нём, поэтому с последним тегом подписанная игра не запустится на 5.50 и ниже.


Цитата:

Сообщение от riku.kh3 (Сообщение 1068982)
Самой только PRXDecrypter MOD нигде нету, единственное место где была - pspcfw.de, помер((

Ага, отыскал я модификацию от Yoti, смотри вложение. Этот мод вообще появился, когда ломали голову, как сделать Permanent Patch на 6.20, чтобы подписать vshmain.prx. Кирк-то и так можно было отловить дамперами памяти, но тут автоматизировали этот процесс.


FAQ

  1. Короче, как обычно, кидаете в корневую папку "enc" один зашифрованный файл, например: прошивки, модуля vshmain.prx, psmfplayer.prx, libfont.prx, libheap.prx, EBOOT.BIN или DATA.PSP игры, или чего-то там ещё.

  2. Запускаете декриптор и декриптуете файл. На экране увидите сообщения, сдампился ли kirk.buff...

  3. PrxDecrypter декриптит те же самые теги, что и стандартный v2.6b. Но там Yoti добавил ещё новых тегов с ключами для новых прошивок и что-то ещё подхимичил, известное только ему )))
    Для декриптовки не обязательно кидать целиком файл, а достаточно бросить только заголовок 0х150 и кирк всё-равно клюнет на него, поэтому не просто так я создал эту тему с заголовками: https://www.pspx.ru/forum/showthread.php?t=103063

  4. Сдампленный кирк будет лежать в папке "enc" рядом с уже декриптованным файлом.

  5. Открываете kirk.buff в HexWorkshop v6.7, нажимаете "File => Export" и выбираете формат "C Source (*.c, *.cpp)", сохраняете где-то поблизости с исходниками PRXEncrypter, как kirk.c

  6. Так же в HexWorkshop открываете шифрованный файл, с которого был снят этот кирк, выделяете ровно 0х150 (336 байт) и так же делаете экспорт в "C Source (*.c, *.cpp)", сохраняете например как DATA.c

  7. Открываете оба *.с файла в текстовом редакторе и открываете main.c в папке с исходниками PRXEncrypter.

  8. В main.c букваьно в начале видите этот самый PSP-хейдер шифрованного файла 0х150 [336] байт, разложенного побайтно, типа так:
    Код:

    unsigned char pspHeader_small[336] =
    {
        0x7E, 0x50, 0x53, 0x50, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x74, 0x69, 0x6E, 0x79, 0x68, 0x61,
        0x77, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x15, 0x11, 0x04, 0x00, 0x70, 0x12, 0x04, 0x00,
        0x44, 0x90, 0x00, 0x00, 0xA4, 0xC1, 0x02, 0x00, 0xB1, 0x2A, 0x02, 0x00, 0x10, 0x00, 0x10, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x1E, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x9C, 0x1E, 0x03, 0x00, 0x75, 0x2B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x06, 0x09, 0x00, 0x00, 0x00,
        0xCB, 0xCC, 0xCA, 0x75, 0xF2, 0xFB, 0xFA, 0x76, 0xD7, 0x8A, 0x68, 0xF6, 0xBC, 0x19, 0x63, 0xF9,
        0xA1, 0x87, 0xF5, 0x50, 0x40, 0xB8, 0x5D, 0xDF, 0x25, 0x09, 0xB9, 0x58, 0x9B, 0x51, 0xD9, 0x95,
        0x6F, 0x45, 0xC8, 0x5A, 0x97, 0x64, 0xB7, 0x3F, 0xE6, 0x15, 0x90, 0xCE, 0xFC, 0x56, 0x91, 0x60,
        0x15, 0x11, 0x04, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0xB5, 0x16, 0x26, 0xE8, 0xFC, 0x33, 0xED, 0x7F, 0xC3, 0x30, 0xE3, 0x3F, 0xBC, 0x01, 0xC3, 0xE0,
        0xF0, 0x0B, 0x16, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0xE0, 0x0B, 0x5A,
        0x41, 0x6B, 0x51, 0x20, 0x2F, 0xE9, 0x0D, 0x9C, 0x1A, 0xC9, 0x33, 0x71, 0x93, 0x4D, 0xE2, 0xFB,
        0x05, 0xCD, 0x75, 0xC0, 0xDC, 0x78, 0x22, 0x45, 0xA5, 0x01, 0x6E, 0xFD, 0xDA, 0x23, 0x6D, 0x62,
    };


  9. Переходите к открытому вашему хедеру DATA.c. Выделяете только код без фигурных скобок и копируете его в main.c вместо того кода.

  10. Следом ниже видите ещё один код покороче - это kirk-header [272] байта, выглядит типа так:
    Код:

    unsigned char kirkHeader_small[272] =
    {
        0xBE, 0xD3, 0x21, 0xB1, 0x7C, 0x76, 0xD6, 0x59, 0xEE, 0x99, 0xF6, 0xD1, 0x73, 0x26, 0x34, 0xBE,
        0x5C, 0x06, 0x0B, 0x42, 0xE4, 0x82, 0x14, 0x52, 0xBA, 0x3D, 0x47, 0xA7, 0xFC, 0xA2, 0x14, 0x39,
        0x72, 0x66, 0x08, 0x91, 0xA5, 0x9D, 0xBB, 0x97, 0x0E, 0xB2, 0x1D, 0x48, 0x4A, 0x2E, 0xC2, 0xD0,
        0x9A, 0x12, 0xB8, 0xEC, 0xE2, 0xCA, 0xB3, 0xE3, 0x6C, 0xAC, 0xEC, 0x70, 0xB6, 0xAD, 0xB5, 0x9F,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x15, 0x11, 0x04, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x7E, 0x50, 0x53, 0x50, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x74, 0x69, 0x6E, 0x79, 0x68, 0x61,
        0x77, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x15, 0x11, 0x04, 0x00, 0x70, 0x12, 0x04, 0x00,
        0x44, 0x90, 0x00, 0x00, 0xA4, 0xC1, 0x02, 0x00, 0xB1, 0x2A, 0x02, 0x00, 0x10, 0x00, 0x10, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x1E, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x9C, 0x1E, 0x03, 0x00, 0x75, 0x2B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x06, 0x09, 0x00, 0x00, 0x00,
    };


  11. Переходите к вашему kirk.c. Так же выделяете код и меняете в main.c

  12. Сохраняетесь и компилите новый PRXEncrypter.exe. Там в папке уже есть батник для компиляции zMAKE.BAT и батник для очистки остатков предыдущей компиляции zCLEAN.BAT.
    Всегда после компиляции делайте очистку перед следующей компиляции.
    Подписываете им необходимые файлы, подходящие по размеру, проставленному в позиции 0х2C хедера донора.

Скачать:
prxDecrypter_Buff.7z
prxDecrypter_Buff_12mb.7z

ErikPshat 07.04.2013 20:01

Цитата:

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

Куда столько? :)
Ну надеюсь ты и сам справишься с этой инструкцией. Там всё легко и просто, только CTRL+C и CTRL+V.

Yoti 07.04.2013 20:11

Цитата:

Сообщение от ErikPshat (Сообщение 1068870)
компилишь новый PrxEncrypter через тот же PSPSDK

Так pspsdk это и есть патченый mingw с необходимым файлом, в общем-то.

Цитата:

Сообщение от riku.kh3 (Сообщение 1068982)
Самой только PRXDecrypter MOD нигде нету

Я так понял, и не было нигде - пришлось напрягать знакомых прогеров и самому делать ХД

BlackDaemon 07.04.2013 20:25

Цитата:

Сообщение от ErikPshat (Сообщение 1069006)
Куда столько? :)
Ну надеюсь ты и сам справишься с этой инструкцией. Там всё легко и просто, только CTRL+C и CTRL+V.

Наполовину справился - достал заголовок и кирк, отредактировал main.c и попытался собрать:
Код:

gcc -Wall -Os  -c -o crypto.o crypto.c
process_begin: CreateProcess((null), gcc -Wall -Os -c -o crypto.o crypto.c, ...)
 failed.
make (e=2): The system cannot find the file specified.
C:\pspsdk\bin\make: *** [crypto.o] Error 2
Press any key to continue . . .

Ставил Minimalist PSPSDK for Windows. Я чего-то не докачал, или нужен другой сдк, чтобы собрать PrxEncrypter? :crazy:

ErikPshat 07.04.2013 20:27

Yoti, давай ищё...

Хе-хе, хотел сдампить кирк с Brainpipe 9,99 МБ (10*481*216 байт), но декриптер тут же вешался с сообщением "estimating output size".
Ну собсно та же история, как тогда была с EDecrypt от mc707, тогда тоже голову ломали, что тег известный и есть ключ, но не декриптовался никак :)
Увеличил буфер с 10 до 12 Мб и всё пошло. Залил ещё одну сборку в FAQ.

riku.kh3 07.04.2013 20:29

BlackDaemon, в уже скомпилированный вручную в хексе можешь вставить:

455C-466B = kirk.buff
466C-47BB = заголовок

ErikPshat 07.04.2013 20:45

Цитата:

Сообщение от BlackDaemon (Сообщение 1069010)
Я чего-то не докачал, или нужен другой сдк, чтобы собрать PrxEncrypter?

Эмм, помнится у меня на голой системе PrxEncrypter компилился, вроде.
Но так же припоминаю, что что-то у меня тоже было не так вот с этим:
Цитата:

Сообщение от BlackDaemon (Сообщение 1069010)
crypto.o crypto.c

Для crypto алгоритма вроде что-то ещё нужно. У меня просто щас стоит и Пёрл и Джава и Питон и всё на свете.

Если есть лишние 10-20 Гб и хороший трафик, то не поленись и поставь полную сборку Cygwin.
  • Запускаешь маленький веб-инсталлер http://cygwin.com/setup.exe
  • Там выбираешь "Install from internet"
  • Путь оставляешь по дефолту C:\cygwin
  • Далее предложат выбрать сервер, который поближе к России. Выбирай немецкий сервер .de и лучше http, чем ftp.
  • В большом открывшемся окне нажимай на чёрный значёк круглешка обновления и выбери "All default"
  • Далее будет качаться долго и упорно, часа 2-3-4-5 :) смотря какая скорость.
  • Если скорость будет меньше положенной, чем пропускная способность твоего канала, то отключись и подключись к другому серверу, пока не получишь хорошую скорость.
После этого у тебя по идее должно компилиться всё подряд, даже прошивка PRO ;)

riku.kh3 07.04.2013 20:48

Вообщем под PS3 конвертил Disgaea Infinite (ULJS00286), после лого minis приставка вешалась на малевиче.. Сама игра под 6.20 и грузится через OPNSSMP.BIN. Декриптнул EBOOT, переподписал методом выше заголовком от Angry Birds minis, пересобрал образ без ненужного теперь OPNSSMP.BIN и после этого она пошла на PS3, мдя))

ErikPshat 07.04.2013 23:29

Цитата:

Сообщение от riku.kh3 (Сообщение 1069013)
455C-466B = kirk.buff
466C-47BB = заголовок

Ага, можно и не конвертить, а менять в уже готовом PRXEncrypter хексом :D

Причём верно для обоих энкриптеров PrxEncrypter_AstonishiaStory2.exe и PrxEncrypter_TinyHawk.exe



BlackDaemon, кстати, вот здесь хорошая инструкция по установке Windows Cygwin PSPSDK: http://code.google.com/p/procfw/wiki/CompilingOnWin

Собственно почти тоже самое, что уже выполняли, но там всё по порядку и красиво.

ErikPshat 08.04.2013 18:21

Вложений: 2

BlackDaemon 08.04.2013 19:05


ErikPshat 08.04.2013 19:46


BlackDaemon 08.04.2013 20:27


ErikPshat 09.04.2013 13:47

BlackDaemon, можешь проверить мою модификацию SEBOOT? Больше всего интересует шифрование с тегами 0 и 26...

Изменения видно на скриншотах :D (original and mod)

[IMG]http://img33.**************/img33/9941/signeboot.png[/IMG] [IMG]http://img28.**************/img28/6641/signebootmodbyerikpshat.png[/IMG]

BlackDaemon 09.04.2013 14:18

ErikPshat,

tag0 - работает на PSP с OFW и PS3.
tag26 - неработает на PSP с OFW (вылетает со "старой, знакомой" ошибкой), на PS3 при запуске в логе дебаггера говорится об unhandled exception.

На всякий случай оставляю закриптованый куб с последним тегом - надеюсь, что подписал правильно. :D
http://rghost.ru/45157914

Edit: сейчас перезакачаю.:crazy:
Edit2: сравнил закриптованые файлы на выходе - побайтово одинаковые, т.е. tag26 неработает.
Edit3: ради интереса сравнил закриптованые файлы с tag0 и tag26 - а изменений, то совсем немного. :D
http://i54.fastpic.ru/thumb/2013/040...bece0ad6c.jpeg

ErikPshat 09.04.2013 14:38

Вложений: 1
Отлично, тег 0 - это самый первый ключ, использовавшийся в прошивках 2.xx, соответственно он до сих пор поддерживается, иначе те старые официальные игры не смогли бы работать.


Цитата:

Сообщение от BlackDaemon (Сообщение 1069122)
tag26 - неработает на PSP с OFW

Странно, это последний ключ на прошивке 6.60 и в прошивке он присутствует.

В общем убрал этот тег 0xd91690f0, последняя ревизия во вложении...
Можешь отдать своим коллегам ;)

SEBOOT_MOD (full range of tags)

riku.kh3 09.04.2013 16:37

[IMG]http://img856.**************/img856/6180/prx.png[/IMG]

Хмм а почему в PRX'ах которые в играх ~SCE@ заголовок 64 байта присутствует? Что это такое вообще и как сгенерировать? :scratch_one-s_head:


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

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