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
кстати, скачивал фифу с пспзоны.ру так она там уже декриптованная судя по всему, т.е. там во вкладке Sector Viewer вместо PSP написано ULES-01322|BFC94...
А нужно смотреть файл в папке PSP_GAME/SYSDIR/EBOOT.BIN
Сообщение от unsupported
van Damme,вкладку ты смотришь в UMDGen'е? а смысл? экспортируй из имиджа EBOOT.BIN, который лежит в PSP_GAME\SYS_DIR и посмотри его Хексредактором. Если в заголовке будет ELF, то это декриптованный, а если PSP - криптованный.
Не надо импортировать и смотреть в Хекс-редакторе, потому что Хекс-редактор есть в UMDGen.
P.S. Переводить и покрасить стоит v3 или оставить как есть?
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 08.10.2009 в 17:25.
Что то не получается запустить пропатченные игры, а именно игры, которые были скачены в cso (для ген 5.50). Под 5.50 идут, а если пропатчить их, то они так и не запускаются на 5,03 ген. а если iso, to проблем нет.
Скачал европейку наруто, уже пофиксенную, попробовал пропатчить (пишет, что ебут was NOT patched) и 2, и 3 декриптором (в самом декрипторе). Один фиг не запускается, соблюдаю все пункты инструкции.
Фатка, 5.00
Скажите, что выдает патчер при успешном патче и при фэйле, чтоб понять есть суксесс или просто меня патчер послал)
Последний раз редактировалось ODDREN; 08.10.2009 в 17:27.
Скачал Field Runners и Hero of Sparta другие версии. Нифига не запустились и они, что уже не делал Искал Fieldrunners_USA_PSN_PROPER_PSP-pSyPSP который написан в таблице совместимости, а везде или торренты, которые НЕ КАЧАЮТСЯ или ссыли на рапиду, где в ахиве не игра, а реклама! Какие версии качать, уже надоело всё перекачивать, а игры не запускаются!
ODDREN, Наруто проверенно идет на 3008, так же как и на m33 если внимательно следовать инструкции. пруфлинк:http://www.youtube.com/watch?v=JewNL8m6Er8 makci-n82, это и тебя касается.
Последний раз редактировалось mc707; 08.10.2009 в 17:40.
ODDREN, Наруто проверенно идет на 3008, так же как и на m33 если внимательно следовать инструкции. пруфлинк:http://www.youtube.com/watch?v=JewNL8m6Er8 makci-n82, это и тебя касается.
Так вот я и говорю - по ходу только на слимках и трешках идет.
FunkyCape,
сверху написано Compatibility List (after decryption and/or cracking)
т.е. совместимость игр после декрипта и/или кряка
with crack - значит с кряком, + - значит после декрипта