PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   PSP хакинг и девелопмент (https://www.pspx.ru/forum/forumdisplay.php?f=195)
-   -   Создание патча 2,03 для LittleBigPlanet для кастом прошивок (https://www.pspx.ru/forum/showthread.php?t=86441)

Dovovoy 17.02.2010 13:26

Создание патча 2,03 для LittleBigPlanet для кастом прошивок
 
Здраствуйте. Ко мне часто обращаются люди с просьбой выложить новый патч для игры 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, но к сожалению получил такой результат:
http://my-lbp.narod.ru/psp/p1.jpg
Как я понял, тэг 0x2E5E10F0 не знаком дискриптеру, и поэтому расшифровать файл он не может. Короткая переписка с ErikPshat подтвердила мою догадку. Он сказал так же что тэг давно известен. но раньше его применения никто не встречал. К нему есть ключ, но "он 32-байтный, хотя должен быть 16-байтный. То есть, его нужно как-то переконвертировать по какой-то формуле" (цитата ErikPshat). Т.е. надо только найти способ использования ключа для расшифровки. На этом ковыряние в файле DATA.PSP было приостановлено.
Еще я посмотрел файл PARAM.SFO. Он имеет хедер ".PSF" и читабельную структуру. В ней есть значение "6.20". Я конечно обрадовался и исправил ее на "5.00". Сохранил файл и пересобрал PBOOT.PBP. Но к сожалению игра на кастоме все равно не увидела патч.

Так что после всех этих экспериментов, я думаю, что есть надежда на внесение поправок в файл DATA.PSP, что даст возможность использовать новый патч на кастом прошивках. Или может быть проверка скрыта в каком то другом файле патча или в нескольких местах.

Эту тему я создал с надеждой, что одна и даже две головы - это конечно хорошо, но коллективный разум - лучше. Надеюсь у кого-нибудь появятся хорошие мысли по этому поводу и патч все же увидит свет.

Вот ссылка на скачивание патча 2,03, если сами захотите повторить или продолжить мои эсперименты.

Извините, что получилось очень длинно, но хотел избежать множества возможных вопросов.

Жду ваших предложений.

deerc 20.02.2010 19:15

Давольно интересная для меня тема.
Дело в том что есть прога GO!explore (gps наивгатор)
Карты России непосредственно в образе в ней нет.
Но ее можно купить в psn network

после скачивание в папке ms0:\PSP\GAME\UCES00881 появляются следующие файлы:
PARAM.PBP
Russia_3dl.edat
Russia_fbl.edat
Russia_poi.edat
Russia1_dem.edat
Russia2_dem.edat
Russia3_dem.edat
Sony_PSP_Russia@0804_DRM_lic.edat

в папке ms0:\PSP\LICENSE
EP9000-UCES00881_00-PPCGOEXPLO000011.RIF

как видно похоже это дополнение работает потому же принципу что и патч к LBP

файлы .edat это что то типа архива т.к. файлы типа fbl(непосредственно карты, poi(POI) и тд есть непосредственно в образе

на кастом проше при запуске образа программа просто не видит или не обращает внимания на дополнение и карты не появляются.

P.S сама программа это модифицированная версия igo8 которая есть на многих девайсах. карты которые есть непосредственно в образе можно заменить на др от этой проги, но добавить другие страны не получается.

Dovovoy 24.02.2010 11:13

Dovovoy добавил 24-02-2010 в 11:13
pspmannikita, ты думаешь я не проверял, что создается на флешке при установке патча? Есть специальные программы, которые отслеживают изменения файловой системы. Пробовал я это делать. Нет других изменений, кроме создания выше упомянутых файлов. В этом то и облом. Я сначала грешил на запись во флеш2, в файл, регистрирующий покупки закачки из psn. Но нет, при установке патча этот файл не изменяется. Так что спасибо за поздсказку, но это тут не поможет.

svyatoslav 24.02.2010 11:15

есть еще одна умная мысль, купить umd!

Dovovoy 24.02.2010 11:58

svyatoslav, у меня есть UMD. Просто кроме LBP я еще на psp читаю книжки. Если бы сони прикрутило читалку книг к официальной прошивке - проблем бы не было, а так - приходится скакать с официалки на кастом и обратно. Сначала вроде было что почитать и на официалке - я скачал все бесплатные комиксы из psn и читал их, но они кончились, а книг интересных еще море.

Но думаю с оффтопиком пора кончать. Жду умных мыслей по теме.

pspmannikita 24.02.2010 18:54

такккк... кстати, кажись, я находил что-то похожее на название прошивки в файле patch.arc в hex редакторе: 620 !!! заменил на 503 (у меня на 3004-5.03 gen-c, а на фате-5.50 gen....) всё равно не пошло, но я считаю, что второй рубеж защиты сломан (первым был в PARAM.SFO из pboot.pbp)

pspmannikita добавил 24-02-2010 в 18:54
я, считаю, что во всех файлах патча ПРОСТО-НАПРОСТО распиханы названия прошивки 6.20, только их не было видно,т.к. они просто закодированы!!!

Dovovoy 24.02.2010 19:26

pspmannikita, интересная находка. Будем рыть дальше.

Dovovoy 24.02.2010 20:28

Дело движется, не только мы ищем пути прикрутить патч к кастом прошивке, на зарубежных форумах тоже идут подобные обсуждения, думаю совместными силами справимся. А качественных уровней все больше и больше.

Dovovoy 02.03.2010 19:14

КРОСПОСТ из поста в теме по игре:

вышел новый патч к игре 2,04.

в патче все теже три файла:

dlc0003.arc
patch.arc
PBOOT.PBP

два первых остались по размеру без изменений, сравню содержмое чуть позже, а файл PBOOT.PBP немного "похудел". Надо глянуть, что там поменяли.

Плюс при загрузке игра еще раз сказала, что файлы профиля игры будут изменены и необходим патч для работы в дальнейшем.

Думаю теперь есть смысл ковырять защиту этого патча, так как предыдущий потерял свою актуальность. Может авторы все же сменили тэг зашифровки...

Dovovoy добавил 02-03-2010 в 18:43
Сравнение в hex показало массу изменений в файлах patch.arc и PBOOT.PBP. Поковыряюсь пока в PBOOT.PBP.

Dovovoy добавил 02-03-2010 в 19:14
расковырял PBOOT.PBP, но содержащийся внутри DATA.PSP зашифрован тем же тэгом - 0x2E5E10F0. Ладно, вроде ключ к нему есть. Буду пробовать расшифровать, заодно проверю, не изменилось ли что то в других файлах внутри PBOOT.PBP.

mc707 03.03.2010 11:30

Нужно ставить все патчи 2.01, 2.02, 2.03, 2.04 или достаточно только последний патч установить чтоб он применился?
И дай плиз ссылку на 2.04.

Dovovoy 03.03.2010 11:54

mc707, какие люди! Очень рад видеть в этой теме! Давно ждал, когда заглянешь. Теперь есть реальный шанс разобраться с патчем быстрее.

Цитата:

Сообщение от mc707 (Сообщение 870867)
Нужно ставить все патчи 2.01, 2.02, 2.03, 2.04 или достаточно только последний патч установить чтоб он применился?.

нет нужен только последний патч. Сейчас залью и выложу ссылку.

Вот и ссылка на патч - тынц.

mc707 03.03.2010 14:26

Как бы не оказалось что исполняемый файл находится в PSAR'е. Сегодня-завтра поковыряю, может чего придумаю.

Я правильно понимаю, что нужно эти файлы кинуть в ms0:/psp/game/UCES01264 ?
И игра автоматом по идее должна найти патч и установить его?

ErikPshat 03.03.2010 14:26

Вложений: 1
Dovovoy, чтобы декриптовать PBOOT.PBP понадобится ключ для тега 0x2E5E10F0.
После декриптовки потом уже можно будет искать защиту, так как она скорее всего там есть, потому что этот ключ в прошивке давно существует и конечно этот файл может декриптоваться самой прошивкой. Ведь почему многие новые игры не работают на старых прошивках? Просто потому, что ключа расшифровки старые прошивки не имеют. А в данном случае он имеется, я его видел ещё на 5.00.

В спойлере на скрине он как раз второй. Следом за тегом сразу идёт ключ, но он 32-байтный.
Там увидишь, структура понятная:
  • Все теги я выделил голубым цветом.
  • Ключи идут следом за тегами.
  • Каждый следующий Тег с Ключём отделён от предыдущего 4-мя нулевыми байтами.
  • Многие из этих тегов с ключами ты увидишь в исходниках PSARDumper-а и поймёшь, как они записываются.

Основная масса ключей 16-байтные (128-битные) и их не надо преобразовывать, а прямо в таком виде и брать.
А есть вообще 144-байтные и но я вообще не понимаю, как их там ксорят с какими-то сидами, но в PSARDumper-е есть некоторые из них уже в готовом перевариваемом виде.

Однако мне встречались ключи 32-байтные, у которых брались, как обычно, только первые 16 байт и вставлялись в PSARDumper, и они работают. Вполне возможно, что и здесь нужно так-же поступить, подобрать только скрамблер-код, а не каким-то образом его преобразовывать.

Скрин ключей mesg_led_02g.prx 5.00 FW (осторожно 920 Кб)
Эту информацию мы держали в секрете. Но думаю, что нет смысла её утаивать, тем более, что многие, кто занимается прошивками, об этом конечно-же знают.
Поэтому, так-же добавляю во вложение эти ключевые файлы с отмеченными HBK для примера, может дело пойдёт более быстрее вообще в общем плане и люди подключатся.

Dovovoy 03.03.2010 14:35

ErikPshat, огромное спасибо, теперь намного понятнее как новые ключи засовывать внутрь программы. Буду рыть байты носом. :) Ну и есть конечно надежда на помощь mc707 :)

ErikPshat 03.03.2010 14:48

Кстати, mc707 тоже писал раньше про этот тег )))
Цитата:

Сообщение от mc707 (Сообщение 848821)
И кстати этот тег не одинок, есть еще какой-то 0x2E5ExxF0, но я его не встречал еще.

====================================
Цитата:

Сообщение от mc707 (Сообщение 870886)
Как бы не оказалось что исполняемый файл находится в PSAR'е.

Я посмотрел, похоже на 16-байтный ключ =) и больше ничего там нет, кроме этих 16 байт.

Код:

FF845375C3D6F18E78D18D705771BA52

Dovovoy 03.03.2010 17:57

Цитата:

Сообщение от mc707 (Сообщение 870886)
Я правильно понимаю, что нужно эти файлы кинуть в ms0:/psp/game/UCES01264 ?
И игра автоматом по идее должна найти патч и установить его?

понимаешь все правильно. Насчет установки: игра ничего не устанавливает, просто производит какие то изменения в файлах профиля игры в папке c сейвами. После этого без патча эти новые сейвы уже не загрузить. Проверить прицепился ли патч легко - на первом экране с выбором языков фон должен быть не синяя миллиметровка, а красная. Ну и на следующих экранах должна появится надпись про проведение изменений в сохраненном профиле игры.

mc707 10.03.2010 08:45

гы. В PRXDecryptor 2.4a "New EBOOT.BIN key added - fixes "tag error 0x2E5E10F0". Опять у меня джейсон идеи отбирает на последнем этапе :))

Dovovoy 10.03.2010 12:13

упс... новая версия декриптера знает нужный тэг:

http://my-lbp.narod.ru/dec/s1.png

Но при попытке расшифровки выдает вот такое:

http://my-lbp.narod.ru/dec/s2.png

mc707, ErikPshat, подскажите, что это за грабли такие?

ErikPshat 10.03.2010 12:52

Dovovoy, ага, он вставил первые 16-байт ключа из 32-ух, который я выкладывал. И добавил скрамблер-код для игр - 5D.

Но я тоже не понял юмора, т.к. так-же выдаёт ошибку.
Только ты зря, как DATA.PSP подсовываешь, потому что для DATA.PSP прошивки у него другой расклад идёт, а тут нужно переименовать, как EBOOT.BIN или *.prx.

Конечно я проверял все скрамблер-коды, начиная от 40 и кончая 7F, но ничего не подошло, поэтому, как я говорил, тут нужно каким-то образом ксорить, т.е. должен быть к этому 32-байтному коду Seed.

(Ключ, в посту выше как раз виден)

Dovovoy 10.03.2010 13:15

ErikPshat, вообщем пока что зашли в тупик... Варианты дальнейших действий есть? Я просто надеялся, что ключик подойдет. Или может тут должна быть задействована какая то часть ключа? Может просто попробовать применить не первые 16 байт, а 16 байт со сдвигом?

И что означает "SHA-1 is incorrect"?


Текущее время: 23:04. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.