PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   PS3 хакинг и девелопмент (https://www.pspx.ru/forum/forumdisplay.php?f=207)
-   -   [FAQ] Переподписываем DLC под другие регионы (https://www.pspx.ru/forum/showthread.php?t=110898)

ErikPshat 20.11.2020 02:57

[FAQ] Переподписываем DLC под другие регионы
 
Вложений: 10
Переподписываем DLC под другие регионы

На примере японских DLC под американку Guilty Gear Xrd -Sign- |NPUB31555|ENG

  1. Вот мы решили посмотреть все DLC, которые есть у игры.
    Для начала, в PsnStuff, в поисковой строке, вводим TitleID игры: NPUB31555 - появляется только одна PSN-игра, больше ничего к ней нет.

    Вложение 17443

  2. Отлично! Игра есть, скачать есть и RAP есть. Теперь нам нужно проверить, может быть есть DLC и ещё что-то к этой игре в других регионах. Тогда нам стоит произвести поиск не по TitleID, а по названию, копируем название игры правой кнопкой из пункта Copy Name

    Вложение 17444

  3. Вставляем скопированное название GUILTY GEAR XRD -SIGN- в поиск вместо TitleID. Ага, появились японские DLC. Но, нужно учитывать, что в PsnStuff некоторые названия могли ввести с ошибками, там часто двоеточия не ставят, всякие знаки препинания из официального названия. Например, вполне вероятно, что какие-то DLC могли ввести под названием GUILTY GEAR XRD SIGN, т.е. без тире. Соответственно, такие штучки в результаты поиска не попадут. Поэтому, проверяем на всякий случай, укорачиваем название до логически разумного, например так: GUILTY GEAR. Анализируем найденное. Соответственно в результатах поиска мы увидим кучу всего, что начинается с этого короткого начала, там и -REVELATOR DLC Eclipse Set, и -REVELATOR- DLC Character Colors - Dizzy, и PSP-игра, в общем всё подряд. Вот вы наверное успели заметить в нескольких местах ошибку у -REVELATOR-, хотя она нам не нужна. Просто как пример, если бы вы искали DLC к игре Guilty Gear Xrd -REVELATOR- по её названию, то явно промахнулись бы с некоторыми, потому что там есть названия DLC без тире после слова -REVELATOR. Вот она незначительная ошибка, соответственно эти DLC в результате поиска вы не увидидите и пропустите. Нужно учитывать это. Поехали дальше... Мы выяснили, что к нашей игре GUILTY GEAR XRD -SIGN- с названиями всё в порядке, регистр букв не имеет значения. Значит смело оставляем в поисковой строке именно это название:

    Вложение 17445

  4. Хорошо, мы увидели саму игру + все имеющиеся в PsnStuff к этой игре 8 штук DLC. Пощёлкав их, видим наличие RAP только у двух. Остальные 6 - *Warning, missing RAP*. Заодно, дважды щёлкаем по первому DLC с имеющимся RAP, видим размер 100 KB - это минимальный размер PKG-файла по стандартам Sony, хотя мы можем паковать значительно меньше, например по 5 КБ и они спокойно устанавливаются. В общем, тут по размеру понятно, что в DLC наверняка нету никаких ресурсов, а только разлочка EDAT. Скачиваем эти оба DLC, не забываем RAP к ним, на всякий случай проверяем содержимое скачанных PKG в папке \PsnStuff\downloads\, а то вдруг там не только разлочка, а ещё какие-нибудь мелкие файлы поддержки имеются:

    Вложение 17446

  5. Отлично, убедились, что кроме разлочки там ничего нет. Идём в нашу любимую папку EDAT_ReENCRYPT и запускаем батник EXTRACT SCE from download PKG PsnStuff.bat для извлечения всех необходимых SCE-файлов. Соответственно у нас извлеклись эти EDAT из обоих PKG, вместе с необходимыми сопровождаемыми файлами PARAM.SFO, ICON0.PNG, PS3LOGO.DAT - это необходимый обязательный минимум корневых файлов для последующей упаковки в PKG.

  6. Теперь, для переподписывания в свободную бесплатную лицензию (отвязанную от RAP), нам нужно раздобыть ключ KLICensee. Соответственно, нам нужен EBOOT.BIN от игры. Подкидываем его в папку scetool, один EDAT разлочки там уже лежит, он туда копируется сразу во время распаковки PKG и ждёт, когда мы сбрутим к нему ключик, который спрятан в EBOOT.BIN игры. Запускаем BruteForce_Edat.exe и брутфорсим ключик, процесс нам давно знакомый:

    Вложение 17447

  7. Дважды щёлкаем по ключу, он выделяется, копируем его CTRL+C, теперь весь мусор в папке scetool можно почистить, нажимаем батник там clean_folder.bat - папка от EBOOT.BIN и EDAT очищается, они там нам пока больше не нужны. Возвращаемся в нашу любимую папку EDAT_ReENCRYPT и через Notepad++ вставляем ключик KLIC на своё место в батнике ReENCRYPT EDAT PS3 with KLIC and RAP Encryption.bat.

  8. Запускаем батник ReENCRYPT EDAT PS3 with KLIC and RAP Encryption.bat и переподписываем наши EDAT. На всякий случай обращаем внимание на показания в секциях DECryption Mode и ENCryption Mode, что NPD License 2 было и при шифровании сменилось на NPD License 3. Так же обращаем внимание, какой был NPD content ID: во время декриптовки и каким он стал в секции шифровки - параметр NPD content ID: JP0036-NPJB00652_00-GGXRDDAT00003501. То есть, мы закрепили в памяти, что это японский ContentID. А то ведь, по запарке, вдруг пришло бы в голову упаковать готовые и выложить к американской игре D:

    Вложение 17448

  9. Теперь мы видим, что в папке образовались ещё 2 папки - это cid и dec. Логика подсказывает, что в первой папке должны быть ContentID, а во второй эти EDAT в декриптованном виде. Нас, на данный момент, интересует конечно содержимое декриптованных EDAT, что в них находится? Идём в папку dec и смотрим на них. Видим там оба EDAT по 64 байт, понимаем, что это всего-лишь Байты, а не Килобайты :), значит там не бинарный код, а скорее всего просто текстовое контрольное слово.
    • Открываем первый CHARA_ELP.EDAT в текстовом редакторе Notepad++ и видим там писанину: 000001Xldxy5oWgjhg06XcHH4XR0Ndpikqd3xxP2QDbz4Qs00xGkwqvHGzHTanAH
    • Открываем второй COLORSET_PSPLUS.EDAT в текстовом редакторе Notepad++ и видим там это: 000039SDW4qVyijqPkTVekw3zqGfazNggCrdWqeWczrg5Q26MqhX9uYV36d9zLBV
    Видимо какой-то ключ-пароль, который у каждого DLC разный. Это я к тому, что чаще всего, ключевое слово у всех разлочек DLC бывает одинаковое. Тогда мы могли бы легко восстановить все остальные 6 DLC без РАПов, а кроме того, ещё и те DLC, которых нету в PsnStuff, правда это уже другая история, которую можно самому додумать, особенно, при наличии в папке батника ENCRYPT EDAT (from dec & cid folders) with KLic.bat. Но, как видим, в данном случае ничего не получится, так как мы не можем угадать такой длинный ключ-пароль для остальных. Поэтому успокаиваемся и продолжаем далее...

  10. Запускаем батник Clean Previous Job.bat, чтобы удалить результаты переподписывания, т.к. переподписанные под Японские DLC нам не нужны. Мы просто проверили и убедились, что там записано в декриптованных DLC. Значит теперь нам нужно их переподписать под Американку. Как правило, содержимое DLC между регионами одинаковые, а значит в американке ключ-пароль должен быть тот же. Теперь нам требуется узнать ContentID у американки. Способов множество - это подглядеть в PKG игры слева верхнюю строчку, как на этом скрине, его можно выделить и скопировать CTRL+C, как и выделенное название любой папки или файла. Другой способ - это просто из PsnStuff скопировать название RAP/RIF, т.к. его название всегда в точности сходится с тем контентом, для которого он предусмотрен. Мы же знаем, что оконцовка в ContentID всегда носит уникальный Идентификационный Номер любой игры, любого обновления, любого дополнения DLC, таким образом, мы можем с точностью сказать, что это за PKG, от чего он, какого региона, от какой игры, либо обновления или DLC. Но мне далеко ходить лень, поэтому я просто подсмотрю его в EBOOT.BIN игры через Hex Workshop:

    Вложение 17451

  11. Короче, выяснили любым удобным способом ContentID игры: UP1024-NPUB31555_00-GGXRDSIGNUS00100
    Как видим, он состоит из 3-ёх составляющих секций - это начальная UP1024 (назовём её START-овой), следом TitleID игры NPUB31555 (назовём её просто Title) и концовка GGXRDSIGNUS00100 (назовём её EndID). Итак, нам же требуется декриптовать EDAT от Японки и обратно упаковать его, но уже под ContentID от Американки. Как правило, у игр разных регионов, всё на самом деле одно и тоже - это ресурсы, это EDAT-ы, это даже исполняемые файлы EBOOT.BIN/SELF/SPRX, это даже всё это между дисковыми и PSN релизами. Разница у них только в ContentID при шифровании, а у дисковых игр и ContentID даже нет. За редким исключением, когда разработчики не ленивые и особо упёртые, которые находят силы, время и деньги на зарплату, чтобы разработчики писали и модифицировали код специально для каждого региона индивидуально или отдельно для игры на диске и отдельно для той же игры в PSN.

  12. Открываем батник ReENCRYPT EDAT PS3 with KLIC and RAP Encryption.bat в текстовом редакторе Notepad++.
    Видим там заключительную секцию шифрования с таким заголовком ENCryption Mode - что переводится как Режим Шифрования:
    Код:

            echo.//////////////////////////////////////
            echo.          ENCryption Mode !num!
            echo.//////////////////////////////////////

    Следом ниже нам понадобятся следующие строчки с установкой переменной set:
    Код:

            set Start=!ContentID:~0,6!
            set Title=!ContentID:~7,9!
            set EndID=!ContentID:~20,16!

    Почему это переменная set? - потому что они всегда видоизменяется в зависимости от игры, DLC и всего, что туда попадает после знака равенства = в другую переменную с восклицательными знаками.
    Таким образом, мы подменяем после знака равенства = эти переменные на свои статические значения, как мы ранее, в предыдущем пункте, договаривались. То есть, заменяем значения Start и Title под свой регион игры или DLC. Третью уникальную переменную EndID не трогаем, т.к. туда попадает уникальный ID переподписываемой игры или DLC, а оно для каждого контента уникальное и чаще всего совпадает между регионами. А у нас несколько DLC, поэтому EndID должен быть у каждого DLC свой родной. Короче, у вас должно получиться так:
    Код:

            set Start=UP1024
            set Title=NPUB31555
            set EndID=!ContentID:~20,16!

    Нажимаем в Notepad++ синюю иконку дискетки - называется "Сохранить". После сохранения дискетка станет серого цвета.
    Внимание! Окно текстового редактора Notepad++ НЕ ЗАКРЫВАТЬ!, иначе изначальные данные вам потом будет трудно вернуть назад в исходное стандартное состояние. Вы же впоследствии не думаете шифровать все последующие игры и DLC под этот статичный ContentID :). Поэтому текстовой редактор не закрываем, а просто сворачиваем на время в панель задач.

  13. Запускаем сохранённый батник ReENCRYPT EDAT PS3 with KLIC and RAP Encryption.bat
    И видим такую картину, так же обращаем внимание на смену типа лицензии NPD license с покупной локальной №2 на бесплатную свободную №3
    На скриншоте показан кусок переподписывание второго последнего DLC, ибо, чтобы сократить размер скриншота, там первое переподписывание отображает всё аналогично:

    Вложение 17452

  14. Готово! 2 дополнения DLC мы переподписали! Теперь они подписаны под Американский ContentID и будет подхватываться на этой американке!
    Теперь снова разверните текстовой редактор Notepad++ с открытым окном редактирования документа.
    Верните всё в исходное стандартное положение, пощёлкав до конца в верхнем меню зелёненькую кнопку с выгнутыми стрелками назад "Отмена".
    Нажмите дискетку "Сохранить" и теперь можете закрывать окно редактирования батника и окно программы.

    Идите в папку DONE, вырежьте там готовый результат (CTRL+X) - папку NPJB00652, перейдите в исходную папку ENC и вставьте туда вырезанную ранее папку (CTRL+V). Так как структура файлов и подпапок совпадает с исходными, у вас спросят что делать с ними - отвечайте "Заменить файлы в папке назначения". Но пока подождите, это же у вас папка с DLC с названием TitleID от японской игры, там и PARAM.SFO с TitleID от японской версии. Но файлы в папке USRDIR лежат уже переподписанные под Американку, так что, вырежьте папку USRDIR и переместите её и объедините с папкой Американской пофиксенной игры, которую вы должны были отдельно ранее сделать, там тоже есть свои EDAT разлочки уровней игры, но имейте в виду, что игровые EDAT шифрованы другим ключом, хотя, как правило, ключи KLIC у игры и у DLC чаще всего совпадают. Так что в данном случае исключение, хотя, изредка бывает, что даже у каждого EDAT ключи бывают индивидуально разные, так что не поленитесь проверить это, как минимум на двух EDAT.

    Либо, если вы не хотите сразу добавлять DLC к игре, т.е. смешивать с игрой, тогда вы можете просто переименовать папку NPJB00652 под TitleID американки NPUB31555. Затем возьмите PARAM.SFO от игры, вернее от последнего обновления для игры, если таковое имеется и замените им японский PARAM.SFO. Почему от игры, спросите вы - потому что PARAM.SFO от DLC имеет параметр GD (Game Data) - игровые данные, который при установке подменит в игре игровой Bootable загрузочный, таким образом, ваша игра тут же пропадёт из XMB, т.к. PARAM.SFO от игровых данных НЕ выводит ярлык в XMB! Поэтому вам будет необходимо взять PARAM.SFO от игры, потому что там всё выставлено как надо и, самое главное, он загрузочный - Bootable!

    Либо можно конечно взять и исправить параметры и TitleID в PARAM.SFO от японских DLC, только вам придётся ручками всё исправлять, как TitleID, затем категорию поменять с GD Game Data на HG Harddrive Game, поставить галку на Bootable, проставить галочки на параметрах Аудио/Видео, которые вы просто можете не знать. Так что, чтобы не парить себе мозг - просто возьмите PARAM.SFO готовый и родной от игры американки, причём обновлённой до последней версии, которую вы ранее конечно обновили и пофиксили.

  15. В заключении, вам остаётся просто упаковать игру с DLC в PKG для последующей передаче третьим лицам.
    Запускайте в нашей любимой папке EDAT_ReENCRYPT программу PS3GameExtractor.exe, выбирайте там кнопку Упаковать папку в PKG, укажите, как программа просит, на PARAM.SFO в папке ENC\Номер TitleID\ и дождитесь её упаковки в PKG.

Necrocannibal 20.11.2020 12:17

ErikPshat, спасибо за развёрнутый ответ. Получается, я накосячил и под американку всё таки не переподписал. Но подсунутые DLC подхватились, может тут просто повезло с игрой. Пойду переделывать.
Ещё про notepad++ тоже интересно, что то не додумался о такой простой функции. Я просто делал копию оригинального батника рядом с допиской ...ORIG.bat
Ну и по пункту 9, а что, если ключевое слово всё таки совпадёт? Каковы дальнейшие действия для оставшихся DLC, не имеющих RAP?

in1975 20.11.2020 12:38

Necrocannibal, Альтернативный автоматический метод - в этой теме, п.5 "Подписать с другим ciD"

ErikPshat 02.12.2020 08:02

Цитата:

Сообщение от Necrocannibal (Сообщение 1225242)
Ну и по пункту 9, а что, если ключевое слово всё таки совпадёт? Каковы дальнейшие действия для оставшихся DLC, не имеющих RAP?

Ну в обычном случае в разлочке записана ключевая фраза по типу Lorem ipsum dolor sit amet или ещё какой прикол. И эта фраза во всех декриптованных DLC. Недостающие ты просто создаёшь сам размножением копий предыдущих, просто правильные названия нужно для них подобрать на основе имеющихся с RAP. Соответственно логическим путём создаёшь в папке cid - ContentID для каждого. Потом просто с помощью бетника ENCRYPT EDAT (from dec & cid folders) with KLic.bat шифруешь их тем самым KLIC, который для их шифрования ты брутфорсил и записал в батник. А так вообщем там всё довольно просто...
Цитата:

Сообщение от ErikPshat (Сообщение 1225217)
Тогда мы могли бы легко восстановить все остальные 6 DLC без РАПов, а кроме того, ещё и те DLC, которых нету в PsnStuff, правда это уже другая история, которую можно самому додумать, особенно, при наличии в папке батника ENCRYPT EDAT (from dec & cid folders) with KLic.bat.




Цитата:

Сообщение от Necrocannibal (Сообщение 1225242)
Ну и по пункту 9, а что, если ключевое слово всё таки совпадёт? Каковы дальнейшие действия для оставшихся DLC, не имеющих RAP?

Ну и вот конкретный пример на двух играх...
Как думаешь, откуда взялось столько DLC, когда половины в PsnStuff и нигде в интернете нету?
Как раз тебе ответ на вопрос, правда там даже более интересный момент, т.к. ключевое слово во всех DLC разное :)
  1. Record of Agarest War 2 |NPUB30771|DLC52|ENG/JPN
  2. Record of Agarest War Zero |NPUB30776|DLC43|ENG/JPN

Necrocannibal 02.12.2020 18:34

Цитата:

Сообщение от ErikPshat (Сообщение 1225989)
Как думаешь, откуда взялось столько DLC, когда половины в PsnStuff и нигде в интернете нету?

Я так полагаю, с дисковых версий, с каких нибудь GOTY выковыряно.
PSNовская версия NPUB30776 принимает game data папку от дисковой BLUS30686? Или тут важен лишь регион? Сложно как то всё для понимания.

ErikPshat 02.12.2020 19:06

Цитата:

Сообщение от Necrocannibal (Сообщение 1226031)
Я так полагаю, с дисковых версий, с каких нибудь GOTY выковыряно.

Да нет. Как раз всё по фэншую в рамках твоего вопроса. Какие ещё ГОТИ, конечно из воздуха ты недостающие DLC восстанавливаешь.
Ну так раздобудь ключик к ним и декриптуй, загляни в них и покумекай, каким образом их можно логическими рассуждениями все восстановить, когда достаточно иметь только парочку или три.

Цитата:

Сообщение от Necrocannibal (Сообщение 1226031)
PSNовская версия NPUB30776 принимает game data папку от дисковой BLUS30686?

Конечно, если диск ранее выходил в печать и DLC к нему дополнительно продавались. Так зачем разработчикам париться и готовить специальные DLC для цифровых NPEB, когда всё уже готовое есть? Разрабам достаточно указать в коде программы, где их искать. Это распространнёное явление. Иногда даже DLC от других регионов подхватываются по умолчанию.


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

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