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
ГТ запустилась, сейвы работают... м33, 5.03Ген-а.
У кого не запускается рус. версия патчите патчером от мистера-эксклюзива mc707, которому отдельное СПАСИБО за изобретение
ждем ФИФУ 10 РУС.
Последний раз редактировалось Dr.House; 07.10.2009 в 19:10.
P.S. Такая штука только с архивом, скачанным с оф. сайта Revenge-Crew.
Очень приятно, что меня, а не кого-нибудь другого стали хоть рекламировать ))).
Сообщение от mc707
ErikPshat, только что проверил скачанный с bitgamer игру Marvel Ultimate Alliance 2 - все запускается без патчера безо всяких проблем на 5.03MHU, m33 driver как я и ожидал.
Может там уже пофиксеный образ? Проверял на наличие кода 10 00 05 05?
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
mc707,думаю, инструкцию надо обязательно дополнить следующими пунктами:
1. Извлеките с помощью UMDGen из образа игры загрузчик EBOOT.BIN и экспортируйте File list (меню File>File list>Export);
2. Декриптуйте загрузчик EBOOT.BIN с помощью Game Decryptor by Yoshihiro v2 либо PRXDecryptor 2.3;
3. Примените патчер к декриптованному загрузчику EBOOT.BIN (проверьте, что это именно декриптованный - у него хедэр ELF).
4. Упакуйте загрузчик обратно в образ (с помощью UMDGen замените загрузчик EBOOT.BIN в образе на декриптованный).
5. Импортируйте File list обратно, согласившись с вопросом о желании зафорсить положение файлов в образе! (этот пункт обязателен для многих игр, в частности DiRT2 без этой процедуры валится в черный экран)
6. Сохраните новый образ из UMDGen (cохраните оригинал)
7. Перепишите образ на psp и играйте.
В таком варианте все работает на 5.0 м33.
Последний раз редактировалось unsupported; 07.10.2009 в 20:05.
ErikPshat,спасибо за ссылочку теперь понятно в деталях. Я запостил добавку специально. Может на 5.50ГЕН это и не обязательно, а вот запустить ДёРТ2, ГТ Евро и ИЛ2Штурмовик на 5.00 М33 без этой процедуры не получается. Так, что для чистоты эксперимента лучше с этим, чем без него. Процедура секундная, а нервов может кому-нибудь сберечь массу
Да, с такой процедурой я на 5.00 М33-6 успешно запустил и поиграл в:
GT - обе версии Еур и ЮСА
DiRT2
IL2 - тут правда патчер не нужен, просто декриптор и ОБЯЗАТЕЛЬНЫЙ файллист
Последний раз редактировалось unsupported; 07.10.2009 в 21:48.
mc707, а что если менять не 0505023C на 0005023C, а искать код 10 00 05 05 и заменять на 10 00 00 05.
Может так будет правильнее? Потому как я посмотрел в нескольких образах, где патчится первый код, но там так же присутствует и второй.
Правда не проверял пока, просто предположение...
Сообщение от unsupported
ErikPshat,спасибо за ссылочку теперь понятно в деталях.
unsupported, я предугадал, что такое предложение от тебя с File List, спустя полчаса, возникнет и впоследствии обретёт завершённую форму, поэтому решил заранее подстраховаться.)))
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 07.10.2009 в 22:01.
ErikPshat, ну анализируя код я понял что замена 10000505 на 10000005 ничего не даст... Стопроцентно не уверен, но думаю, что так. Доказано на марвеле (который кстати и есть искомый xmen2, для которого йоши v2 сделал) =)
з.ы. йоши мне на своем сайте написал, что сделал v3 версию, которая патчит те байты, которые я исправляю))
Последний раз редактировалось mc707; 07.10.2009 в 22:07.
mc707, я на Марвеле как раз этим способом запустил или опять глюк )
Сообщение от mc707
йоши мне на своем сайте написал, что сделал v3 версию, которая патчит те байты, которые я исправляю))
Ну это не мудрено, т.к. новость облетела уже весь мир конечно. И Йошихиро конечно принял твою находку к сведению. Ему даже объяснять не надо, что к чему ))
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
mc707, браво! Меня при слове ассемблер бросает в дрожь и в сон одновременно. Вторую Дисгаю теперь поиграю без перехода на новые прошивки, где половина нужных хоумбрю не работает как надо)
Другие консоли: PS2, велосипед))) Everlast equipment
Регистрация: 31.10.2007
Адрес: Одесса
Возраст: 35
Сообщений: 131
Вы сказали Спасибо: 78
Поблагодарили 25 раз(а) в 19 сообщениях
Сила репутации: 1
Репутация: 25 
(на пути к лучшему)
mc707 хоть я и обладатель прошивайки, но скажу честно - чувак, ты гений!)))
ты реинкорнация Dark Alex'a? что вообще мир псп без тебя делал все это время?))
Большое спасибо.
P.S. МЕДАЛЬ ЕМУ!!!
"Другим прощай часто, себе никогда!"
Прошивка PS Vita в Одессе
063 289 73 93 могу и прошить если очень разозлить=) 435827412
Ну это не мудрено, т.к. новость облетела уже весь мир конечно. И Йошихиро конечно принял твою находку к сведению. Ему даже объяснять не надо, что к чему ))
Главное, чтобы Йоши не забыл разделить лавры героя с мс707. Потому, что теперь все точно знают who's the man! Крейзи рашнз опять всех удивили
jas0nuk и Yoshihiro конечно герои декрипторы, но солюшн, позволяющий в теории запустить любую игру на любой прошивке - вроде и просто, но раньше не делал никто!
Последний раз редактировалось unsupported; 08.10.2009 в 09:05.
Вот опять сработал закон подлости....не дождался я какой то день-два и перепрошился на GEN, эх терь назад перепрошьюсь рекавери флешером. Спасибо mc707,*вот действительно такими людьми гордиться весь мир.
пропатчил EBOOT.BIN от Gran Turismo под 5.00M33 и 5.50GEN потом чисто из-за любопытства сравнил их в Araxis Merge по моему отличие только одно а сама игра если пропатчить под 5.00M33 запускается и на 5.50GEN
Последний раз редактировалось Coby; 08.10.2009 в 01:40.
Можете помочь?Я пытался дешифровать EBOOT.BIN от игры Disgaea 2 , однако при патче пишется, что данный файл не может быть пропатчен, вроде никакие проги путь не блокируют и тд, помогите пожалуиста.