мне тоже показалось, что если взять подготовленную к переносу PSN-игру (к тому же маленькую), то будет проще экспериментировать.
в спецификации там вроде все понятно. но по-полочкам разложить было бы очень полезно, наверное, много таких как я, которые не очень в материале, потому что пропустили в свое время переподписи под прошивку 3.55 и работу с прогами от геохота и т.п. да, еще... вот если бы полностью доделать тот волшебный файл закладок для HWP... но там, наверное, слишком много сложностей, условий и всякого... а так очень помогает! ну и единственное, мне непонятно вычисление смещений (офсетов) в заголовке файла. получается, это не смещение от текущей позиции, а абсолютный адрес от начала файла? (тут я, наверное, просто туплю, говорят же: заменить байты по офсету 0хХХХХ, подразумевая смещение от начала файла) ну и по-поводу переподписи до 100% совпадения... рано или поздно придется определиться, первые 16 байт после content_id[48] в NPD-секции - это просто случайный набор или все-таки контрольная сумма файла, как там и написано: uint8_t digest[16]; // sha-1 hash of debug self/sprx created with make_fself_npdrm дебаг версия - это же незашифрованная версия файла? можно ли получить такое же число из имеющегося зашифрованного файла? просто, если этот параметр важен, то замена этих сумм один к одному на нерабочем файле - даст опять же нерабочий файл... сори, наверное, непонятно объясняю... |
Цитата:
|
Цитата:
Цитата:
Насчёт sha-1 hash - это вообще нужно проверить. Взять EBOOT от любого обновления (NPDRM), декриптовать его, затем зашифровать его как дебаг с помощью make_fself_npdrm, посчитать SHA-1 и сверится с этой строкой в оригинале. Дебаг - это скорее подписанный файл, но не с DRM шифрованием. Эмм, не всё сразу, нужно бы мысли собрать, а для начала нужно бы дорожную карту сообразить и нарисовать библиотеку для справки и сверки. |
Цитата:
- Farming Simulator 15 [BLES02108] с патчем - заменялись предпоследние 0х28 байт в обоих EBOOT.BIN; - Super Stardust HD [NPEA00014] скачанная отсюда - заменялись предпоследние 0х28 байт и перед ними 0х08 байт с пересчетом контрольной суммы. Если нужно какие-то еще протестить - то особых сложностей нету, лишь бы игра была с возможностью запуска на OFW через УПД... или такую сложно найти для версии ниже 3.55? (в смысле, патч будет для более старшей версии) Цитата:
ну, это просто мои предположения, возможно проблема вовсе не в этом, тут надо бы, чтобы разобрались разбирающиеся в вопросе люди))) P.S.: начиналось все с того, что есть игрушка After Hours Athletes [BCES01335] - в ней кроме EBOOT.BIN есть три .self файла (для каждой игры) и один из них содержится в оф.патче и работает на OFW (то есть, можно сравнить? правда она без мува не запускается). А еще есть же бесплатный singstar, правда не знаю, поможет ли он чем-нибудь. если надо - могу скачать и выложить куда-нибудь... |
Цитата:
А ты случайно не спутал, в игре есть 2 папки, папка NPEB выступает как загрузочная Bootable и оттуда происходит запуск EBOOT.BIN, а папка BLES как данные игры, поэтому, лежащий в ней EBOOT.BIN просто так лежит мёртвым грузом. Ну и конечно в обоих папках лежит один и тот же EBOOT.BIN от обновления из PSN. В смысле, может ты только поменял предпоследние 0x28 байт у EBOOT.BIN в папке BLES? Цитата:
А кто-нибудь знает утилиту, которая декриптует и вытаскивает отдельно Metadata? Потому что мы видим на выходе только чистый ELF, а секция метаданных декриптуется в памяти и остаётся невидимой глазу. |
Цитата:
а вообще, было бы хорошо, если бы кто-то еще перепроверил... если у трех тестеров будут одинаковые результаты - то будет достовернее же... и если дойдет до дальнейших экспериментов - то мб стоит взять одну конкретную игру, даже один и тот же образ и уже над ними проводить эксперименты всем желающим... |
Вложений: 3
Цитата:
Смотрите по ссылке в таблице второе смещение:
А теперь смотри в позиции 0x60, тот код digest после ContentID, про который ты говоришь и который одинаково расположен у любых NPD:
Короче, я решил провести эксперимент на файле EDAT. Взял официальный файл licensee.edat из Update Patch к игре "Call of Duty Ghosts NPEB01835", о которой писал постом выше. Вот я подготовил архив необходимых файлов Вложение 13240 (распаковать в папку ps3tools\tools\scetool) - в архиве licensee.edat, EBOOT.BIN и RAP от этой игры + оригинальный make_npdata + исправленный ScetoolGuiPSPx.exe. Сначала декриптуете официальный EDAT следующей командой: Код:
make_npdata -v -d licensee.edat licensee.dat 0 RAPS/EP0002-NPEB01835_00-CALLDUTYGHOSTSDL.rap Процесс декриптовки: Затем компилируете в DEBUG этот декриптованный licensee.dat в папку edat, чтобы не затёрся оригинал, вот команда: Код:
make_npdata -v -e licensee.dat edat/licensee.edat 1 0 4 0 16 Процесс компиляции в DEBUG: Вот такой получается файл DEBUG и внизу смотрим контрольную сумму SHA-1 (сравниваем первые 16 байт с выделением на картинке выше) SHA-1 = 8A AA D3 DB 8C FF 18 C2 F3 0F 53 9D 58 E0 63 A2 F4 89 07 99 Вложение 13239 Достаём KLicensee от игры: |
так я и не понял чего не хватает чтобы подписать нужный файлик?
|
Цитата:
Цитата:
|
тоесть 28 байт в конце перед хешем файла
|
Цитата:
Как я выше писал, на примере EDAT можно восстановить первую SHA-1 хеш-сумму, как у оригинала. У тебя получилось? А вот с EBOOT.BIN и с PKG у меня пока не получилось получить из DEBUG-файла верную SHA-1 контрольную сумму. Вот её нужно научиться правильно генерировать, чтобы пойти дальше к сходству с оригиналом. А, как я понял, всякие утилиты генерируют фейковый digest. И это уже может проверяться в экзешниках и это может быть первой ошибкой в утилите. Маленькие официальные PKG для тестов: |
почему то у меня каждый раз меняются контрольные суммы у дебаг файла
|
E2E41, у EDAT или у EBOOT?
Для EDAT я в этом сообщении загрузил специально комплект исправленных утилит, в частности оригинальная make_npdata, без всяких извращений. Она, при создании debug генерирует всегда один и тот же файл. А вот утилиты для EBOOT и PKG, каким-то образом патченные и там генерируется каждый раз рандомный хеш в debug. Сейчас пытаюсь скачать с меги 4.75 SDK, чтобы вытащить официальные утилиты make_fself_npdrm и make_package_npdrm, чтобы убедиться в чистоте утилиты. Но пока не удаётся скачать через браузер, пишет типа памяти не хватает. |
Короче, залил на диск официальную коллекцию утилит из СДК475 (200 MB).
P.S. Естессна они все делают DEBUG-файлы для DEX-консоли, что нам и нужно для экспериментов. Проверил пока только EDAT с помощью make_edata_npdrm.exe - получается правильный DEBUG. --help по командам: Код:
make_edata_npdrm licensee.dat licensee.edat |
Провел эксперимент с EBOOT.BIN от игры "1942: Joint Strike" занулил последние 8 байт которые являются частью контрольной суммы SHA-1 и игра отлично завелась,занулил ещё 8 байт влево пс3 выдала ошибку 80010017,удалил 8 байт таже ошибка,так что в эти 8 байт можно вписать любые значения но без этих 8 байт игра не заведётся.
|
Strong-Men, выходит игра проверят размер файла.
|
Цитата:
|
это число для выбора точки на эпилептической кривой(хотя могу и заблуждаться)
вот похожий механизм генерации: https://github.com/uofw/upspd/wiki/K...multiplication |
Можно ли сгенерировать подпись прогой sign.py по методу подписи ISO.BIN.DAT ?
|
сомневаюсь
|
Текущее время: 09:54. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.