Дешифровка игр PS Vita
Файлы игры в формате NoNpDrm зашифрованы.В частности иконки sce_sys/icon0.png и sce_sys/pic0.png(их нельзя открыть на ПК) У меня вопрос для экспертов(которые создают русификаторы;)) по какому алгоритму и каким ключом шифруются данные? И я в курсе что это на консоли делает VitaShell но мне интересен сам алгоритм.Хочу на Python сделать прогу для ПК
|
botik,
изучай: https://github.com/cuevavirus/psvpfstools |
Остались два вопроса.
1 ВОПРОС Имеется программа для консоли FAGDec.vpk которая глубоко дешифрует файлы в папке sce_module и eboot.bin.Есть ли её аналог на ПК? Программа psvpfsparser хорошая но именно с этими файлами до конца не справляется.Это позволит легко переводить формат pkg файлов в формат VPK без участия консоли. 2 ВОПРОС После установки любого VPK генерируется head.bin который одинаковый для всех консолей а если установить разные игры то отличаться head.bin будет только несколькими строчками 0x100-0x10F и 0x420-0x42F .Какой алгоритм их создания? (предполагаю что без hmac_sha1 не обошлось) Хотелось на ПК его генерировать без участия консоли. |
botik,
1) https://github.com/TeamMolecule/sceutils (в изначальном репо нет ключей, смотри форки) 2) https://github.com/lusid1/pkg2zip Говнодампы в VPK не нужны. |
Цитата:
2 VPK это самый лучший формат полностью расшифрован и очень легко переводится в nonpdrm.На пример игра VVVVVV адаптирована для nonpdrm можно и саундреки послушать на ПК и поиграть без установки. Секрет в файле head.bin https://mega.nz/#!Y7QlhIoT!Pd9oNDJiE...qYsWyb8GrF_QMU |
Цитата:
Цитата:
Цитата:
|
А ты проверял?установи его как NoNpDrm версию и он заработает.
|
botik,
отключил NoNpDrm плагин, обновил БД и получил установленную игру. Обычное дешифрованное говно, которое не имеет отношения к NpDrm шифрованию и не требует обхода лицензии при помощи плагина. |
А зачем плагин отключать? У меня с ним все установилось и запустилось.Я прямо с магазина их качаю и дешифрую.Но пока вижу два плюса.
1 Меньше места игра занимает в архиве 2 Теперь русификатор можно соединить с игрой без папки rePatch. |
С помощью Vitashell получил расшифровку eboot.bin.Оасталось снять DRM защиту.Скопировал его на ПК скачал прогу sceutils подключил keys_external.py. Далее в командной строке scedecrypt.py eboot.bin <folder>.Пишет ошибку Invalid metadata info padding (decryption likely failed)'
В самом Python коде понимаю выше среднего уровня и смог переделать прогу для Python3. И получил ту же самую ошибку.Где можно ознакомиться с подробными инструкциями как сделать чтобы все работало? |
Цитата:
|
Нашел keys.py которая использует программа но это не помогло.
https://pastebin.com/muzFMBAZ Или keys.py неправильный или прога не рабочая.Я просмотрел код и сразу вопрос к примеру зачем в keys.py строчки ENC_KEY = binascii.a2b_hex('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA') ENC_IV = binascii.a2b_hex('AF5F2CB04AC1751ABF51CEF1C8096210') если сама программа эти значения вообще не использует в своих вычислениях.А может сам автор проги их умышленно удалил? Я и сам могу написать прогу с нуля если бы знал точный алгоритм расшифровки. |
botik,
с фига ли бы не использует? Это ключ от secure kernel в версиях ПО до 3.69 включительно. Но, вообще, есть таблица ключей и алгоритмов от Мэтьюха, если уверен в своих силах. |
Ключи увидел а алгоритм не вижу.Нужен алгоритм который представляет набор конкретных действий в определенном порядке например вычисление PSVIMG ключа из аккаунта.Все подробно и четко описано даже пример приведен
https://wiki.henkaku.xyz/vita/PSVIMG Сразу можно и прогу на python3 написать.Вместо AID написать свое значение. from Crypto.Cipher import AES from Crypto.Hash import SHA256 AID = 0x0000000000000000 aid_bytes = AID.to_bytes(8,"big") seed = aid_bytes + b'Sri Jayewardenepura Kotte' key = SHA256.new(seed).digest() cipher = AES.new(b'\xa9\xfaZby\x9f\xccLrkN,\xe3Pm8', AES.MODE_ECB) decrypted =cipher.decrypt(key) print ("KEY=",end="") print (decrypted.hex()) input() |
Все разобрался.Неужели было сложно автору написать одну строчку мануала о том что в модуле sceutils.py в строке 11 значение klictxt нужно изменить на ключ из файла work.bin по адресу 0x50.Мы ведь не экстрасенсы.
|
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Я об этом догадался после 2 дней копания в коде что нужно ещё -k work.bin добавлять.Но я её переделал под себя и в exe перевел(self2elf.exe).Теперь работает -k key(из work.bin).
|
Вложений: 1
|
Тема перенесена https://www.pspx.ru/forum/showthread.php?t=109597
|
Текущее время: 18:59. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.