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
vicviper, он там не пустой, ты скорее всего либо не там смотришь, либо скачал не сцен-релиз (уже кем-то расковырянный). Я лично смотрел Obscure.The.Aftermath.Multi5.PSP-NextLevel.
vicviper, ну и правильно. Они обнулили файлы прошивки в папке UPDATE. То есть произвели оптимизацию в образе, как написано в инструкции по Game Decrypter v4.
Ты инструкцию-то читал??? Там даже скрины есть и указано всё, где нужно смотреть.
Смотреть-то надо PARAM.SFO не в папке UPDATE, а в папке PSP_GAME\PARAM.SFO, что видно во вкладке "UMD Properties".
И ещё нужно смотреть файл PSP_GAME\SYSDIR\EBOOT.BIN
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 20.10.2009 в 23:34.
файл вроде как закриптован, и вышла недавно (правда раньше по содержимому файла param.sfo из папки update можно было понять, какая нужна ему прошивка, а тут же он пустой, как и в undead knights), а работает без пропатчивания на 5.03 как так и надо. Это разработчики лопухнулись или чего?
и
Всё сцен-релизы, ерунду не качал - Obscure_The_Aftermath_USA_PSP-pSyPSP.
Тоесть из этого следует, что я качал нормальный образ ни какими криволапками не "оптимизированный", затем смотрел EBOOT.BIN, видел там хедер ~PSP, из чего сделал логичный вывод, что он таки закриптован. В папке UPDATE я хотел посмотреть какая версия апдейта там лежит - это сделать легко, если открыть param.sfo, там это написано. Впрочем, как показала практика - было написано, так как в некоторых новых играх в апдейте, который лежит в образе, param.sfo сейчас не нужен и нулевого размера. Ни о какой "оптимизации" тут речь и не идёт, остальные-то файлы папки UPDATE на месте и весят больше ста метров. Было бы странным, если бы занулили файл в килобайт и оставили те, не так ли?
Кстати, спасибо, действительно постоянно ходил мимо и не видел в PSP_GAME ещё одного param.sfo.
Вопрос-то был смотрел кто eboot от Obscure и не проверял, чего оно без декриптования работает на 5.03, а мы куда-то ушли в непонятную сторону
Ни о какой "оптимизации" тут речь и не идёт, остальные-то файлы папки UPDATE на месте и весят больше ста метров.
Ладно. Не пойму, чего ты всё про папку UPDATE. Она ваще никогда и никак не влияла на запуск игры. Это всего лишь прошивка. И ты смотрел в файле PAPAM.SFO версию прошивки, а не то, какую версию требует игра. А вот как раз другой PARAM.SFO и указывает на требуемую версию, причём раньше можно было эту версию понижать кнопкой "-" на клавиатуре и игра запускалась на меньшей прошивке.
А вот то, что файлы в папке UPDATE весят больше 100 метров, сильно сомневаюсь, т.к. все файлы прошивки, вместе взятые, никогда не весят более 25 Мб.
Раз уж у тебя EBOOT действительно не декриптованный и идёт на 5.03, значит просто никакой защиты вообще не было.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Ладно. Не пойму, чего ты всё про папку UPDATE. Она ваще никогда и никак не влияла на запуск игры. Это всего лишь прошивка. И ты смотрел в файле PAPAM.SFO версию прошивки, а не то, какую версию требует игра. А вот как раз другой PARAM.SFO и указывает на требуемую версию, причём раньше можно было эту версию понижать кнопкой "-" на клавиатуре и игра запускалась на меньшей прошивке.
Да, спасибо, оно. Я просто раньше никогда не замечал нужный парам.сфо, и смотрел тот, что в прошивке. Ну, как я размышлял - туда положат всегда ту, которая нужна игре, не меньше и не больше
C обскуре оказалось всё до неприличия просто - она хочет всего лишь 5.00, странно как-то даже с нынешней паранойей на новые прошивки у сони. Вон, Astro Boy - The Video Game тоже вышел вчера а хочет всего лишь 5.00.
А вот то, что файлы в папке UPDATE весят больше 100 метров, сильно сомневаюсь, т.к. все файлы прошивки, вместе взятые, никогда не весят более 25 Мб.
Я бы и сам не поверил сам, если бы сказали, но в новых играх, которым нужна 6.00, это так. Посмотри, слева тетрис из minis, а справа Astro Boy:
ErikPshat,
снова здрасте.
сейчас снашаюсь с DIRT2,такая проблемка уже описана в этой теме,я так уточнить ,у меня там уже ELF -стоит,а при попытке запустить - черный экран,мне надо воспользоваться Game Decrypter by Yoshihiro v4 ,только когда извлеку и дикриптую EBOOT.BIN ,мне его еще надо пропатчить EBOOT.BIN Patcher v1,а в остальном все как тут
Game Decrypter by Yoshihiro v4 - играем в игры от 5.55 до 6.10
я верно все понял ?
Другие консоли: NES-подобное нечто, Talking Brick Game 1997 in 1, "Ну, погоди", "Автослалом"
Регистрация: 04.01.2007
Сообщений: 2,620
Вы сказали Спасибо: 712
Поблагодарили 1,147 раз(а) в 842 сообщениях
Сила репутации: 1
Репутация: 1160 
(за этого человека можно гордиться)
Неверно.
Сообщение от ErikPshat
Если справа вначале вы видите ELF, то это уже декриптованный файл, значит кто-то до вас его уже декриптовал.
Не пытайтесь декриптовать такой декриптованный файл, потому что второй раз он больше не декриптуется ))).
Вполне возможно, что его декриптовали только под прошивку 5.50 GEN-B2, а вы хотите запустить этот образ на низшей прошивке 5.00 М33-6 или на виртуальной 5.03 GEN-A/MHU, тогда вам нужно пропатчить этот, уже декриптованный, EBOOT.BIN на компьютере с помощью программы "Eboot.bin Patcher v1.0"
Последний раз редактировалось alex90; 23.10.2009 в 03:56.
помоему эти подонки из SONY ,над нами издеваються.....
...EBOOT.BIN был ELF,я понял ,что его не надо дикриптовать ,а только пропатчить,но он _потвора_ и не патчился ,сохранялся только как EBOOT.BIN.bak с расширением bak,естественно с таким расширением ниче в образе не заменишь.
Оставил в покое EBOOT.BIN,ваще с ним ниче не делал ,скачал оригинальный File List ,от сюда _Game Decrypter by Yoshihiro v4 - играем в игры от 5.55 до 6.10_ заново сохранил в CSO (поставил 1 когда сохранял ) ....и воаля!!!! все заработало!!!!
не хрена не делал ,только оригинальный File List применил!!!!!
З.Ы. не считая 2 часов убитых на всякие опыты ,до момента истины.
автору Спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
сохранялся только как EBOOT.BIN.bak с расширением bak,естественно с таким расширением ниче в образе не заменишь.
Расширение "bak", расшифровывается как "backup". А переводится как "Резервная копия". То есть это сохраняется оригинальный файл, как резервная копия, а тот, который без bak, сохраняется уже исправленный пропатченый.
Ну и всё правильно. Так и следовало ожидать, что EBOOT.BIN уже был пропатченный, просто кто-то его сохранил без FileList и все оригинальные смещения сдвинулись.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 23.10.2009 в 04:59.
Расширение "bak", расшифровывается как "backup". А переводится как "Резервная копия". То есть это сохраняется оригинальный файл, как резервная копия, а тот, который без bak, сохраняется уже исправленный пропатченый.
Ну и всё правильно. Так и следовало ожидать, что EBOOT.BIN уже был пропатченный, просто кто-то его сохранил без FileList и все оригинальные смещения сдвинулись.
...ну все равно СПАСИБО!!!!
...на очереди GT, может сразу подскажете ,вчера(точнее сегодня ночью) начал GT переволить из CSO в ISO (с помощью _UMDGen v4.00_) - не хочет ...Error!Next available LBA position is 31 but LBA [\PSP_GAME\SYSDIR\UPDATE\DATA.BIN] position is 29! - пишет ,и че теперь делать ?
а еще у меня есть игрушки которые в UMDGen ваще не видно!!!!
Репутация: 206 
(весьма и весьма положительная личность)
Сообщение от BRATher
...ну все равно СПАСИБО!!!!
...на очереди GT, может сразу подскажете ,вчера(точнее сегодня ночью) начал GT переволить из CSO в ISO (с помощью _UMDGen v4.00_) - не хочет ...Error!Next available LBA position is 31 but LBA [\PSP_GAME\SYSDIR\UPDATE\DATA.BIN] position is 29! - пишет ,и че теперь делать ?
Берешь любую программу, которая умеет сжимать CSO и расжимать CSO (например PSP ISO Compressor, а еще лучше отсюда), расжимаешь CSO и затем работаешь с ним в UMDGEN'е.
Последний раз редактировалось myhouse_1991; 23.10.2009 в 13:42.
BRATher добавил 23-10-2009 в 15:23 myhouse_1991,
а чем еще можно попробовать ?
а то у меня есть вот такая вот игрушка _MarvelNemesisRiseOfTheImperfects_
так она через YAKK не открывается (пишет неизвестный формат) ,GT - разархивировал ,с ним все ОК,спаибо.
Последний раз редактировалось BRATher; 23.10.2009 в 15:23.
Причина: добавил, подумав
myhouse_1991, дело не в компрессоре. Хотя UMDGen иногда косячит, но это видно сразу, когда он начинает гнать пургу, для исправления нужно UMDGen просто перезапустить заново.
Сообщение от BRATher
Error!Next available LBA position is 31 but LBA [\PSP_GAME\SYSDIR\UPDATE\DATA.BIN] position is 29!
Здесь видно, что UMDGen жалуется на позицию LBA в файле прошивки DATA.BIN. А это из-за того, что вероятно все 3 файла прошивки были уже ранее обнулены, тем самым позиции у всех трёх файлов были записаны на одну и ту-же позицию, что физически быть не может и потом были сохранены в CSO.
При попытке расжать в ISO, такая ошибка появляется с любым конвертером, т.к. он не может при пересохранении эти три файла поместить на одну и ту-же позицию.
Здесь выход будет с File List, который разведёт одинаковые позиции на свои родные, тем самым присвоив каждому файлу отличающиеся позиции.
Второй вариант - это вообще удалить папку UPDATE, тогда мы опять же избавляемся от одинаковых позиций у трёх файлов прошивки, которых уже нет после удаления, и тем самым избавляемся от ошибки пересохранения.
никто не знает чё надо сделать,скачал я NBA10 the inside под 5.50ген. а у мя 5.00м33, я этой прогой патчю файл,пишет что всё ок.но игра по прежнему не идёт,в compatibility list написано что эта игра на м33 идет с "with crack" где этот кряк взять можно?
Последний раз редактировалось Alex Mercer; 20.11.2009 в 16:21.
Причина: чепятка