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
С этой статьёй я прекрасно ознакомлен и самостоятельно декриптовал и патчил все игры требующие прошивку до 5.55. Просто ,так как сам ничего не смыслю в программировании и нет единого алгоритма создания работоспособных образов под М33,требующих прошивки 6.00-6.10,то потому вопросы и возникли.Спасибо за вашу работу и помощь
Последний раз редактировалось Gameszzz; 20.12.2009 в 09:30.
Репутация: 229 
(весьма и весьма положительная личность)
Я предпочитаю альтернативный вариант пропатчивания образа используя DkZ Studio. Преимущество - первоначальная структура образа не изменяется, такой метод подходит только для нетронутых образов (untouched iso) игры.
Последний раз редактировалось BlackDaemon; 21.12.2009 в 18:38.
Причина: Создал отдельную тему для DkZ Studio, весь процесс описан в ней
Я решил, что этот патчер исключительно для EBOOT.BIN...
Не в теме, значит. Еще раз - спасибо.
vell1969 добавил 20-12-2009 в 22:14
Сообщение от vell1969
Я решил, что этот патчер исключительно для EBOOT.BIN...
Не в теме, значит. Еще раз - спасибо.
Господа - всем спасибо. Исправил, как рекомендовано, и всё работает. Авторам софта: я в игры сам не играю, но, пользуясь вашими статьями и программами, получаю удовольствие при подготовке.
Последний раз редактировалось vell1969; 21.12.2009 в 00:28.
Причина: добавил, подумав
Я предпочитаю альтернативный вариант пропатчивания образа используя DkZ Studio. Преимущество - первоначальная структура образа не изменяется, такой метод подходит только для нетронутых образов (untouched iso) игры. DkZ Studio 0.91b + patch 0.92 + англофикатор Видео-пример пропатчивания образа с помощью DkZ Studio.
Установка DkZ Studio:
1. Ставим DkZ Studio 0.91b
2. Ставим обновление до версии 0.92
3. Копируем English 0.8.dsl в X:\Program Files\DkZ Studio\Language\
А можно по подробнее про эту софтину. Может тему на этот счёт создаш, все только будут благодарны.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
mc707, спасибо за работу. Вчитал данную тему и тему про umdgen. Киндер попросил lego-indy2... на 4.01-m33-2 - пошло просто после декриптования и тупого опускания версии до 4.00 - ваш патчер не понадобился; драйвер sony, а не m33 - небольшая неточность в вашем "списке совместимости".
PS: Патчил на старой толстухе с 5.00 M33-6. Версия гамки - multi6.
PPS: Revenge - респект.
драйвер sony, а не m33 - небольшая неточность в вашем "списке совместимости".
Неточности нет, ибо игра идёт прекрасно на M33 драйвере, а NP9660 не указан, т.к. не является приоритетным. Он указан только в тех случаях, когда игра не идёт на M33 драйвере.
Другие консоли: NES-подобное нечто, Talking Brick Game 1997 in 1, "Ну, погоди", "Автослалом"
Регистрация: 04.01.2007
Сообщений: 2,619
Вы сказали Спасибо: 711
Поблагодарили 1,147 раз(а) в 842 сообщениях
Сила репутации: 1
Репутация: 1160 
(за этого человека можно гордиться)
Эта прога нужна была в свое время для "допатчивания" eboot.bin после game decrypter'a, чтобы игра шла на виртуалках и старых прошивках вроде 5.00 М33-6.
Щас она может пригодиться для некоторых игр, в которых патчить нужно не только eboot.bin, но и еще что-то, например, avatar.
Вроде так.
Ну ещё добавлю, что просто в некоторых образах уже декриптованные EBOOT.BIN. Поэтому декрипторы, уже декриптованные файлы, пропатчить не могут. Вот здесь вступает в свои обязанности этот виндовый патчер.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Используй версию 1.40. Это у тебя может быть из за того, что файл еbооt больше допустимого размера в версии 1.3.1, там непонятный программе тег или же причина описанная в сообщении над твоим. С чего нужно начинать, так это с ответа на вопрос-что патчиш?
Последний раз редактировалось DIIGMO; 14.05.2010 в 23:34.
Игра rocket racing мини игра
Работала на ген д2 возможно патченая,но как узнать?
Пытаюсь патчить на пк,но там тоже что то не слава Богу
Но так как на работе то не могу сказать что именно.