EBOOT.BIN Patcher v1.1 - запуск новых игр на 5.00M33|5.03GEN/MHU
EBOOT.BIN Patcher v1.1
Как обладатель непрошиваемой 3008 версии psp я не мог смириться с тем, что 80% (если не больше) новых игр на ней не запускается.
Я начал изучать декомпилированный код загрузчиков игр на предмет несоответствий.
Сначала я пошел неправильным путем, считая, что в новых играх используются API-функции новой прошивки, при вызове которых psp зависала. Потратив несколько дней на изучение, я понял, что принципиальных отличий между загрузчиками нет.
После этого я начал обращать внимание на все детали и увидел, что практически в самом начале вызывается функция SysMemUserForUser_91DE343C. Поискав о ней информацию, я к сожалению, обнаружил, что данная функция ядра недокументирована ни в СДК, ни где либо еще. Продолжив раскопки я увидел это:
Используя дебаггер эмулятора jpcsp 0.3.1105 я увидел, что значение регистра $v0, в который записывается число 505h по адресу 8e2c290 передается функции SysMemUserForUser_91DE343C по 8e2c2b8. На самом деле получается, что вызывается функция ядра SysMemUserForUser_91DE343C(0x0505,...), что наводит на мысль по аналогии с вызовом функции
// @param sdkversion - The sdkversion to set
// (e.g.: 0x02070110 in applicationc compiled for firmware 2.71)
int sceKernelSetCompiledSdkVersion(int sdkversion);
что говорит о том что число 0x0505 может означать версию прошивки 5.50.
Недолго думая, исправив это значение на 0x0500 я успешно запустил данную игру на 5.03 MHU.
Два дня ушло на проверку теории и тестирование на всех играх на прошивках 5.0m33-6 и 5.03MHU (Мой друг Mercyful тестировал на 5.0m33-6, я тестировал на 5.03MHU). Результат оказался впечатляющим - на 5.0 работают 98% игр (2% ушло на несколько игр плюс небольшой запас).
Для не знакомых с ассемблером процессора MIPS предлагаю небольшую инструкцию для быстрого патча и универсальный патчер для любой игры, включая (я надеюсь) еще невышедшие:
Инструкция
1. Извлеките с помощью UMDGen из образа игры загрузчик EBOOT.BIN и экспортируйте File list (меню File>File list>Export);
2. Декриптуйте загрузчик EBOOT.BIN с помощью EDecrypt v1.3.1 либо PRXDecryptor 2.3;
3. Примените патчер из вложения к декриптованному загрузчику EBOOT.BIN (проверьте, что это именно декриптованный - у него хедэр ELF).
4. Упакуйте загрузчик обратно в образ (с помощью UMDGen замените загрузчик EBOOT.BIN в образе на декриптованный).
5. Импортируйте File list обратно, согласившись с вопросом о желании зафорсить положение файлов в образе! (этот пункт обязателен для многих игр, в частности DiRT2 без этой процедуры валится в черный экран)
6. Сохраните новый образ из UMDGen (cохраните оригинал)
7. Перепишите образ на psp и играйте.
P.S. В ссылке на патчер приведен список всех протестированных игр.
UPDATE: Для тех, кто будет править файл вручную, обратите внимание, что есть игры в которых таких проверок не одна. Точно знаю что не одна проверка в DIRT2, Bloons Minis и Undead Knigts. Именно поэтому патчер патчит так долго, ищет дополнительные проверки.
Последний раз редактировалось ErikPshat; 25.03.2010 в 16:51.
Причина: Update to version 1.1
для тех, кто пытается победить наруто с помощью v4 от йошихиро - не пытайтесь. v4 не декриптит этот ебут. вместо этого пишет, что вы плохие дети и надо игры покупать, а не скачивать из инета пользуйте прхдекриптер 2.30 и все. патчи дл наруты не нужны
З.Ы. Вообще у связки прх декриптер 2.30 + ебоот патчер от мс707 ни одной осечки, чего нельзя сказать о комбайне от йоши.
Последний раз редактировалось unsupported; 11.10.2009 в 23:25.
Помогите пожалуиста, скачал ещё Naruto нового (ULES-01306) - не работает
Сообщение от unsupported
для тех, кто пытается победить наруто с помощью v4 от йошихиро - не пытайтесь.
Не знаю, почему у кого-то так происходит, может образы разные или ещё что-то, но у меня Наруто нормально патчиться.
NARUTO Shippuden Legends Akatsuki Rising.iso ULES-01306 (770'766'848 байт) - оригинальный образ, скачанный с инета, требующий прошивку 5.55.
EBOOT.BIN вытащил и декриптовал без танцев кнопкой unsupported, наверное ты допускаешь ту-же ошибку, о которой я говорил постом выше.
Способ №1 - не проканал ((
Правда оптимизированный (с удалёнными файлами прошивки) и сжатый в CSO сейчас запустить не смог на 5.00М33-6.
Попробую без оптимизации через File List, думаю в этом проблема, что при оптимизации и при замене EBOOT.BIN сместились все смещения. А в игре значит идёт привязка по LBA.
Способ №2 - всё запахало!
Ну вот результат: открыл образ, сделал File List, заменил EBOOT.BIN декриптованный и пропатченый через Game Decripter by Yoshihiro v4, вернул назад File List, сохранил в ISO (770'766'848 байт).
Заработала на 5.00 М33-6 с любым драйвером.
Щас проверю в CSO, думаю, это никак не должно влиять на работу игры...
Способ №3 - опять запахало ))
Ну вот, сделал всё так же: сделал File List, заменил EBOOT.BIN, вставил назад File List, сохранил в CSO (580'994'417 байт).
Всё запустилось так же на 5.00М33-6. Причём съэкономил места на 189'772'431 байт (почти 200 Мб)
Способ №4 - и опять запахало ))
Решил повторить "Способ №1", но уже с Файл-листом.
Снял File List с нетронутого родного образа, впрочем он у меня уже был со второго способа.
Сделал оптимизацию, т.е. нажал кнопку "Optimize" на вкладке "UMD Properties" и тем самым обнулил все три файла прошивки в папке UPDATE, там ещё удаляется какой-то лишний мусор.
Закинул декриптованный EBOOT.BIN
Вернул на место File List, чтобы все файлы заняли родные позиции LBA.
Сохранил в сжатый формат CSO (553'693'078 байт). От этого ничего не пострадает, хотя образ и сжимается, но файлы остаются на своих позициях.
Ну и в результате съэкономил на файлах прошивки ещё 27'301'339 байт.
Общая экономия составила ровно 217'073'770 (217 Мб) от оригинала, что вроде очень не плохо.
Игра идёт без тормозов на любом драйвере на 5.00М33-6 и выше.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 12.10.2009 в 11:02.
спасибо! действительно образ уже был патченый и в хэдере файла EBOOT.BIN значилось именно "ELF", тоесть я тупо пытался декриптовать уже декриптованый файл. А "черный экран" был банально связан с тем что стоял драйвер sony NP9660...
прошу прощения за невнимательность
Последний раз редактировалось Demonolog; 12.10.2009 в 11:20.
Вчера мучался с Funky Punch USA. Проблема в том, что при стандартной процедуре игра выдает ошибку 0x80020001.
Помучавшись немного я понял, что UMDGen неправильно генерирует iso, что бы я ни делал.
После этого я открыл в WinHex исошку, нашел место где начинается сигнатура файла EBOOT.BIN "~PSP" и вставил на это место декриптованный пропатченный EBOOT.BIN.
После всех этих манипуляций игра заработала без проблем. Так что бывает и такое.
Demonolog, если файл уже был патченный, то можно было его просканировать с помощью eboot.patcher v1 от mc707, чтобы снять привязку к версии прошивки.
По крайней мере у меня игра Undead Knights ULUS-10453 пошла на любом драйвере: https://www.pspx.ru/forum/showpost.ph...&postcount=132
mc707, может действительно иногда UMDGen глючит, судя по тому, что один и тот-же образ у разных людей может работать, а может и нет )))
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 12.10.2009 в 11:38.
fcsm__rwt, да собсно, какая разница. Все образы патчаться тем же самым от Yoshihiro. Просто ранние образы не патчили на версию прошивки, поэтому проверяешь, если уже патченый ELF, значит его недопатчили eboot.bin.patcher v1 от mc707. Патчер от Yoshi конечно не возьмёт уже декриптованный файл, тогда надо пройтись патчером от mc707 отдельно.
Другое дело, если патченый образ с привязкой по LBA и чел, который его выкладывал, не знал об этом, тогда да, нужно искать FileList от оригинала или искать сам оригинал.
Поэтому проще попросить у кого-нибудь FileList, чем качать весь образ по новой.
Кстати, думаю нужно создать коллекцию по FileList-ам в отдельной теме или что-то придумать...
А торренты с оригиналами я ищу в разных местах, это ни для кого не секрет. Ссылки на сами образы у нас правда запрещены, но ссылки на торрент-трекеры вроде никто не запрещал, поэтому вот мой список:
Ashgo, да, и USA и Eur без проблем пашут на 5.00м33-6
makci-n82, героя пропатчил без проблем (образ оригинальный 70 815 744 bytes). ссылку откуда качал забросил тебе в личку (образ оригинальный - непатченный вообще)
Последний раз редактировалось unsupported; 13.10.2009 в 07:52.