PSPx форум

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

eol 01.06.2020 23:31

Лучше я буду использовать одинаковые версии sdk и прошивки, во избежание.

Цитата:

Сообщение от ErikPshat (Сообщение 1215173)
Вот пример одного офф EBOOT для наглядности: --self-cap-flags=0000000000000000 0000000000000000 000000000000003B 00000001 00004000
Вложение 17226

На скриншоте я вижу в конце 2000, а не 4000.

Я посмотрел cap-flags для примерно 300 SELF/BIN. И везде они совпадали с теми, что на вики. Видимо, придется исследовать этот вопрос более подробно самостоятельно.

ErikPshat 02.06.2020 05:10

Вложений: 2
Цитата:

Сообщение от eol (Сообщение 1215185)
Лучше я буду использовать одинаковые версии sdk и прошивки, во избежание.

Вот я взял показать вам для примера EBOOT.BIN самого маленького официального обновления игры Metal Gear Solid V: The Phantom Pain (просто что первое случайно на глаза попалось).
Игра требует 4.60.

Тут дело в том, что игра может быть скомпилирована к примеру на версии SDK 3.40, что собственно в самом ELF и будет указано.
А сама игра была выпущена на момент актулизации прошивки OFW 4.60, что собственно и будет прописано в PARAM.SFO этой самой игры.
Соответственно, за проверку минимальной версии прошивки будет браться версия из PARAM.SFO и проверяться с версией из подписи шифрованного заголовка файла секции Control Info Type 0x00000002.
Естесственно версии могут не совпадать, а будет браться самая старшая версия. Если актуальная версия прошивки на консоли меньше, тогда игра будет требовать обновления прошивки.

Вот что пытается исправить FixELF.exe... То есть, она ищет в декриптованном файле только версию SDK 3.60 и исправляет её на SDK 3.40, больше ничего.
Вот в этом месте, хотя там исправлять нечего: (если последняя цифра в выделении 36, то она исправляет на 34)
Вложение 17227
Далее, проверяется версия в PARAM.SFO, и так же проверяется версия в подписи шифрования файла.
Она записана всегда на пару строк выше секции NPD, т.е. в конце секции Control Info Type 0x00000002, после двух контрольных сумм SHA-1.
Вот эта версия 0xB3B0 - в десятичном виде 46000‬ (4.60.00)
Вложение 17228
Цитата:

Сообщение от eol (Сообщение 1215185)
На скриншоте я вижу в конце 2000, а не 4000.

Да, на скриншоте как раз 2000 выставлено в официальном файле. Но на практике изредка попадались 4000. Поэтому, если учесть, что и там игры с 2000 и там игры с 4000, то этот флаг на принадлежность к самим играм значит никак не относится. Я смог только предположить, что это может быть количество выделенной зарезервированной памяти под распаковку ELF, поэтому вписал на всякий побольше, т.е. 4000, чтобы на всякий случай всем угодить. Ну и в принципе, если посмотреть на количество переподписанных игр, которые я выложил в теме прямого скачивания, то этот параметр никак не мешает их запуску. Ни разу такого не попадалось, чтобы переподписанная игра по этой причине могла не работать. Вот игры выложены в этой теме, можете все сами проверить по алфавиту: https://www.pspx.ru/forum/showthread.php?t=108867
Ну и конечно я не против ваших исследований, так что можете исследовать сами ;)

eol 02.06.2020 10:29

ErikPshat, спасибо за развернутый ответ.
Теория и структура файла SELF были достаточно изучены мною на вики.
Мне были интересны некоторые вопросы, относящиеся к практическому применению, которые я и задал ранее.
Хорошо, что на практике не точно совпадающие версии прошивки и sdk, а также текущие cap-flags позволяют запускать игры без проблем.
Для прошивки 3.30 и ревизии ключей 0x1 я бы взял sdk 330 просто для логической красоты. Так как ключи 0x1 использовались на прошивках до OFW 3.30 включительно, то логично использовать и sdk 330.

А почему бы не брать cap-flags из самих переподписываемых файлов?

ErikPshat 02.06.2020 23:09

Цитата:

Сообщение от eol (Сообщение 1215209)
Для прошивки 3.30 и ревизии ключей 0x1 я бы взял sdk 330 просто для логической красоты.

Приятно общаться со знающими людьми ;)
Ну для этого наверное надо будет править FixELF.exe, чего мне совсем делать не хочется, да и не имеет это особого значения.

Цитата:

Сообщение от eol (Сообщение 1215209)
А почему бы не брать cap-flags из самих переподписываемых файлов?

Вообще хорошая идея. Добавил вставку всех значений секции в --self-cap-flags из исходного файла, включая 2000 или 4000. Вообщем подпись будет производиться данными из исходного файла.
Кстати, у меня так и было, для NPDRM стояло 2000, а для дисковых без NPDRM стояло 4000. Я уже не помню почему именно так было выбрано, ну теперь будет правильнее, благодаря вашей идее.
Думаю там больше никаких значений менять не надо, вроде бы всё остальное неизменное.
Чейнжлоги написал здесь: https://www.pspx.ru/forum/showthread.php?p=1215260, второй раз ещё окончательно подправил.

eol 04.06.2020 11:14

Цитата:

Сообщение от ErikPshat (Сообщение 1215262)
Добавил вставку всех значений секции в --self-cap-flags из исходного файла, включая 2000 или 4000.

Надеюсь, это не принесет проблем с работоспособностью.

ErikPshat 04.06.2020 19:44

Цитата:

Сообщение от eol (Сообщение 1215373)
Надеюсь, это не принесет проблем с работоспособностью.

Ну я так считаю, если исходный файл был подписан по каким-то причинам именно такими значениями и таким образом он, по мнению Sony, должен работать и работает, так почему бы этому файлу, после переподписывания под свободную лицензию, так же не работать со своими родными значениями? :D

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

И, кстати, можете попробовать переподписать, обновление для этой игры (патч v1.09 77,3 Мб), там как раз присутствует и EBOOT.BIN, и SELF, и SPRX.
Закиньте всю папку распакованного обновления в папку ENC и пройдитесь батником, увидите красивую картину:
Цитата:

Сообщение от ErikPshat (Сообщение 1215189)
Вот я взял показать вам для примера EBOOT.BIN самого маленького официального обновления игры Metal Gear Solid V: The Phantom Pain (просто что первое случайно на глаза попалось).
Игра требует 4.60.,


Fagirton 08.08.2020 16:24

А как в таком случае переподписать игры имеющие только дисковый релиз? Ведь структура файлов схожа с релизом в PSN. Самое интересное что мне попалась игра ещё и без обновлений) -SONIC THE HEDGEHOG 2006

Ang3l42 08.08.2020 17:14

Fagirton, Положить EBOOT.BIN в C:\PS3\ps3tools\tools\EDAT_ReENCRYPT\ENC. Запустить EBOOT SELF SPRX ReENCRYPT for HEN.bat. Забрать переподписанный EBOOT.BIN из C:\PS3\ps3tools\tools\EDAT_ReENCRYPT\DONE

akfant 08.08.2020 19:59

Цитата:

Сообщение от Fagirton (Сообщение 1219501)
А как в таком случае переподписать игры имеющие только дисковый релиз?

а зачем?
переподписывают Psn, в дисковых нет защиты, они пойдут на хен и так

Ang3l42 08.08.2020 20:00

Цитата:

Сообщение от akfant (Сообщение 1219506)
переподписывают Psn, в дисковых нет защиты, они пойдут на хен и так

Пойдут, если EBOOT.BIN не переподписан фейковыми ключами как в случае с соником.

akfant 08.08.2020 20:06

Цитата:

Сообщение от Ang3l42 (Сообщение 1219507)
Пойдут, если EBOOT.BIN не переподписан фейковыми ключами как в случае с соником.

ну на диске он точно не может быть подисан фейковыми ключами
это кто-то если своими шаловливыми ручонками туда влёз и напереподписывал..
только зачем вообще кому-то могло понадобиться мучить eboot в этой игре, она 2006 года и требует смехотворную прошивку 1.32

Ang3l42 08.08.2020 20:11

Цитата:

Сообщение от akfant (Сообщение 1219508)
только зачем вообще кому-то могло понадобиться мучить eboot в этой игре, она 2006 года и требует смехотворную прошивку 1.32

Переводчикам видимо. Видимо что-то правили в нем.

akfant 08.08.2020 20:12

и не могли нормально подписать официальными ключами... криворуки, что ещё сказать

Ang3l42 08.08.2020 20:20

akfant, Перевели в 18 году. HEN не было и никто не парился по этому поводу.

ErikPshat 09.08.2020 04:05

Цитата:

Сообщение от akfant (Сообщение 1219508)
ну на диске он точно не может быть подисан фейковыми ключами
это кто-то если своими шаловливыми ручонками туда влёз и напереподписывал..

Попробуй запусти на HEN любую из этих игр: https://nnmclub.to/forum/tracker.php?nm=[PS3]+[4.21] (там 6 страниц таких игр).
Ну за исключением тех, которые на самом деле требуют официальную прошивку 4.21 по-настоящему.

Ang3l42 09.08.2020 10:44

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

ErikPshat 01.10.2020 02:40

Цитата:

Сообщение от eol (Сообщение 1215185)
На скриншоте я вижу в конце 2000, а не 4000.

Я посмотрел cap-flags для примерно 300 SELF/BIN. И везде они совпадали с теми, что на вики. Видимо, придется исследовать этот вопрос более подробно самостоятельно.

Выше я вам немного не верно объяснял.
Потом проанализировал и вспомнил, что для дисковой игры выставляется 4000, а для цифровой PSN-версии всегда 2000.
И именно так проставлено у меня в батнике в зависимости от версии игры - дисковой или цифровой.

Некропост, но этот момент решил всё-таки закрепить на бумаге сером фоне, для информации и для тех кто ранее меня не так понял :)

Alekseivich 02.05.2021 10:05

Доброе утро. длс можно ставить без фикса к игре которая на диске? или Rap файл только нужен?

Ang3l42 02.05.2021 12:54

Цитата:

Сообщение от Alekseivich (Сообщение 1236958)
длс можно ставить без фикса к игре которая на диске?

Какой еще фикс к игре если она на диске?

Alekseivich 02.05.2021 12:55

Цитата:

Сообщение от Ang3l42 (Сообщение 1236960)
Какой еще фикс к игре если она на диске?

Я про длс говорил


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

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