Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 58
Сообщений: 47,490
Вы сказали Спасибо: 27,807
Поблагодарили 43,389 раз(а) в 12,365 сообщениях
Сила репутации: 10Репутация: 42580 
(репутация неоспорима)
|
[FAQ] Переподписываем игры и делаем фиксы
Сообщение от skofild
ErikPshat, буду благодарен если подгонишь фикс на саму игру. Мне как то фиксы не даются, в одной KLicensee не брутится, в другой игра длс не видит, либо вообще не запускается.
|
Спасибо за новые ссылки и ключи!  Добавил в PsnStuff
Фикс сделал и выложил здесь: Army of TWO The Devil’s Cartel |NPEB01216|DLC3|ENG/EUR
Давай я ещё раз объясню, как следует делать фиксы и DLC, хотя об этом я уже писал подробными инструкциями неоднократно в разных темах.
Но, для закрепления ещё раз:
- Скачиваем игру из PsnStuff в PKG или из интернета, не важно как и откуда. Естественно она скачается в папку C:\PS3\ps3tools\tools\PsnStuff\downloads, либо из интернета качаем PKG именно туда.
- Так же, не забываем скачать к игре или к дополнению ключ-пароль RAP, которым системные SCE-файлы игры или EDAT дополнений запаролены! Имейте в виду, что РАП-ом запаролена не вся игра с ресурсами или не архив PKG и ещё что-то типа PARAM.SFO и ICON0.PNG
, а только системные файлы SCE - это EBOOT.BIN/SELF/SPRX и в придачу EDAT. К слову сказать, файлы SDAT никак не паролятся, они вообще без какого-либо типа лицензии, но они имеют только флаг привязки к минимальной версии прошивки - 1.xx/2.xx/3.xx/4.xx. И если вы хотите запускать SDAT на прошивке 3.55, только тогда имеет смысл их переподписывать от 4.xx под 3.xx. Так же имейте в виду, что переподписанные EDAT/SDAT работают на OFW, т.к. у этих файлов подпись ECDSA не проверяется.
- Потом обязательно проверяем обновления к игре, например, через PS3 Game Updates или через тот же PsnStuff из вкладки Game Updater.
- Скачиваем все обновления, которые имеются обязательно. если качали через PS3 Game Updates, то они потом лежат в папке C:\PS3\ps3tools\tools\downloads. Если качали через PsnStuff, то они сохраняются в папку C:\PS3\ps3tools\tools\PsnStuff\update.
- Итак, скачали игру, значит надо её ещё обновить... Скачали обновления, шагаем к ним, вырезаем из той папки, вставляем рядом с игрой в папку C:\PS3\ps3tools\tools\PsnStuff\downloads. Имейте в виду, что по алфавиту игра должна стоять на первом месте, а обновления следом. Если имя у обновлений начинается по алфавиту ранее имени игры, тогда их переименовываем, чтобы они стояли по алфавиту последними после игры. У американок обычно обновления всегда идут позже, потому что начинаются на UPxxxx-, а вот у европеек обычно раньше, потому что начинаются на EPxxxx- почти в начале алфавита, поэтому просто у обновлений начальную секцию EPxxxx- просто удаляем. Либо переименовываем игру и ставим в начале названия игры 1 или 0. Надеюсь понятно объяснил.
- Нам обязательно надо, чтобы сначала распаковалась игра, а только после этого файлы игры обновились более новыми файлами из обновлений, но никак не наоборот. Нельзя сначала распаковать обновления, которые содержат исправления, а потом переписать устаревшими файлами исходной игры. В общем это думаю всем понятно и так.
- Теперь топаем в нашу папку переподписывания C:\PS3\ps3tools\tools\EDAT_ReENCRYPT
- Распаковываем SCE-файлы (шифрованные системные файлы) батником EXTRACT SCE from download PKG PsnStuff.bat (названия всех батников как бы намекают на их функционал). Таким образом, этот батник распакует в папку ENC только необходимые файлы SCE от игры и обновит их файлами обновлений, вместе с необходимыми файлами поддержки для будущего создания готового фикса.
- Потом, желательно зайти в папку ENC и проверить PARAM.SFO, чтобы убедиться, что всё равпаковалось в правильном порядке и что у него действительно стоит версия последнего обновления, а не первого от игры. Ну и заодно посмотрите по папкам, из каких файлов SCE состоит будущий фикс.
- Далее, вам необходимо будет сбрутить ключик KLicense, который спрятан обычно в EBOOT.BIN игры или обновления, который необходим, чтобы подчинённые файлы SCE могли декриптоваться не внешним паролем RAP, а из запрятанного по умолчанию в каждый EBOOT.BIN пароля KLicense. Такой пароль всегда присутствует во всех EBOOT.BIN и используется для декриптовки и последующего запуска подчинённых файлов SCE и выпускаемых к игре дополнений DLC, в которых всегда лежит файл разлочки EDAT. Например, все игры из PSN всегда запаролены только РАП-ом, а вот дисковые файлы SCE все имеют свободную лицензию №3 как и все бесплатные демки, но дисковые подчинённые файлы SCE всё равно всегда запаролены ключом KLicense от главного запускающего лаунчера EBOOT.BIN, который никому не подчинён и всё начинается всегда с него, поэтому он (дисковый) шифрован паролем свободной лицензии из прошивки, всегда вот этим: 72F990788F9CFF745725F08E4C128387
- В общем, идём в папку C:\PS3\ps3tools\tools\scetool, там уже лежат наготове файлы EBOOT.BIN от распакованной игры, а так же, необходимые файлы EDAT/SELF/SPRX и RAP в папке RAPS для подборки к ним ключа, путём перебирания специальной секции кода файла EBOOT.BIN в порядке через 4 байта, либо через 2 или побайтово. В качестве ключа перебирается по 16 байт и подставляются в качестве пароля, если не подходит, тогда берутся следующие 16 байт и подставляются, и так до тех пор, пока какие-то 16 байт не подойдут.
- Самый простой способ - это подобрать пароль к EDAT, если в игре такой имеется. Тут сработает быстро и безошибочно. А вот к SELF/SPRX подобрать пароль для PSN-игры не получится, там утилита BruteForce.exe предназначена для дисковых игр и в них она безусловно найдёт ключ, но напоминаю, только у дисковых игр файлы SELF/SPRX/EDAT шифрованы конечно же ключом из EBOOT.BIN, но никак не ключом RAP

- Короче, первым делом подбираем ключ к EDAT, поэтому запускаем BruteForce_Edat.exe. Наверху можем поменять, к какому EDAT будем примерять ключики из EBOOT.BIN, в настройках по умолчанию стоит - проверять 16-байтные ключи через каждые 4 (0x4) байта. Нажимаем кнопку Start > и быстро брутим. Если ничего не находится, тогда выставляем перебор через 2 (0x2) байта. А если и так ничего не нашлось, тогда выставляем через 1 (0x1) байт, тогда брутфорс будет проверять все байты подряд побайтно, ничего не пропуская, то есть, сначала берёт первые 16 байт и проверяет, потом берёт со следующего байта 16 байт и проверяет, и так по порядку берёт по 16 байт ключ и буквально побайтно всю программную секцию декриптованного EBOOT.elf перебирает. На самом деле конечно не EBOOT.elf, а из декриптованного дополнительно ещё расжимает архивные секции в tmp.elf и только потом по нему проходит, сверяя байты 16-байтного ключа с подопытным кроликом. Ну и вот в американке ключ мгновенно нашёлся, так же, как и к европейке:
- Дважды щёлкаем в окне брутфорса по найденному ключику, он выделяется, потом копируем его CTRL+C. Закрываем крестиком программу, нажимаем в папке батник clean_folder.bat, чтобы очистить папку от наших скопированных туда файлов и идём в нашу любимую папку EDAT_ReENCRYPT. Там открываем в Notepad++ сразу 2 батника ReENCRYPT DLC with RAP OffEncription.bat и EBOOT SELF SPRX ReENCRYPT for HEN.bat, вставляем туда сбрученный и скопированный в память ключик в специальную область, про которую в батниках русским текстом написано.
- Теперь можем переподписать EDAT, значит запускаем батник с соответствующим названием ReENCRYPT DLC with RAP OffEncription.bat. По названию можем понять, что он делает переподписывание (ReEncrypt) файлов EDAT (читаем всегда DLC - как EDAT, ибо все дополнения DLC, для нас хакеров, ассоциируются в первую очередь именно с EDAT, которыми все DLC залочены). Далее расшифровка названия батника переводится как "с помощью RAP официально шифрованные". В общем понятно, потому что есть DLC, переподписанные или бесплатные, которые не шифрованы ключом RAP, а подписаны паролем KLIC (KLicense), о чём свидетельствует соседний батник.
- Итак, EDAT мы переподписали, теперь нам надо переподписать SCE-файлы игры, такие как EBOOT.BIN/SELF/SPRX и ключ KLIC для них мы уже вписали в батник на предыдущем шаге. Поэтому, теперь запускаем батник с соответствующим названием: EBOOT SELF SPRX ReENCRYPT for HEN.bat. И следим за выполнением, чтобы не проскочили ошибки. Собственно, если в игре имеется только один EBOOT.BIN и нету никаких SELF/SPRX, тогда в этот батник ключ вписывать не обязательно, т.к. EBOOT.BIN всё равно подписывается универсальным единственным всегда ключом бесплатной свободной лицензии: 72F990788F9CFF745725F08E4C128387, а не каким-то другим ключом KLicense для подчинённых файлов.
- Всё переподписали, теперь идём в папку DONE, там и лежат у нас все переподписанные файлы под свободную бесплатную лицензию. Вырезаем из папки DONE папку игры и вставляем в папку ENC, соглашаясь на замену файлов. Таким образом, мы заменили все запароленные РАП-ом EDAT и SCE-файлы переподписанными файлами. А так как все SCE-файлы подписываются ключом под версию 3.30 и эта версия в подписи прописывается, значит мы понизили автоматически минимальную версию прошивки для запуска игры, поэтому имеет смысл открыть PARAM.SFO и там тоже понизить минимальную версию системы до 3.30. Фикс готов.
- Ну и теперь надо готовый фикс упаковать в PKG, запускаем в этой же папке программу PS3GameExtractor.exe, нажимаем кнопку Упаковать папку в PKG, нас попросят указать файл PARAM.SFO, указываем его, нас спросят упаковать по 4 ГБ, можно сразу соглашаться и не париться, т.к. фиксы редко бывают более 4 ГБ
, но если вам надо будет упаковать папку игры более 4 ГБ, то лучше отказаться от предложения упаковать по 4 ГБ, потом предложат упаковать по 2 ГБ - так же отказываемся, затем предложат упаковать Целиком - вот это наилучший вариант, тут соглашаемся, ибо некоторые разделённые таким образом игры потом не работают.
- Фикс готов! Можно переименовать готовый PKG как вам захочется. Запустите батник Clean Previous Job.bat, он очистит папку от созданных ненужных теперь папок работы - это папки cid с прописанными в текстовом формате ContentID переподписываемых файлов, это папка dec с декриптованными файлами, обычно в файлах EDAT записана контрольная текстовая строка, это папка DONE, которая уже должна быть пустая, но уже не нужная, всё это удалится. Имейте в виду, файлы из папки ENC этим батником не удаляются. Чистите её вручную, когда надо.
Последний раз редактировалось ErikPshat; 04.03.2020 в 13:15.
|