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
Вообще, конечно, Йошихиро грызет локти сейчас... Ведь он свой декриптер писал (если писал сам, а не переписывал творение jas0nuk, бу-ха-ха) явно для продвижения прошивок и тулзов ГЕН (типа декриптованные игры идут только на ГЕНе, все срочно шейтесь), а тут получилась реинкарнация трудов Д-Алекса И никуда уже не денешься
Последний раз редактировалось unsupported; 08.10.2009 в 08:51.
mc707, просто большое тебе человеческое спасибо! Теперь ты можешь гордиться своим достижением всю жизнь, а все люди в мире не забудут, что русские мозги - лучшие на свете
Вообще, конечно, Йошихиро грызет локти сейчас... Ведь он свой декриптер писал
если быть внимательным то можно было увидеть на французском примечание у них на сайте, что Йошихиро пытается понять что не так и добиться совместимости с непрошивайками тоже, так что не вижу с чего бы он там так локти грыз. Да и тулзут-то как-никак ген выпустил, так что свой кусочек команда получила, а вот точка в теперешнем положении дел с 5.55 конечно, получилась эффектнейшая, и вдвойне приятно что сделал таки её наш человек, за что ему большое человеческое спасибо.
тулзут-то как-никак ген выпустил, так что свой кусочек команда получила
Это все еще под большим вопросом. Все творения ГЕН - перелицовка работ ДАКСа. А декриптор от йоши странно напоминает ПРХ декриптор от Jas0nuk (который декриптит уже ой как давно).
Но суть не в этом - благодаря стараниям НАШЕГО "левши" - mc707, у нас появилась реальная альтернатива бесконечным поискам новых CFW, за что ему ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО и УВАЖЕНИЕ!
Я сам писал декриптор для EBOOT.BIN, почти закончил, мне оставалось только ключ подобрать, но Йоши меня опередил.
Посмотря на творение Йошихиро, я понял, что он переписал код PSARDumper'а, так же как и я (у него в первой версии даже pspdecrypt.prx был байт-в-байт с PSARDumper'ом). Jas0nuk же писал декриптор полностью с нуля, это видно вооруженным глазом. Поэтому никто ни у кого не воровал, как это кажется на первый взгляд.
Последний раз редактировалось mc707; 08.10.2009 в 12:35.
прошу прощения, почему не патчится FIFA 10 (исо). Я так понял дескриптовать же ее не надо, т.к. она для 5.50, поэтому просто патчем прогнал и ни фига...
van Damme добавил 08-10-2009 в 13:11
...P.S. надо, чтоб на 5.03 ГЕн-а пошла. (ГТ пошла)
Последний раз редактировалось van Damme; 08.10.2009 в 13:11.
Причина: добавил, подумав
unsupported, это проверенная инфа, что фифу декриптовать надо? а то я на форумах читал, что ее как раз таки не надо декриптовать, а просто патчем зафигачить.... и люди пишут, что у них все пошло!
....Обращение ко всем: кто фифу взломал - дайте ссылку не EBOOT.BIN декриптованный и пропатченный.
кстати, скачивал фифу с пспзоны.ру так она там уже декриптованная судя по всему, т.е. там во вкладке Sector Viewer вместо PSP написано ULES-01322|BFC94...
van Damme,вкладку ты смотришь в UMDGen'е? а смысл? экспортируй из имиджа EBOOT.BIN, который лежит в PSP_GAME\SYS_DIR и посмотри его Хексредактором. Если в заголовке будет ELF, то это декриптованный, а если PSP - криптованный.
van Damme добавил 08-10-2009 в 14:25
Нашел Хекса, установил, посмотрел - действительно для фифы там написано psp... значит декриптовать надо! а каким декриптором лучше? 2ым или 3им?
Последний раз редактировалось van Damme; 08.10.2009 в 14:25.
Причина: добавил, подумав
Герой спарты (мини игра) не идёт Если патчу eboot, то черный экран и зыза виснет, если с тхт что то делаю, то ошибку пишет( как Героя спарты запустить?
Спасибо за прогу!
Мне оч пригодилась! так как у мя нет аккумулятора,играю от зарядника,а чтоб на 5.50ген проиштся нужен именно аккум.так что сижу на 500м33
Попытался применить патчер к ебуту (наруто, ELF), пишет файл васнот пэтчед, хотя Процесс суксидед. комментарии?
Видел где то тут лежит специальный этот файл lдля игры наруто,который патчил mc707 и с этим файлом у всех она работает.поищи получше.или вот сдесь чувак под ником Farharzadeeb , #84 пост. выложил этот eboot
ЗЫ если я гдето ошибся,извини.сам я в наруто не играл
Последний раз редактировалось Alex Mercer; 08.10.2009 в 15:45.