Вход

Просмотр полной версии : scetool & ps3tools - утилиты де/криптовки файлов PS3


Страницы : 1 [2]

E2E41
09.09.2017, 15:00
Strong-Men, выходит игра проверят размер файла.
если ecdsa проверяет только размер файла, то можно подогнать eboot.bin под этот размер?

ErikPshat
09.09.2017, 15:13
E2E41, эмм, в смысле? Если подписывать из ELF, то можно конец ELF забивать нулями настолько, чтобы после подписывания получился файл с таким же размером, как в оригинале. И вставить туда тот самый ECDSA. Но я сомневаюсь, что собственное подписывание сделает рабочим файл.

E2E41
09.09.2017, 15:20
кто мешает попробывать, если на cfw будет рабочим то и возможно на ofw

ErikPshat
09.09.2017, 16:20
E2E41, попробуй :) у тебя же есть PS3.

В PSP мы используем следующий хак...

Берётся заголовок от игры-демки. Там просто демки не проверяются и свободно запускаются на официальной прошивке. Заголовок 0x150 байт менять нельзя ни байтика, в нём записаны кирки и чексуммы самого сжатого и подписанного ELF и потом заголовок подсчитан и подписан, поэтому его трогать нельзя. Механизм подписи тела известен.
А в заголовке прописано 3 значения - это размер декриптованного ELF, размер сжатого ELF и всего файла целиком.
Мы берём кастомное Хоумбрю-приложение, добиваем нулями декриптованный ELF до размера, указанного в заголовке.
Сжимем его пофигу чем, например с помощью 7-Zip или libzip, вернее в формат Gzip, который понимает PSP.
Затем добиваем нулями этот архив до размера, указанного в заголовке. Там хоть на гигабайт добавь в конец нули, он всё равно распакуется.
Потом этот правильный архив шифруем кирком от заголовка (это механизм PSP, а на PS3 шифруется ключами под версию EBOOT)
Ну и вставляем шифрованное тело к оригинальному официальному заголовку этой игры и ву-а-ля.
По всем проверкам на размеры игры кастомное Хоумбрю проходит и запускается на оффпрошивке.

Вообщем, если интересно, почитай, начиная с этого поста: http://www.pspx.ru/forum/showthread.php?p=1070631
Правда на PS3 всё по другому. Но можно подумать использовать подобный механизм.

то можно конец ELF забивать нулями настолько
Эмм, в заголовке EBOOT.BIN должен же быть где-то записан размер декриптованного ELF.

Strong-Men
09.09.2017, 18:59
Что такое R S в ECDSA?

ErikPshat
09.09.2017, 19:33
Что такое R S в ECDSA?
Смотри в этих файлах:

https://github.com/naehrwert/scetool/blob/master/ecdsa.h
https://github.com/naehrwert/scetool/blob/master/ec.cpp - Нажми в браузере CTRL+F и вставь в поиск: static int check_ecdsa
https://github.com/naehrwert/scetool/blob/master/np.cpp - Нажми в браузере CTRL+F и вставь в поиск: Generate signature
https://github.com/naehrwert/scetool/blob/master/sce.cpp - Нажми в браузере CTRL+F и вставь в поиск: Generate signature

Strong-Men
09.09.2017, 19:59
Как я понимаю подпись ECDSA содержит в себе хеш файла,можно ли вытащить этот хеш?

ErikPshat
09.09.2017, 20:46
Strong-Men, оу, это я тебе точно сказать щас ничего не могу, т.к. я ещё сам не рассматривал этот момент. Это надо разбирать весь код и соображать, что там и как всё устроено. Могу точно сказать, что ECDSA состоит из двух частей = R и S, которые состоят из хэшей по 0x14 байт, итого 0x28 байт.

R - это хеш от vsh_curves, этот файл ты можешь увидеть в папке ps3tools\tools\scetool\data или ps3tools\tools\scetool\.ps3
S - это тоже хеш, но я вообще без понятия откуда он берётся. Это, по-моему, хэш всех ключей, которые встраиваются в EBOOT.BIN, могу ошибаться.

И эти 2 хеша записываются один за другим и получается ECDSA 0x28 байт. Или в десятичном виде ровно 40 байт (2 раза по 20).
Короче, я тебя сразу что-то не понял, но теперь понял, что последние 8 байт хеша SHA1 не проверяются и их можно даже занулить.
А вот попробуй занулить хоть один байт из предпоследних 40 байт и игра не заведётся.

Strong-Men
09.09.2017, 21:04
А вот попробуй занулить хоть один байт из предпоследних 40 байт и игра не заведётся.

это точно не заведется уже проверил,но вот что интерестно ISO.BIN.DAT PSOne Classics подписан реальной подписью ECDSA а прога sign.np генерирует эту подпись(кстати генерирует каждый раз новую подпись на один и тот же файл но игра заводится) и игры работают,вполне возможно что EBOOT.BIN подписан той же подписью вот только нужно знать какую часть файла она хеширует или может это хеш debug версии или EBOOT.ELF ...

E2E41
10.09.2017, 14:20
что интересно у мультимэна присутствует подпись ECDSA

rhish777
10.11.2017, 01:47
Слежу за темой взлома. Если все получится, то мы сможем вытаскивать приватный ключ из консольки, тогда и подпись заработает. Я тут не писал, но загадку подписи ECDSA я разгадал в том году. Однако поняв, что приватный ключ на всех современных прошивках, каждой консольке разный, не стал писать. Ибо нет в этом смысла. А тут вроде обещают полный доступ к ядру в ближайшее время.

ErikPshat
10.11.2017, 05:15
Я тут не писал, но загадку подписи ECDSA я разгадал в том году.
Ну так что ж ты молчишь? Если бы ты нам дал бы разгадку ECDSA, так мы в том году бы подправили scetool и спокойно подписывали бы EBOOT.BIN.

rhish777
10.11.2017, 08:46
Ну так что ж ты молчишь? Если бы ты нам дал бы разгадку ECDSA, так мы в том году бы подправили scetool и спокойно подписывали бы EBOOT.BIN.
Пока что поправлять ничего не нужно. На официалке EBOOT.BIN не работает потому, что у всех приватный ключ разный.
А до прошивки 3.55 он был у всех одинаковый, потому то в те времена PS3 легко и взломали.

ErikPshat
10.11.2017, 09:36
rhish777, меня интересует - что ты там разгадал в прошлом году :D и не стал писать :xDD:

А приватный ключ не может быть разный у каждой консоли, потому что тогда нужно для каждой консоли выпускать индивидуальный диск с EBOOT.BIN, подписанным индивидуально под каждый приватный ключ у каждой консоли. Даже пусть не диск, а игра из PSN, но и тогда для каждого скачивающего EBOOT.BIN должен вытаскиваться из PKG, переподписываться Соней под консоль скачивающего и одновременно паковаться обратно в PKG. Однако, насколько нам известно, все PKG с игрой, скачиваемые из любого места в мире, имеют один и тот же PKG с одним и тем же EBOOT.BIN по MD5 или SHA-1 контрольной суммой.

А ты подумал над тем, что все игры имеют статичную подпись ECDSA? То есть, она для всех консолей у каждой игры одинаковая и почему-то на всех консолях запускается, несмотря на то, как ты придумал, что приватный ключ (пароль к архиву) у всех разный :D

Я понимаю, что к каждой подписи подмешивается соль - это рандомный набор цифр. Но дело в том, что какой бы ты набор цифр не подмешивал, то конечно ECDSA будет всегда изменяться, но алгоритм подсчёта всегда остаётся прежним. Если взять любой конкретный EBOOT.BIN, то мы свободно можем генерировать ту самую соль постоянно точно так же, как её сгенерировала Сони в данном EBOOT, как мы и проводили опыт в данной теме ранее. поэтому мы можем в точности восстановить метод создания файла, нам только требуется узнать метод генерации ECDSA. А ты оказывается всё это время знал и нам не раскрывал :)

Единственное, что я знаю, так эти данные записаны в самом EBOOT.BIN. Это VSH Curve должно записываться в метаданные в шифрованную область, потом оно раскладывается кубиками и прямоугольниками, переставляются местами по определённому алгоритму в зависимости от флага, как шарик-малик-келишь-мелишь-трёшь-мнёшь-тратр-ватр-экскаватр, потом вычисляется его SHA-1 и длина этого блока, ксорятся (совокупляются) с приватным ключом соответствующей прошивки и раскладывается на R и S.

rhish777
10.11.2017, 10:56
ErikPshat, Вы так и не поняли что scetool предназначена для локальной подписи. Файлы же от самой сони подписаны совсем по другому. Все приставки с CFW по сей день сидят на одном одинаковом ключе self_type=NPDRM priv=009EF86907782A318D4CC3617EBACE2480E73A46F6 от 3.55 прошивки. Ответ же всегда был перед глазами.


Как работает подпись для всех сразу?
А для абсолютной подписи для OFW нам нужен приватный ключ самой СОНИ. Публичный ключ есть в каждой приставке.
Где же мы его возьмем? Давай в сапорт напишем. Вышлите нам приватный ключ для подписи пожалуйста. :D

ВЫВОД Имеется два ключа для подписи. Один хранится в пристаке и с ним будет запускаться EBOOT.BIN только на нашей плойке. Другой хранится у сони с ним будет работать на всех плоечках. Такова работа ECDSA

ErikPshat
10.11.2017, 12:30
ErikPshat, Вы так и не поняли что scetool предназначена для локальной подписи. Файлы же от самой сони подписаны совсем по другому.
Что я не понял? :) Если ты не в курсе, то у нас на форуме лежат во вложении scetool, meke_npdata и многие прочие тулзы, во многом исправленные и скомпилированные лично вашим слугой капитаном КО http://www.pspx.ru/forum/cleardoc/misc/kapitan_2012.png. Ты же наверное заметил, что теперь всё отображается ровными рядами со специальными отступами для красивого копирования кода в сообщения форума в тег [CODE], а не как было раньше всё вперемешку в одну строчку со сдвигами хер знает куда. И думаешь я там просто так ковырялся только лишь для косметических изменений? А make_npdata теперь же не требует отдельной утилиты make_c00_edat, потому что она одна создаёт универсальный EDAT, подходящий под разные задачи.

Да, я прекрасно знаю, подо что scetool делалась. Она заточена под дисковые Non-DRM EBOOT.BIN. Там правда есть возможность создания NPDRM, но всё оставили под дисковые SELF, потому что в NPDRM всегда 0x33 ключа и нету дополнительной расширенной секции, по поводу которой мы тут много говорили насчёт True/False (лень вспоминать её точное название). True как раз означает наличие этой доп-секции, которая всегда присутствует в NPDRM из PSN.

Но это всё фигня. Это всё можно было воссоздать, пораскидывать мозгами, только какой в этом толк, когда мы не знаем механизма генерации ECDSA. Ведь достоверно известно, что при изменении хоть одного байтика в официальном файле, в частности в футере (в конце) секции ECDSA, так файл перестаёт работать.

Все приставки с CFW по сей день сидят на одном одинаковом ключе self_type=NPDRM priv=009EF86907782A318D4CC3617EBACE2480E73A46F6 от 3.55 прошивки. Ответ же всегда был перед глазами.
Там есть полностью комплектованные ключи под 3.30, 3.42, 3.50, 3.55.
А вот с 4.21 я верю, что просто заполнили фейковыми ключами под CFW, т.к. они все одинаковые.

Но кто мешает подписывать игры под 3.30-3.55? Или ты думаешь, что они все в чёрном списке? Возможно.
Но я что-то сомневаюсь, что те копии игр, распространённых миллионными тиражами на дисках и через PSN, которые требовали прошивки 3.30-3.55 и это в период бурного расцвета PS3 с активными продажами - и вдруг все эти игры оказались забанены по причине подписи их скомпрометированными ключами? Они что, теперь не запускаются на последующих прошивках, которые были подписаны утёкшими приватными ключами?
Что-то мне твоя разгадка подписи ECDSA не устраивает такими доводами.

rhish777
10.11.2017, 13:05
ErikPshat,
Ну блин не ужели не понятна эта формула?
https://www.blogcdn.com/www.engadget.com/media/2010/12/12-29-10-ps3publickeyrandomization.jpg

rhish777 добавил 10.11.2017 в 13:05
Но кто мешает подписывать игры под 3.30-3.55? Или ты думаешь, что они все в чёрном списке? Возможно.
Но я что-то сомневаюсь, что те копии игр, распространённых миллионными тиражами на дисках и через PSN, которые требовали прошивки 3.30-3.55 и это в период бурного расцвета PS3 с активными продажами - и вдруг все эти игры оказались забанены по причине подписи их скомпрометированными ключами? Они что, теперь не запускаются на последующих прошивках, которые были подписаны утёкшими приватными ключами?
Что-то мне твоя разгадка подписи ECDSA не устраивает такими доводами..

Все старье подписано не лакальным приватником с консоли, а приватным ключем самой компании SONY.
Все работает естественно. Ключ настоящий еще некто не получил этот.

ErikPshat
10.11.2017, 23:56
rhish777, эту картинку из детского сада я уже видел на каком-то сайте. Это ты детям показывай, что там неужели не понятно :D
Я тебе уже объяснял насчёт соли, как она рандомно генерируется и я прекрасно знаю все смещения, куда она записывается, уже показывал на скриншотах ранее в этой же теме. А ты эту картинку видимо только увидел, как что-то новое и типа она всё объясняет :D

Это знаешь, можно собрать вокруг школьников, сделать умный вид, показать эту картинку и сказать, типа вы все лохи, вот вам секрет ECDSA. Ну и вся школота будет махать гривами и соглашаться, типа теперь всё понятно :) Короче, не парь мне и людям мозги. Я уже по этому разговору вижу, насколько глубоко ты разбираешься в этом ECDSA, это можешь детям сказки рассказывать, но только не мне. И все ключи 3.30-3.55 настоящие, включая приватные. Где-то тут была тема с тех времён, когда мы сами эти ключи вытаскивали из файлов прошивки и сами же заполняли текстовик keys. И приватные ключи дампили из кирка. Вот почитай (http://www.pspx.ru/forum/showthread.php?t=103710) примерный ход исследования и добычи ключей для PSP, а на PS3 примерно то же самое и есть алгоритм формирования этого ECDSA, только никто пока не разгадал складывание байтов в этот кубик рубика. Если имеется один и тот же файл, подсаливается одной и той же солью (мы можем это дело взять под контроль и сделать статичным явлением по своему хотению, вместо рандомной генерации), ксорится одними и теми же приватными ключами, тогда и ECDSA всегда у этого файла будет на выходе одна и та же, иначе никакой приватный ключ дешифровки от Sony не сможет расшифровать свой же архив.

Я просто подумал, что ты реально просчитал механизм генерации ECDSA, а ты оказывается тут картинками пришёл размахивать.
Насчёт раскладывания кубиков я пока не нашёл ту тему и архивы со схемами, но потом найду и покажу, как это делается в механизме подписи каждой новой прошивки. Этот метод просто нужно разгадать, тогда у тебя появляется возможность декриптовать файлы прошивки. Это и есть аналогичный метод складывания ECDSA с рандомной солью, когда эта контрольная сумма никогда не повторяется в разных EBOOT.BIN в играх, в PKG или EDAT, поэтому угадать это сложно.

rhish777
11.11.2017, 03:10
ErikPshat, Давай подождем взлома и проверим. До сей поры не было взлома 4k консолей.

ErikPshat
11.11.2017, 03:45
rhish777, насчёт ключей, можешь сам по инструкции в 4-5 постах проверить, настоящие они или нет.
Вот тема для ознакомления: http://www.pspx.ru/forum/showthread.php?t=103760

Я не проверял, но возможно можно декриптовать прошивку 4.81...
Кстати, я сам лично проверял EBOOT.BIN NPDRM подписанный под 4.75. Так вот, я его полностью декриптовал.
А это намекает, что ключи после 3.55 не совсем фейковые, как ты уверял.
И при желании, при отсутствии лени, их все можно проверить на валидность.

rhish777
11.11.2017, 12:37
ErikPshat, НЕ распаковываются pkg файлы прошивки. dev_flash.tar все распаковались.

UPD


Вот эти параметры - это и есть закрытый ключ ECDSA.
==> Keyset Example <==
[metldr]
type=SELF
revision=000A
version=0003005500000000
self_type=NPDRM
erk=03C21AD78FBB6A3D425E9AAB1298F9FD70E29FD4E6E3A3C151205DA50C413DE4
riv=0A99D4D4F8301A88052D714AD2FB565E
pub=3995C390C9F7FBBAB124A1C14E70F9741A5E6BDF17A605D88239652C8EA7D5FC9F24B30546C1 E44B
priv=009AC6B22A056BA9E0B6D1520F28A57A3135483F9F
ctype=27

Но их должно быть очень много. Он не единственный.
После прошивки 355 метод шифрования изменился.
Мне нужно получить свой priv=000000000000000000000000000000000000000000 для проверки.

DSYLeg5PFqY

E2E41
07.12.2017, 13:23
оставлю здесь (https://habrahabr.ru/post/199356/)

ErikPshat
24.01.2018, 07:04
Обновление scetool by Sorvigolova (https://github.com/Sorvigolova/scetool/commit/64a4689a388c401e5b24bc5c9397111a70d03922)

Updated to v.0.3.0

- Added Internal keys support.
- Added Signed Elf ver.2 decryption support.
- Decrypting header will now use key-bruteforce method.
- Options changed.
- Removed Pub/Priv configs, enabled all features by default.

Имейте в виду, что изменились названия команд (смотрите в консоли).
Например, --sce-type на --category, --self-auth-id -self-vendor-id --self-type на --program-auth-id --program-vendor-id --program-type и т.д.
Добавлены ключи в файл "internal_keys"
Во вложении экзешник с ключами и исходниками.
Источник (https://github.com/Sorvigolova/scetool)

Fireball
07.02.2018, 02:47
Тоже очень интересен секрет генерирования рандомного числа k для ECDSA подписей. В эмуляторе kirk на PS3 используют ch74 для генерирования 32 битного рандомного числа, затем отрезают от него 1 байт, и собирают в буфер из 0х28 таких байт, а потом сравнивают полученное большое число в буфере по модулю N. Этот N берут из параметров эллиптической кривой. Если разгадать секрет генерации этого k для ключей лоадеров, то можно повынимать все остальные недостающие priv ключи. Если же при 2 одинаковых k, для подсчёта priv (числа dA) сокращались переменные k, то при известных 2 числах k можно использовать метод подстановки.

ErikPshat
07.02.2018, 13:57
Fireball, верно говоришь, вот на практитке реальный механизм ECDSA на примере декриптовки IPL-загрузчика у PSP: https://github.com/ErikPshat/ipltool

Fireball
08.02.2018, 11:58
Fireball, верно говоришь, вот на практитке реальный механизм ECDSA на примере декриптовки IPL-загрузчика у PSP: https://github.com/ErikPshat/ipltool

Всё понятно. Тут делают srand(time(0)); а потом получают рандом и сравнивают его по модулю 0xFF rand() % 0xFF
такими остатками от деления заполняют буфер, пока число в буфере не будет больше, чем число N. Полученное в буфере число используется в качестве числа k.
А дальше всё как обычно: G умножаем на k и берём абсциссу полученной точки в качестве R и тд.
Интересно

ErikPshat
16.02.2018, 01:23
Ещё одно обновление scetool.exe (https://github.com/naehrwert/scetool/pull/3/files/1f73d25f4b5318cfae68a5089bde28fa985dc95a..0960be8ca4b4856fd8c3079f8a0d6d4e523e5b ad)

in1975
16.02.2018, 02:51
ErikPshat, скомпилируешь?

ErikPshat
16.02.2018, 08:17
in1975, так вот он готовый лежит: https://github.com/Sorvigolova/scetool/tree/master/Release
Команды немного другие.
scetool 0.3.0 (C) 2011-2013 by naehrwert
NP local license handling (C) 2012 by flatz
USAGE: scetool [options] command
COMMANDS Parameters Explanation
-h, --help Print this help.
-k, --print-keys List keys.
-i, --print-infos File-in Print SCE file info.
-d, --decrypt File-in File-out Decrypt/dump SCE file.
-e, --encrypt File-in File-out Encrypt/create SCE file.
OPTIONS Possible Values Explanation
-v, --verbose Enable verbose output.
-r, --raw Enable raw value output.
-t, --template File-in Template file (SELF only)
-0, --category SELF/RVK/PKG/SPP SCE File Type
-1, --compress-data TRUE/FALSE(default) Whether to compress data or not.
-s, --skip-sections TRUE(default)/FALSE Whether to skip sections or not.
-2, --key-revision e.g. 00,01,...,0A,... Key Revision
-m, --meta-info 64 bytes Use provided meta info to decrypt.
-K, --keyset 32(Key)16(IV)
40(Pub)21(Priv)1(CT) Override keyset.
-3, --program-auth-id e.g. 1010000001000003 Authentication ID
-4, --program-vendor-id e.g. 01000002 Vendor ID
-5, --program-type LV0/LV1/LV2/APP/ISO/
LDR/NPDRM Program Type
-A, --self-app-version e.g. 0001000000000000 Application Version
-6, --self-fw-version e.g. 0003004100000000 Firmware Version
-7, --self-add-shdrs TRUE(default)/FALSE Whether to add ELF shdrs or not.
-8, --self-ctrl-flags 32 bytes Override control flags.
-9, --self-cap-flags 32 bytes Override capability flags.
-a, --self-indiv-seed 256 bytes Individuals Seed (ISO only)
-b, --np-license-type LOCAL/FREE License Type
-c, --np-app-type SPRX/EXEC/USPRX/UEXEC App Type (U* for updates)
-f, --np-content-id Content ID
-l, --np-klicensee 16 bytes Override klicensee.
-g, --np-real-fname e.g. EBOOT.BIN Real Filename
-j, --np-add-sig TRUE/FALSE(default) Whether to add a NP sig. or not.

in1975
16.02.2018, 08:27
ErikPshat, в шапку добавил источник

ErikPshat
16.02.2018, 08:38
in1975, хотя в прошлый раз вон выше я тоже писал прог обновление и там так же версия у него scetool 0.3.0.

Fireball
20.02.2018, 03:41
Ребята, там же ничего особо не поменялось в самом последнем обновлении, просто был исправлен лоадер эллиптических кривых vsh. Версию менять не зачем.
Этот лоадер пока что используется для подписи NPDRM self файлов, а так как нет подлинного приватного ключа для неё - толку мало. Есть публичный ключ только, его можно использовать только для проверки таких подписей, в чем тоже смысл не велик.

Fireball
07.05.2018, 08:26
В общем, чтобы нам разгадать секрет генерирования числа K, нам надо понять, что же за байты они берут по модулю N.
Формула: k = x mod N.
где k и N - числа длиной в 20 байт,
x - некоторое число длиной в 40 байт.

Число N нам известно, это порядок используемой эллиптической кривой. Оно есть в параметрах кривых.

UPD:
Что мы имеем:
1) число k было постоянным для сигнатур с криптофейлами в пределах одного ключсета (разные ключи и одинаковые N дают разные k).
2) если изменять число x в пределах числа N, то число k будет меняться на разницу (x_второе - x_первое).
3) для всех сигнатур в .pkg файлах были одинаковые RS, при одинаковых hash от подписываемых данных.
То есть число k оставалось неизменным при неизменном хеше от подписываемых данных.

UPD2:
Надо вот что попробовать:
если для .pkg / .edat файлов число k "подсаливают", а соль вполне себе может быть равной sha1 хешу от данных, для некоторых случаев, будет справедливо уравнение:
(k_первое - k_второе) = (h_первое - h_второе)
где k_первое, k_второе - секретные числа первой сигнатуры и второй сигнатуры ,
h_первое, h_второе - хеши sha1 от подписываемых данных для первой и второй сигнатуры соответственно.
а т.к хеши - числа известные, то можно попробовать выразить k_второе через k_первое методом подстановки.
k1 - k2 = h1 - h2
k2 = k1 + (h2 - h1)
и попробовать использовать это для подсчёта прив ключа dA для edat и pkg.
Если облом: можно еще попробовать использовать не весь хеш, а только последние его 8 байт.

rhish777
16.05.2019, 21:26
scetool --verbose --skip-sections=FALSE --sce-type=SELF --compress-data=TRUE --key-revision=0A --self-app-version=0001000000000000 --self-auth-id=1010000001000003 --self-vendor-id=01000002 --self-ctrl-flags=0000000000000000000000000000000000000000000000000000000000000000 --self-cap-flags=00000000000000000000000000000000000000000000003B0000000100020000 --self-type=NPDRM --self-fw-version=0003005500000000 --np-license-type=FREE --np-app-type=EXEC --np-content-id=UP0181-FCEU90000_00-MLBTVPS3US000001 --np-real-fname=EBOOT.BIN --encrypt EBOOT.ELF EBOOT.BIN

Такой код используется в вебмен. Если кастомное приложение все равно не запустилось, то в коде нет ошибки. Значит на HEN его пока что запустить нельзя.

np-content-id можно в коде ставить любой. На работоспособности приложения не отображается.

in1975
16.05.2019, 21:39
это я использовал для *.sprx, sman так заработал, но работает нестабильно, видимо нужно код перебирать.


@scetool -0 SELF -1 TRUE -s FALSE -2 04 -3 1070000052000001 -4 01000002 -5 APP -6 0003004000000000 -A 0001000000000000 -8 4000000000000000000000000000000000000000000000000000000000000000 -9 00000000000000000000000000000000000000000000007B0000000100020000 -e $(PPU_PRX_TARGET) $(PPU_SPRX_TARGET)


в догонку еще один код.

Ang3l42
16.05.2019, 21:56
в догонку еще один код.

Он не увидит :D

rhish777
17.05.2019, 00:39
Он не увидит :D
Так там всего три варианта. Просто некоторые плагины работают без сжатия. А некоторые только с сжатием.
Как говориться HEN пока не стабилен ко всем подписям.

ErikPshat
26.06.2019, 22:22
На всякий случай сделал файл закладок HBK для Hex Workshop: ELF PS3 File Format.hbk (https://www.pspx.ru/forum/showpost.php?p=1107726) (архив всех закладок во вложении в шапке).
Как пользоваться закладками? - подробно расписано в теме Hex Workshop (https://www.pspx.ru/forum/showthread.php?t=91953)

Там разложил по полочкам формат EBOOT.ELF. Вдруг кому-то понадобится вычислить размер заголовка ELF, размер в виртуальной памяти и прочие данные:

16286

moju
15.09.2019, 11:24
не могу расшифровать пишет
Loaded keysets.
Loaded loader curves.
Loaded vsh curves.
Using keyset [appldr 0x0010 03.61]
Error: Could not load IDPS.
Error: Could not decrypt header.
или
Loaded keysets.
Loaded loader curves.
Loaded vsh curves.
Error: Could not process D:\Data3\EBOOT.BIN
вторая ошибка с дисковой версией

ErikPshat
15.09.2019, 11:50
moju, установите PS3 Tools Collection (https://www.pspx.ru/forum/showthread.php?t=106441) по пути по умолчанию.
Там всё это есть. Можете декриптовать с помощью C:\PS3\ps3tools\tools\scetool\ScetoolGuiPSPx.exe

Но проще, зайдите в папку C:\PS3\ps3tools\tools\EDAT_ReENCRYPT
Файлы кидайте в папку ENC
И декриптуйте батником EBOOT SELF SPRX ReENCRYPT for HEN.bat

moju
15.09.2019, 12:31
Спасибо заработало с PSN игры
а с дисковой игры пишет ...illeal input file format not a SELF
peror: No error

но всё равно СПАСИБО мне главное что что-то одно заработало

ErikPshat
15.09.2019, 21:01
а с дисковой игры пишет ...illeal input file format not a SELF
peror: No error
Ну так очевидно, тот дисковый EBOOT.BIN совсем не тот за кого себя выдаёт. Видимо вы недокачали дисковый образ, поэтому тот EBOOT.BIN извлёкся испорченным. Вы хоть посмотрите внутренности его, наверняка он вообще не SCE и даже не ELF, может быть там внутри только одна строка текста "Привет Мир!", а вы пытаетесь его декриптовать :D

jekakmv
16.09.2019, 15:13
keys (https://github.com/Zarh/ManaGunZ/blob/master/pkgfiles/USRDIR/sys/data/keys) - 1.37 (https://github.com/Zarh/ManaGunZ/commit/60120a39de7a37070d71551ed9ee00008118eb31)
ldr_curves (https://github.com/Zarh/ManaGunZ/blob/master/pkgfiles/USRDIR/sys/data/ldr_curves) - 1.26 (https://github.com/Zarh/ManaGunZ/commit/3559bcf523c65ac229610e8f927bafa3ddcecbc5)
vsh_curves (https://github.com/Zarh/ManaGunZ/blob/master/pkgfiles/USRDIR/sys/data/vsh_curves) - 1.26 (https://github.com/Zarh/ManaGunZ/commit/3559bcf523c65ac229610e8f927bafa3ddcecbc5)


Источник (https://github.com/Zarh/ManaGunZ/tree/master/pkgfiles/USRDIR/sys/data)

jokvader
23.08.2020, 01:15
Недавно узнал что репаки для CFW непойдут на HEN прошивке, из-за того что слишком старые.
А что бы это исправить нужно пофиксить репак при помощи этой программы.
Где то есть понятный туториал как при помощи scetool делается этот фикс?
На пример этот же пресловутый CS:GO для PS3 от d30n пофиксить.

in1975
23.08.2020, 20:12
jokvader, https://www.pspx.ru/forum/showthread.php?t=109279

alexgp
28.09.2020, 10:07
Этой прогой нужно переподписать инфемос фестиваль крови для хена ?

ErikPshat
28.09.2020, 21:51
Этой прогой нужно переподписать инфемос фестиваль крови для хена ?
А что там переподписать? Когда она готовая к употреблению лежит: https://www.pspx.ru/forum/showpost.php?p=1183104
Да, для самостоятельного переподписывания вам понадобится именно этот комплект утилит.

Инструкция тут: https://www.pspx.ru/forum/showthread.php?t=109279
А чуть попроще и покороче тут: https://www.pspx.ru/forum/showthread.php?t=109285

alexgp
30.09.2020, 15:07
А что там переподписать? Когда она готовая к употреблению лежит: https://www.pspx.ru/forum/showpost.php?p=1183104
Да, для самостоятельного переподписывания вам понадобится именно этот комплект утилит.

Инструкция тут: https://www.pspx.ru/forum/showthread.php?t=109279
А чуть попроще и покороче тут: https://www.pspx.ru/forum/showthread.php?t=109285


да уже увидел )

rupor
12.04.2022, 18:46
Вроде как последний scetool 0.3.1 и еще какие-то утилиты https://www.psx-place.com/threads/heres-a-bunch-of-new-explode-utilities-together-with-latest-scetool.36975/

in1975
13.04.2022, 08:17
Интересно.


#!/bin/sh

if [ $# -ne 2 ] ; then
echo "Usage: pupexplode <pup> <out_dir>"
echo "pupexplode expands all important files in a PUP and tries to decrypt every file as a self"
exit 1
fi

pup=$1
outdir=$2

cosunpack $pup $outdir || exit

cd $outdir || exit

cosunpack nand_update nand
cd nand

for f in NAND_UPDATE.pkg.*; do
unpkg $f ${f}_unpkg || exit
cat ${f}_unpkg/content >> mega_content.bin || exit
done

cd ..

cosunpack ros coreos
cd coreos

for f in *.pkg; do
unpkg $f ${f%.pkg}
done

cd ..

cosunpack coreos/CORE_OS_PACKAGE/content coreos/CORE_OS_PACKAGE/

for k in $(find . -name "*.self" -or -name "*.sprx" -or -name "*.isoself" -or -name "*ldr" -or -name "*lv0"); do
scetool -p ~/data -d $k ${k}.elf
done

#!/bin/sh

if [ $# -ne 2 ] ; then
echo "Usage: pupexplode <pup> <out_dir>"
echo "pupexplode expands all important files in a PUP and tries to decrypt every file as a self"
exit 1
fi

pup=$1
outdir=$2

cosunpack $pup $outdir || exit

cd $outdir || exit



cosunpack ros coreos
cd coreos

for f in *.pkg; do
unpkg $f ${f%.pkg}
done

cd ..

cosunpack coreos/CORE_OS_PACKAGE/content coreos/CORE_OS_PACKAGE/

for k in $(find . -name "*.self" -or -name "*.sprx" -or -name "*.isoself" -or -name "*ldr" -or -name "*lv0"); do
scetool -p ~/data -d $k ${k}.elf
done
#!/bin/sh

if [ $# -ne 2 ] ; then
echo "Usage: pupexplode <pup> <out_dir>"
echo "pupexplode expands all important files in a PUP and tries to decrypt every file as a self"
exit 1
fi

pup=$1
outdir=$2

cosunpack $pup $outdir || exit

cd $outdir || exit

cosunpack lv0_bank0 lv0_out
cosunpack individual indiv
cd indiv
cosunpack individual_1 one
cd ..

cosunpack os coreos
cd coreos

for f in *.pkg; do
unpkg $f ${f%.pkg}
done

cd ..

cosunpack coreos/CORE_OS_PACKAGE/content coreos/CORE_OS_PACKAGE/

for k in $(find . -name "*.self" -or -name "*.sprx" -or -name "*.isoself" -or -name "*ldr" -or -name "*lv0"); do
scetool -p ~/data -d $k ${k}.elf
done


#!/bin/sh

if [ $# -ne 2 ] ; then
echo "Usage: pupexplode <pup> <out_dir>"
echo "pupexplode expands all important files in a PUP and tries to decrypt every file as a self"
exit 1
fi

pup=$1
outdir=$2

pupunpack $pup $outdir || exit

cd $outdir || exit

mkdir update_files
cd update_files
tar xvf ../update_files.tar || exit

for f in dev_flash*; do
unpkg $f ${f}_unpkg || exit
tar xvf ${f}_unpkg/content || exit
done

for f in *.pkg; do
unpkg $f ${f%.pkg}
if [ $f = "CORE_OS_PACKAGE.pkg" ]; then
cosunpkg CORE_OS_PACKAGE/content CORE_OS_PACKAGE/
fi
done

for k in $(find . -name "*.self" -or -name "*.sprx" -or -name "*.isoself" -or -name "*ldr" -or -name "*lv0"); do
scetool -p ~/data -d $k ${k}.elf
done