Здраствуйте. Ко мне часто обращаются люди с просьбой выложить новый патч для игры LittleBigPlanet. У меня есть UMD c игрой и у меня сам патч есть. С последним патчем 2,03 в режим создания уровней в игру были внесены существенные изменения и исправления (их перечень можно посмотреть
тут). После первой загрузки с новым патчем вносятся изменения в файлы сохранения игры, после чего загрузить эти сохранения без патча на флешке уже нельзя. При использовании этого патча работать в редакторе игры стало значительно удобнее. Плюс этот патч нужен для захода на Луну Сообщества для скачивания новых уровней (на кастом прошивке это можно сделать с помощью плагина PSNabler, как писали некоторые люди, у меня это сделать не получилось - плагин не может обойти проверку на версию прошивки при логине в psn на кастом проишивке). Вообщем по многочисленным просьбам я стал разбираться почему новый патч не хочет работать с игрой на флешке.
После скачивания патча в папке ms0:/psp/game/UCES01264 появляются следующие файлы:
dlc0003.arc
patch.arc
PBOOT.PBP
(сорри, ErikPshat, я ошибся файл PARAM.PBP создается при закачке DLC).
Сам патч не вносит никаких изменений в саму игру (что логично, т.к. игру на UMD изменить невозможно). Логично предположить, что при запуске игра просто проверяет папку psp/game/UCES01264 и если находит там файлы патча, то использует их при загрузке. На прошивке 6,10 и 6,20 если удалить файлы патча из этой директории, то в контекстном меню игры в XMB про проверке версии пишется значение "--", если файлы есть в директории, то пишется "2.03". Но на кастом прошивке во первых нет возможности скачать сам патч, т.к. в XMB в контекстном меню игры нет пункта "Обновление" - он появился только в версии прошивки выше 6,0, но, и что намного важнее, даже если скопировать патч на флешку - игра его не видит или не хочет использовать. Из-за этого преимущества нового патча нельзя использовать на кастом прошивке, а так же сохранения игры, полученные при игре с патчем на официальной прошивке, нельзя загрузить на кастом прошивке (игра говорит о поврежденных данных и, если выбрать пункт продолжить, то просто стирает сохранения и начинает игру с нуля). Путем экспериментом было установлено, что на официальных прошивках 6,0 и 6,10, на которых UMD диск запускается, игра патча не видит, хотя в XMB пишет версию игры 2.03. Это кстати теперь можно проверить не дожидаясь полной загрузки игры, а просто посмотрев на экран выбора языков (в версии Multi12). На не пропатченной игре задний фон этого экрана - это синие клетки, на игре с патчем 2,03 клетки красные. И вторая проверка игры на применение патча - дальнейшая загрузка сохранения, если игра не была пропатченна на прошивке 6,20, тогда появится сообщение, что файлы игры будут изменены и дальнейшее их использовании будет возможно только если на флешке будет присутствовать патч для игры.
После всех этих экспериментов я вместе с
ErikPshat пришли к выводу, что игра просто проверяет версию прошивки и эта проверка скрыта в самих файлах патча. Так что же представляет из себя патч?
Ка я уже писал после скачивания патча в папке ms0:/psp/game/UCES01264 появляются следующие файлы:
dlc0003.arc
patch.arc
PBOOT.PBP
Два первых - это скорее всего архивы, которые распаковывает и использует патч при своей работе. В любом случае - путей покопаться в них я не знаю. Поэтому по совету ErikPshat я распаковал PBOOT.PBP с помощью PBP Unpacker-ом и получил следующие файлы:
DATA.PSAR
DATA.PSP
ICON0.PNG
ICON1.PMF
PARAM.SFO
PIC0.PNG
PIC1.PNG
После чего решил покопатся в них hex редактором. К файлу DATA.PSAR я не понял, как подступиться, т.к. его структура в hex совершенна мне не понятна. Файл DATA.PSP имеет хедер ~PSP (т.е. файл зашифрован). Засунул этот файл в EDecrypt 1.3, но к сожалению получил такой результат:
Как я понял, тэг 0x2E5E10F0 не знаком дискриптеру, и поэтому расшифровать файл он не может. Короткая переписка с ErikPshat подтвердила мою догадку. Он сказал так же что тэг давно известен. но раньше его применения никто не встречал. К нему есть ключ, но "
он 32-байтный, хотя должен быть 16-байтный. То есть, его нужно как-то переконвертировать по какой-то формуле" (цитата ErikPshat). Т.е. надо только найти способ использования ключа для расшифровки. На этом ковыряние в файле DATA.PSP было приостановлено.
Еще я посмотрел файл PARAM.SFO. Он имеет хедер ".PSF" и читабельную структуру. В ней есть значение "6.20". Я конечно обрадовался и исправил ее на "5.00". Сохранил файл и пересобрал PBOOT.PBP. Но к сожалению игра на кастоме все равно не увидела патч.
Так что после всех этих экспериментов, я думаю, что есть надежда на внесение поправок в файл DATA.PSP, что даст возможность использовать новый патч на кастом прошивках. Или может быть проверка скрыта в каком то другом файле патча или в нескольких местах.
Эту тему я создал с надеждой, что одна и даже две головы - это конечно хорошо, но коллективный разум - лучше. Надеюсь у кого-нибудь появятся хорошие мысли по этому поводу и патч все же увидит свет.
Вот
ссылка на скачивание патча 2,03, если сами захотите повторить или продолжить мои эсперименты.
Извините, что получилось очень длинно, но хотел избежать множества возможных вопросов.
Жду ваших предложений.