==> NPDRM Key(set) Names <==
- [NP_tid]: Title ID OMAC1 key.
- [NP_ci]: Control info OMAC1 key.
- [NP_klic_free]: Free klicensee.
- [NP_klic_key]: klicensee key.
- [NP_idps_const]: IDPS constant.
- [NP_rif_key]: rif key.
- [NP_sig]: Footer signature ECDSA keyset.
==> Override Keyset <==
It should be a single hex-string consisting of:
32 bytes (Key) 16 bytes (IV) 40 bytes (Pub) 21 bytes (Priv) 1 byte (CType).
==> History <==
Version 0.2.9.2
- Extended Info for ELF Header and other types.
- Added keysets 19, 1A, 1B 1C 1D for 3.74 - 4.81 FW.
Version 0.2.9.1
- Minor update 0.0.1 --self-fw-version for APP by someone
http://www.maxconsole.com/threads/uniofficial-minor-update-to-scetool.31333/
Version 0.2.9
- Plaintext sections will now take less space in metadata header keys array.
- Added option to specifiy a template SELF to take configuration values from.
- Added option to override the keyset used for en-/decryption.
- Fixed NP application types.
- [Firmware Version] will now be written to control info only.
- [Application Version] will now be written to application info only.
Version 0.2.8 (intermediate release):
- Fixed minor bugs where scetool would crash.
- Added SPP parsing.
- Decrypting RVK/SPP will now write header+data to file.
Version 0.2.7:
- Added local NP license handling.
- Added option to override klicensee.
- Added option to disable section skipping (in SELF generation).
Version 0.2.5:
- Added option to use provided metadata info for decryption.
- "PS3" path environment variable will now be searched for keys/ldr_curves/vsh_curves too.
Version 0.2.4:
- Added option to display raw values.
- Moved factory Auth-IDs to <public build> (as they are on ps3devwiki now).
Version 0.2.2:
- Added options to override control/capability flags (32 bytes each).
- Fixed where a false keyset would crash scetool when decrypting a file.
- Some source level changes and optimizations.
Version 0.2.1:
- zlib is required to use scetool.
- 'sdk_type' was changed to 'revision' in data/keys.
==> Greetings to <==
- ps3dev.net
- you know who you are!
-v, --verbose Enable verbose output.
-r, --raw Enable raw value output.
-t, --template File-in Template file (SELF only)
-0, --sce-type 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, --self-auth-id e.g. 1010000001000003 Authentication ID
-4, --self-vendor-id e.g. 01000002 Vendor ID
-5, --self-type LV0/LV1/LV2/APP/ISO/
LDR/NPDRM SELF 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.
Расшифровка параметров:
Знак = (равно) указывать не обязательно, а в сокращённых командах запрещено, только через пробел или вообще без пробела.
--sce-type=SELF // указываем тип SCE, могут быть SELF/RVK/PKG/SPP
--compress-data=TRUE // указываем сжимать или нет, выставляем одно из двух - TRUE/FALSE(default)
--skip-sections=TRUE // указываем пропускать секции или нет, одно из двух - TRUE(default)/FALSE
--key-revision=0A // указываем Ревизию ключа в зависимости от прошивки - 00, 01, ..., 1D.
--self-auth-id=1010000001000003 // указываем ID Аутентификации, для ретэйл-игр и обновлений - всегда такой.
--self-vendor-id=01000002 // указываем ID Производителя, для CoreOs/dev_flash files/Games - всегда такой.
--self-type=APP // указываем тип приложения, для дисковых игр - APP, для PSN игр - NPDRM.
--self-app-version=0001000000000000 // указываем версию приложения, тут просто v1.0
--self-fw-version=0003005500000000 // указываем версию прошивки, под ревизию ключа 0A идёт прошивка 3.55
--self-cap-flags=00000000000000000000000000000000000000000000003B0000000100040000 // 32 байта capability флаги
--encrypt EBOOT.ELF EBOOT.BIN // указываем, что производим шифрование ELF в BIN
Введение
Это формат, используемый исполняемыми файлами на PS3. В нем есть определенный заголовок, который называется SCE-заголовком, где он хранит все параметры для этого процесса
SCE Header - Заголовок SCE
Он состоит из информации о структуре и смещениях self. Первая часть находится в открытом виде до Metadata Info.
Metadata Info - Информация о метаданных
Информация о метаданных сама по себе находится под AES 256 CBC. Эта часть содержит KEY + IV для дальнейшей расшифровки заголовка с использованием AES 128 CTR.
Metadata - Метаданные
Заголовок метаданных, Заголовки секций метаданных, Хеш секции, Возможности и Подпись находятся под AES 128 CTR слоем и дешифруются с помощью ключа выше.
Metadata Header - Заголовок метаданных
Заголовок метаданных содержит информацию, необходимую для аутентификации заголовка и структуры метаданных. Подпись представляет собой ECDSA хеша SHA1 собственного файла, начинающегося с 0x0 и заканчивающегося на 0x0 + signatureInputLength.
Data Sections - Секции данных
Секции данных могут быть зашифрованы с использованием AES 128 CTR и/или сжаты. HMAC-SHA1 используется для аутентификации, они не должны быть изменены.
Примечание: в этот формат могут быть подписаны не только файлы ELF/PRX, другие известные файлы с заголовком SCE:
revoke (e.g. RL_FOR_PACKAGE.img/RL_FOR_PROGRAM.img and pkg.srvk/prog.srvk)
spp (e.g. default.spp)
package (e.g. .pkg/.spkg_hdr.X)
edat
Криптография
Это небольшое резюме о том, как работает криптография в self. В основном здесь находятся шаги, выполняемые загрузчиками:
Все загрузчики имеют статический ключ и iv, называемый соответственно erk и riv, это ключи для первого этапа дешифрования, которые используются для дешифрования первых первых 0x40 байтов метаданных self, используя AES256CBC.
Затем результат используется как ключ и iv для дешифровки остальной части метаданных с использованием AESCTR, наконец, дешифрованные метаданные содержат ключи и iv для каждого раздела данных, которые все еще дешифруются через AES128CTR. Эта модель безопасности основана на том факте, что первые 0x40 байт метаданных self, однажды дешифрованные статическим ключом AES256CBC в загрузчике, никогда не должны быть одинаковыми от одного бинарника к другому. То же самое относится к любому другому значению, используемому в качестве ключа AES128CTR или iv.
Загрузчики также участвуют в распаковке бинарных файлов с использованием zlib.
SELF аутентичность основана на других независимых шагах, HMAC-SHA1 от секции данных и ECDSA для актуальной сигнатуры в заголовке.
SCE Header - Заголовок SCE
Для начала, перед разбором кода структуры заголовка, давайте разберёмся, что означают эти странные значения и столбцы.
Слева - мы видим смещение в файле, а через пробел - его название, столбиком по порядку, смещение за смещением.
Справа - мы видим комментарии к этому смещению, заключённые между символами /* ... */ (такой вид комментария может использоваться в многострочном режиме, тогда как такой вид // только в однострочном)
Что означают uint8_t, uint16_t, uint32_t, uint64_t?
Комментарий: Реальные данные ELF расположены после заголовка SCE (см. размер заголовка). Он зашифрован, если флаг не равен 0x8000. unfself работает, вырезав заголовок SCE из (фейкового) SELF.
typedef struct {
uint16 unknown_1;
uint16 unknown_2; //0x0001
uint32 unknown_3;
uint32 unknown_4; //Number of sections?
uint32 unknown_5;
////
uint64 offset; //Data offset.
uint64 size; //Data size.
//// <- these are supposed to be sections
} SCE_VERSION_DATA_30;
Control Information
Код:
typedef struct {
uint32_t type; // 1==control flags; 2==file digest; 3==npdrm
uint32_t size;
uint64_t next; // 1 if another Control Info structure follows 0 if not
Заголовок метаданных расположен после информации метаданных в файле SELF.
Он расшифровывается с использованием AES128CTR с помощью записей ключа и ivec из информации метаданных.
Длина входной сигнатуры - это количество байтов, которые используются для генерации SHA-1, который используется для генерации сигнатуры ECDSA. Длина должна быть от начала до самой подписи. Используется расшифрованная версия входных данных.
Это присутствует только в том случае, если присутствует метаданные.
Ключи метаданных (хеш раздела) расположены после заголовков раздела метаданных в файле SELF.
Количество ключей указывается в элементе keyCount в заголовке метаданных.
Они дешифруются с использованием AES128CTR с помощью записей ключа и ivec из информации метаданных.
Если sha1Index указывает на ключ, тогда ключ [sha1Index] и ключ [sha1Index + 1] образуют 160-битный хеш. Key [sha1Index + 2] на клавишу [key [sha1Index + 6] образуют 512-битный ключ для HMAC-SHA1. HMAC-SHA1 рассчитывается по дешифрованным данным и перед декомпрессией.
Capabilities Info
Код:
typedef struct {
uint32_t Type; // 1,2
uint32_t capabilities_size; // capabilities Type 1 0x30, Type 2 0x100
uint32_t next; // 1 if there is another cap flag structure after this, 0 if not
uint32_t unknown2;
uint64_t unknown3;
uint64_t unknown4;
uint64_t flags;
uint32_t unknown6;
uint32_t unknown7;
} __attribute__((packed)) CAPABILITIES_INFO;
В ScetoolGui.exe исправлены ссылки на Wiki - это в левом окне знак [?]
Архив в шапке обновлён.
rhish777
22.11.2016 14:29
Вот молодец. Теперь все ровненько стало.
ErikPshat
23.11.2016 15:50
scetool v0.2.9.1
UPDATE!
Небольшое обновление: - Добавлен вывод Meta Info Original. - Исправлено, когда в дисковых играх (категория APP) не добавлялась версия прошивки при подписи. В приватной версии открывается пункт вставки индивидуального Seed (--self-indiv-seed 256 bytes). Добавлена библиотека libz-1.dll.
here's the source code for visual c++/windows with some a few small updates
includes:
1. prints original meta info keys. the meta info keys are used to encrypt/decrypt the self metadata. official scetool displays the meta info keys after they have been incremented. The original keys are only useful for someone who wants to use the same keys as the original self. Use of the incremented keys would not give the same result.
1
in sce.cpp add 2 global variables for the key and iv after the includes and after:
Код:
aes_crypt_cbc(&aes_ctxt, AES_DECRYPT, sizeof(metadata_info_t), iv, (u8 *)ctxt->metai, (u8 *)ctxt->metai);
4. custom versions should display a separate version number in addition to the official version build number that they are based on (2.9). main.cpp line 147:
4
Код:
static void print_version()
{
printf("scetool " SCETOOL_VERSION " (C) 2011-2013 by naehrwert\n");
printf("NP local license handling (C) 2012 by flatz\n");
ErikPshat, ну вроде нормально все, крипт и декрипт без ошибок. Вот только работоспособность этого EBOOT сейчас возможности проверить нет.
ErikPshat
24.11.2016 11:39
rupor, не факт, что прямо так и заведётся. Для каждой игры нужно подбирать правильные параметры, там Ревизию ключа под версию прошивки, саму версию. Вернее, там практически менять него, там правильно уже выставлена Ревизия ключа и версия прошивки. Единственное, нужно правильно подобрать вот этот параметр:
Каким образом выдёргивать и откуда вообще брать эти флаги, пока не имею понятия. А этот флаг я взял от SELF Resigner, там подпись идёт под 4.10, на что намекают цифры в коде. Думаю там несколько флагов по 8 байт:
Находим официальный EBOOT.BIN от игры, который имеет MinVer для официальной прошивки, например 3.30/3.40/3.55 и т.д.. Это нужно, чтобы подписываемая игра работала на низших прошивках и имела меньшие ограничения.
С помощью того же GUI к scetool выписываем нужные параметры.
Декриптуем EBOOT.BIN в EBOOT.ELF
Подбираем параметры от этого же EBOOT.BIN и обратно шифруем EBOOT.ELF. Имейте в виду, что если оригинальный EBOOT.BIN в той же папке, то при шифровке он перезапишется.
Сравниваем оригинал и подписанный файл. Если они разные, например по MD5, значит подпись не удалась. Короче, нужно правильно подобрать все параметры так, чтобы обратно файл подписывался в точности так же, как оригинал.
Если параметры подобраны так, как надо и файл подписался точно так же, значит мы воспроизвели точную подпись Sony!
Теперь берём EBOOT.BIN от Мультимена и подписываем его под эту игру этими же параметрами.
Так же подписываем все сопутствующие модули Мультимена в SDAT, как это мы делаем с играми.
Создаём под него LIC.EDAT
Инжектируем в бэкап и отправляем на плойку. Должно запуститься, т.к. сэмулирована официальная подпись Сони.
Vanik
24.11.2016 13:57
ErikPshat, eboot должен быть от патча или может быть от самой игры?
rhish777
24.11.2016 14:02
Цитата:
Сообщение от ErikPshat
(Сообщение 1107911)
Ага, только вместо переменных, заключённых в процентах %_% нужно подставлять реальные значения.
Сравниваем оригинал и подписанный файл. Если они разные, например по MD5, значит подпись не удалась. Короче, нужно правильно подобрать все параметры так, чтобы обратно файл подписывался в точности так же, как оригинал.
Вот с этим пунктом и выходит косяк.
ErikPshat
24.11.2016 14:06
Цитата:
Сообщение от rhish777
(Сообщение 1107913)
Вот с этим пунктом и выходит косяк.
Потому что параметры левые. А нужно их вытащить у оригинала.
Цитата:
Сообщение от Vanik
(Сообщение 1107912)
ErikPshat, eboot должен быть от патча или может быть от самой игры?
От патча, потому что мы EBOOT.BIN берём от патча и заменяем в папке с дисковой игрой.
Отсюда вывод, что его нужно подписывать, как NPDRM, потому что патч PSN-овский.
rhish777, нет, я просто по ошибке взял другие параметры в батнике.
Я думаю ковырять игры, которые не имеют лик.дат в папке. Это, например, Call Of Juarez или CoD World at War. У них версии 2.4, но я почему-то не могу выбрать в качестве ревизии --key-revision=03, программа просто заканчивает работу и не меняет eboot. =\
in1975
24.11.2016 21:48
Цитата:
Сообщение от rhish777
(Сообщение 1107920)
Проверьте на официальной прошивке. Может заведется.
rhish777, так ты добился 100% совпадения подписки EBOOT.BIN с оригиналом? Думаю нет.
Из обновления нужно в точности брать оригиналы PARAM.SFO с иконками от патча, потому что они проверяются. Не на кастомной прошивке же запускать собираемся.
rhish777
24.11.2016 22:19
Цитата:
Сообщение от ErikPshat
(Сообщение 1107962)
rhish777, так ты добился 100% совпадения подписки EBOOT.BIN с оригиналом? Думаю нет.
Из обновления нужно в точности брать оригиналы PARAM.SFO с иконками от патча, потому что они проверяются. Не на кастомной прошивке же запускать собираемся.
А я и думаю откуда у меня такие значения??? Даже больше чем в оригинале :lol:
CODE
Код:
[*] SCE File Keys:
00: 39 F5 7B 12 7C F3 20 8D 18 3E 11 B5 39 2B 51 13
01: BC 39 EC 54 00 00 00 00 00 00 00 00 00 00 00 00
02: 40 CC 7C 21 53 BE A5 F4 48 EC 36 91 B1 B4 23 8F
03: 04 BB 23 E3 4A FA 04 D3 80 F5 D9 E4 80 EB 3A 39
04: 8B B7 F3 5E A1 30 75 34 A2 3E 8B 20 7F 43 E2 B7
05: 8F E1 84 92 EB 22 BF B5 16 58 36 6F F1 43 A1 C7
06: 46 7E 6A BC B0 CB 30 ED 85 C9 92 4B ED EE 18 58
07: 0C 36 7B 39 E6 A6 16 12 31 EB B4 AA A2 85 59 7D
08: F4 7B 7F C8 57 36 91 09 46 DA E7 79 1E 1F 07 85
09: 66 67 91 28 00 00 00 00 00 00 00 00 00 00 00 00
0A: A8 FF 85 8D C2 77 B5 B5 EC F2 FE 30 52 92 48 0C
0B: 8D E1 C8 F5 8C 85 77 80 9C 9B C7 CB 55 76 AF DD
0C: 11 ED 9F 17 A0 3E 0A 8F C4 69 27 25 13 2C CD BC
0D: 9D 4F 66 0F 38 72 B1 01 9F 60 55 9A A2 4B 32 C1
0E: E8 35 C6 29 A2 A8 16 BF 68 CF 38 9C 63 04 07 42
0F: AA E0 E5 87 F3 18 E5 BC 2D 53 B1 F0 68 77 35 1D
10: F6 ED E9 DB F6 A3 38 89 1E 3D 6E 70 F1 7D BF 87
11: A2 13 A5 11 00 00 00 00 00 00 00 00 00 00 00 00
12: 67 1C 45 B6 C0 49 70 54 B8 2E A6 23 0E 52 E7 DC
13: 5A B4 D2 72 A9 E3 23 F4 C3 E5 6C 93 CF D0 7B EB
14: A0 36 A1 22 72 21 1C 64 D7 FE 3C 88 67 0A EA CB
15: AB 4D 3D E2 6C CF 55 4C 3F C3 AC BC 1B 7D 78 A9
16: D4 F9 74 D4 3E DB 71 00 44 8D E7 68 85 BB F9 03
17: 70 B4 30 8B 41 69 4A 44 25 1B EB D4 1B 48 93 6B
18: 44 4E 66 80 62 15 71 2B 37 A2 89 5F C5 69 0C 59
19: 25 86 AA 50 00 00 00 00 00 00 00 00 00 00 00 00
1A: D0 68 CD 11 17 3C B5 28 6B 0A B6 C6 B7 ED 5F F6
1B: 59 04 D5 60 F2 2E 8B 89 1A 3E C4 E0 73 3B F9 46
1C: F2 6B 82 8C C4 C1 88 86 85 5A 52 A1 AB D9 35 DD
1D: AD 05 A2 71 16 20 00 EC 6C 4E C3 F6 CD 58 DD B3
1E: DA 78 27 80 96 90 F8 3B FC A5 24 B0 F6 7B 54 9A
1F: 3E 1A B7 EB 08 6B D7 DD 11 B8 D4 C3 DC DE A3 FD
20: DF A7 AF 5C 14 B5 6C C3 36 B7 09 96 43 E4 10 DE
21: A5 FD CB AC 00 00 00 00 00 00 00 00 00 00 00 00
22: 0E 86 B7 FB 9B A4 32 DE 11 9B A2 A9 32 BB 1E 64
23: 57 C7 6B 1E 65 89 07 07 CD 1F 91 FF 8D F3 FD 99
24: 2D D4 D5 F4 AA AD 57 84 B2 38 5E B1 9A 4B 24 03
25: 0F 62 5C 9B 51 84 63 27 5B C1 1F 7A F2 3D 8A 03
26: 58 96 1F 5F 77 17 B7 4F 07 6D 1D F6 D5 34 D7 00
27: 97 C5 B0 16 D9 D4 25 B5 7F 60 F3 0C CD 71 79 01
28: 98 7C 8E 22 8B 3A 02 FB 54 55 1B 96 E1 F5 B9 6F
29: 7F 2D F0 D4 00 00 00 00 00 00 00 00 00 00 00 00
2A: 6D AF F5 FF 81 8B E6 EB 6A 72 2E A6 BB 3B E2 CE
2B: F5 B6 76 A3 6C 74 0F 45 7B A5 06 C8 F9 CF 8F FC
2C: 31 9F E1 F1 CA 8E D0 EC 92 D9 BA EF F0 41 A9 7F
2D: 9E BD D7 C8 7A 26 E7 45 89 18 F4 8B 2E E6 00 F8
2E: 03 54 B0 E3 1E FF F8 FA DC A2 F3 6B D1 86 6B 92
2F: DD F5 6C 2E 6A DE 13 96 E1 A7 AD C9 2E DF 7B B9
30: 47 A2 F1 3D B9 AE CE 99 D4 B8 92 14 82 9D F6 BA
31: 4B A8 EA 9C 00 00 00 00 00 00 00 00 00 00 00 00
32: 65 82 2F DE 9D EE CF 9F 5D A8 81 65 FB 16 94 18
33: 8C C0 66 4A 4D D8 23 EB B2 69 5F 39 D9 65 CB F4
34: 6F 8E 56 AE C7 AE 8C 24 1B 1C EE 3D F9 15 AB 21
35: 2D F9 6E 41 62 CA 1D CB C7 60 0B B5 81 D4 C9 DC
36: 12 E0 92 9F CF C5 CC 05 89 BE A0 96 02 C9 0D 05
37: 1E DC B7 5B 8A 49 39 46 C8 9A DD B0 C4 82 9C 6F
38: 83 BA C9 51 06 7C 2A B9 90 10 11 BF EC 2D AF 5C
39: 15 F3 20 BD 00 00 00 00 00 00 00 00 00 00 00 00
3A: 08 09 6D 99 C3 5D 0A 44 69 2D 71 95 27 59 EE 95
3B: FB 8A 9F DA 04 A3 D9 61 AF 5F 1D 3E A0 27 AD 37
3C: DC 05 1E 4B 77 E5 99 9A D9 09 AB BB 4A 16 59 50
3D: 59 8F 50 AB 0E 42 87 91 A6 D6 79 5B 8D 13 EB 16
3E: D9 25 87 7A 96 E9 D2 D3 21 86 0F 39 56 EB FF DB
3F: D0 90 3D 9C B0 F5 77 A1 B3 3B 2D 8F 54 BD 97 62
40: 6B E0 39 25 47 6A 68 30 BE DC 82 90 EC 75 5C 6A
41: 14 89 F9 60 00 00 00 00 00 00 00 00 00 00 00 00
42: A2 2A D0 BF 27 45 3E 00 73 02 AD A3 4B 27 75 CF
43: 53 6B E3 20 71 EC 9B EA 37 97 7F 07 7B 5D 62 E8
44: D0 61 19 47 B7 D1 23 B6 8B F5 34 60 35 3D 10 6E
45: D8 C9 BB F6 38 87 08 11 1A 1A 0C 5C B1 48 2A 18
Я думаю этот параметр как раз наиболее важно подобрать с оригиналом.
rhish777 добавил 24.11.2016 в 22:19
Сколько смотрел EBOOT.BIN с защитой NPDRM у всей этот параметр такой.
Параметр EBOOT.BIN оригинального патча.
Код:
[*] SCE File Keys:
00: 73 53 CB F9 12 D1 DB 3E FF C5 8E 51 14 5E 31 4C
01: 8D 48 81 67 00 00 00 00 00 00 00 00 00 00 00 00
02: BE F7 E3 7B ED B1 84 8A 80 E1 04 6A BC F4 6C D3
03: 05 F3 B5 EF 89 D4 FC CB 2F 29 E9 44 52 4E C6 A1
04: 51 6B 81 C2 20 FE AE 22 26 66 85 6B 1F 7E 7F E9
05: 30 92 4A 8F 4D 27 3A 0E 04 D7 97 E1 0B 06 15 A7
06: 8F AF 37 70 A0 07 DA 5B 6A CA A2 87 31 94 C6 14
07: A9 88 BF 8B E9 96 AF 2B 6A AB DB 42 00 00 00 00
08: 8A 8F 36 E1 9E 92 40 75 99 F1 54 29 D1 6C 37 18
09: B7 CC 6C DA 00 00 00 00 00 00 00 00 00 00 00 00
0A: BE F7 E3 7B ED B1 84 8A 80 E1 04 6A BC F4 6C D3
0B: 05 F3 B5 EF 89 D4 FC CB 2F 29 E9 44 52 4E C6 A1
0C: 51 6B 81 C2 20 FE AE 22 26 66 85 6B 1F 7E 7F E9
0D: 30 92 4A 8F 4D 27 3A 0E 04 D7 97 E1 0B 06 15 A7
0E: 22 4A 32 64 C7 B1 28 E1 46 78 60 75 8C 5D 3B 17
0F: 15 9F C6 CB C4 E1 1D 59 FF BC 23 96 00 00 00 00
10: 43 EE 66 1A AB 3A A6 60 46 C6 83 5E 34 5E 96 8B
11: CF F2 6C 13 00 00 00 00 00 00 00 00 00 00 00 00
12: BE F7 E3 7B ED B1 84 8A 80 E1 04 6A BC F4 6C D3
13: 05 F3 B5 EF 89 D4 FC CB 2F 29 E9 44 52 4E C6 A1
14: 51 6B 81 C2 20 FE AE 22 26 66 85 6B 1F 7E 7F E9
15: 30 92 4A 8F 4D 27 3A 0E 04 D7 97 E1 0B 06 15 A7
16: 87 B3 5E 12 D6 C0 EE 28 1F 3F DE FB 78 01 8C 26
17: 9D 4E 1A A6 C6 D5 36 F0 7C 82 A1 E5 00 00 00 00
18: 43 EE 66 1A AB 3A A6 60 46 C6 83 5E 34 5E 96 8B
19: CF F2 6C 13 00 00 00 00 00 00 00 00 00 00 00 00
1A: BE F7 E3 7B ED B1 84 8A 80 E1 04 6A BC F4 6C D3
1B: 05 F3 B5 EF 89 D4 FC CB 2F 29 E9 44 52 4E C6 A1
1C: 51 6B 81 C2 20 FE AE 22 26 66 85 6B 1F 7E 7F E9
1D: 30 92 4A 8F 4D 27 3A 0E 04 D7 97 E1 0B 06 15 A7
1E: 87 B3 5E 12 D6 C0 EE 28 1F 3F DE FB 78 01 8C 26
1F: 9D 4E 1A A6 C6 D5 36 F0 7C 82 A1 E5 00 00 00 00
20: 43 EE 66 1A AB 3A A6 60 46 C6 83 5E 34 5E 96 8B
21: CF F2 6C 13 00 00 00 00 00 00 00 00 00 00 00 00
22: BE F7 E3 7B ED B1 84 8A 80 E1 04 6A BC F4 6C D3
23: 05 F3 B5 EF 89 D4 FC CB 2F 29 E9 44 52 4E C6 A1
24: 51 6B 81 C2 20 FE AE 22 26 66 85 6B 1F 7E 7F E9
25: 30 92 4A 8F 4D 27 3A 0E 04 D7 97 E1 0B 06 15 A7
26: 87 B3 5E 12 D6 C0 EE 28 1F 3F DE FB 78 01 8C 26
27: 9D 4E 1A A6 C6 D5 36 F0 7C 82 A1 E5 00 00 00 00
28: C7 C8 43 D4 7B 5C 0F 48 12 4B EE 40 DB 11 5F C6
29: 83 A6 E5 44 00 00 00 00 00 00 00 00 00 00 00 00
2A: BE F7 E3 7B ED B1 84 8A 80 E1 04 6A BC F4 6C D3
2B: 05 F3 B5 EF 89 D4 FC CB 2F 29 E9 44 52 4E C6 A1
2C: 51 6B 81 C2 20 FE AE 22 26 66 85 6B 1F 7E 7F E9
2D: 30 92 4A 8F 4D 27 3A 0E 04 D7 97 E1 0B 06 15 A7
2E: FC 8A 49 F3 D6 9A C1 6C 1F 1E 73 6A 18 F6 ED 76
2F: 97 EA 52 FC 00 00 00 00 00 00 00 00 00 00 00 00
30: BE F7 E3 7B ED B1 84 8A 80 E1 04 6A BC F4 6C D3
31: 05 F3 B5 EF 89 D4 FC CB 2F 29 E9 44 52 4E C6 A1
32: 51 6B 81 C2 20 FE AE 22 26 66 85 6B 1F 7E 7F E9
33: 30 92 4A 8F 4D 27 3A 0E 04 D7 97 E1 0B 06 15 A7
ErikPshat
25.11.2016 05:56
Сегодня наткнулся на целую кладезь утилит ps3tools.
Вы то тут все старые волки и наверняка всё давно знаете, а я только что заинтересовался PS3, поэтому всё начинаю с нуля и для меня это новое открытие.
В общем решил скомпилить это странное чудо, немного почесав репу, дотумкался как это дело реализовать...
В файле INSTALL как-то не для меня была написана инструкция, поэтому я пошёл другим путём и удачно получилось таким методом.
Так как там нет файла Makefile, а есть configure.ac, то пришлось сделать переконфигурацию командой autoreconf -i, таким образом получился файл configure, затем произвёл конфигурацию командой ./configure, после чего появился Makefile, теперь можно компилировать командой make.
Это я не от нефиг делать пишу, а для вас, детки. Учитесь, пока ваш Кэп живой.
ErikP@ErikPshat ~/ps3tools/trunk
$ ./configure
checking for a BSD-compatible install... /mingw/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /c/PSDK3v3/mingw/msys/1.0/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for __gmpz_init in -lgmp... yes
checking for inflate in -lz... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /c/PSDK3v3/mingw/msys/1.0/bin/grep
checking for egrep... /c/PSDK3v3/mingw/msys/1.0/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking arpa/inet.h usability... no
checking arpa/inet.h presence... no
checking for arpa/inet.h... no
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for inttypes.h... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for inline... inline
checking for off_t... yes
checking for size_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint64_t... yes
checking for uint8_t... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... yes
checking for getpagesize... yes
checking for working mmap... no
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for getpagesize... (cached) yes
checking for memset... yes
checking for strrchr... yes
checking for strstr... yes
checking for strtoul... yes
checking for strtoull... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
ErikP@ErikPshat ~/ps3tools/trunk
$ make
make all-am
make[1]: Entering directory `/home/ErikP/ps3tools/trunk'
CC tools.o
In file included from tools.c:29:0:
common.h:44:0: предупреждение: "ERROR" redefined
c:\psdk3v3\mingw\bin\../lib/gcc/mingw32/4.5.2/../../../../include/wingdi.h:313:0: замечание: this is the location of the previous definition
CC aes.o
CC sha1.o
CC ec.o
CC bn.o
CC mingw_mmap.o
mingw_mmap.c: В функции 'mingw_mmap':
mingw_mmap.c:38:31: предупреждение: приведение вызова функции типа 'long int' к несоответствующему типу 'void *'
CC sceverify.o
CCLD sceverify.exe
CC readself.o
CCLD readself.exe
CC readself2.o
CCLD readself2.exe
CC unself.o
CCLD unself.exe
CC self.o
self.c: В функции 'self_load_sections':
self.c:319:14: предупреждение: 'size' may be used uninitialized in this function
CC unself2.o
CCLD unself2.exe
CC makeself.o
CCLD makeself.exe
CC self_rebuilder.o
CCLD self_rebuilder.exe
CC ungpkg.o
CCLD ungpkg.exe
CC norunpack.o
CCLD norunpack.exe
CC pupunpack.o
CCLD pupunpack.exe
CC puppack.o
CCLD puppack.exe
CC unpkg.o
CCLD unpkg.exe
CC pkg.o
CCLD pkg.exe
CC cosunpkg.o
CCLD cosunpkg.exe
CC cospkg.o
CCLD cospkg.exe
CC cosunpack.o
CCLD cosunpack.exe
CC undat.o
CCLD undat.exe
CC dat.o
CCLD dat.exe
CC unspp.o
CCLD unspp.exe
CC eidsplitr.o
eidsplitr.c:6:1: предупреждение: no previous prototype for 'DumpEidData'
eidsplitr.c: В функции 'main':
eidsplitr.c:62:6: предупреждение: 'pPrefix' may be used uninitialized in this function
CCLD eidsplitr.exe
CC spp.o
CCLD spp.exe
CC scekrit.o
CCLD scekrit.exe
make[1]: Leaving directory `/home/ErikP/ps3tools/trunk'
ErikP@ErikPshat ~/ps3tools/trunk
Накомпилировалась целая куча утилит, думаю полезных, залил в шапку. Вот список:
Каким образом выдёргивать и откуда вообще брать эти флаги, пока не имею понятия. А этот флаг я взял от SELF Resigner, там подпись идёт под 4.10, на что намекают цифры в коде. Думаю там несколько флагов по 8 байт:
PS: Я понял так, если все патчи для игр привязаны к LIC.DAT значит они все же имеют лицензию. Значит нужно пытаться переподписать приложение или игру которая не имеет никакой привязки. Тогда нам должна улыбнуться удача.
rhish777, отлично, молодец, что копаешь. У меня пока не было времени этим заняться.
Постоянно отвлекают занятия по форуму, да ещё в личку, почему-то ко мне, каждый день пишут вопросы юзеры со всего мира по типу "How to install emulator gPspKai" или "Как вкрутить лампочку, чтобы не порезать руки". Уже начинает напрягать.
rhish777
27.11.2016 02:41
Цитата:
Сообщение от ErikPshat
(Сообщение 1108091)
rhish777, отлично, молодец, что копаешь. У меня пока не было времени этим заняться.
Постоянно отвлекают занятия по форуму, да ещё в личку, почему-то ко мне, каждый день пишут вопросы юзеры со всего мира по типу "How to install emulator gPspKai" или "Как вкрутить лампочку, чтобы не порезать руки". Уже начинает напрягать.
Я взял бесплатное приложение из стора NPUP31353 MLBTV PREMIUM и пытаюсь подпись на основе его сделать.
Так как для подписи нужно именно такое приложение без всяких привязок к EDAT, LIC.DAT, RIF, RIV и т. д...
Меня первое что смущает - это то, что первый Metadata Offset 0x00000480 такой всегда выходит.
А у подписанных EBOOT.BIN самой сони он такой Metadata Offset 0x000004A0
ErikPshat
27.11.2016 02:46
Цитата:
Сообщение от rhish777
(Сообщение 1108100)
Меня первое что смущает - это то, что первый Metadata Offset 0x00000480 такой всегда выходит.
А у подписанных EBOOT.BIN самой сони он такой Metadata Offset 0x000004A0
И никак не получается его изменить? Никакими параметрами?
Значит в исходниках так наглухо закреплено, если это так.
Это получается, что EBOOT создаётся на 0x20 байтов меньше. Это же адресация блока, где начинаются метаданные.
И никак не получается его изменить? Никакими параметрами?
Значит в исходниках так наглухо закреплено, если это так.
Оно и понятно. Никто не пытался по сей день подписать файлы для официальной прошивки.
И тот огромный ключ [*] SCE File Keys: который я вставлял постом выше, тоже не понятно как генерируется.
Не могу подобрать как не извращаюсь с параметрами. Всегда выходит либо больше оригинала, либо меньше.
А размер получаемого файла и вовсе всегда меньше оригинала. Это говорит о том что каких то еще параметров в утилите все еще нет.
rhish777
27.11.2016 03:40
ErikPshat,
33 строки кода. это я уже видел. Именно это скорее всего отвечает за запуск.
Сегодня как буду дома попробую подписать своим IDPS. Этот пункт в scetool меня больше всего заинтересовал.
ErikPshat
27.11.2016 03:59
[*] SCE File Keys:
Код:
[*] SCE File Keys:
00: 73 53 CB F9 12 D1 DB 3E FF C5 8E 51 14 5E 31 4C
01: 8D 48 81 67 00 00 00 00 00 00 00 00 00 00 00 00
02: BE F7 E3 7B ED B1 84 8A 80 E1 04 6A BC F4 6C D3
03: 05 F3 B5 EF 89 D4 FC CB 2F 29 E9 44 52 4E C6 A1
04: 51 6B 81 C2 20 FE AE 22 26 66 85 6B 1F 7E 7F E9
05: 30 92 4A 8F 4D 27 3A 0E 04 D7 97 E1 0B 06 15 A7
06: 8F AF 37 70 A0 07 DA 5B 6A CA A2 87 31 94 C6 14
07: A9 88 BF 8B E9 96 AF 2B 6A AB DB 42 00 00 00 00
08: 8A 8F 36 E1 9E 92 40 75 99 F1 54 29 D1 6C 37 18
09: B7 CC 6C DA 00 00 00 00 00 00 00 00 00 00 00 00
0A: BE F7 E3 7B ED B1 84 8A 80 E1 04 6A BC F4 6C D3
0B: 05 F3 B5 EF 89 D4 FC CB 2F 29 E9 44 52 4E C6 A1
0C: 51 6B 81 C2 20 FE AE 22 26 66 85 6B 1F 7E 7F E9
0D: 30 92 4A 8F 4D 27 3A 0E 04 D7 97 E1 0B 06 15 A7
0E: 22 4A 32 64 C7 B1 28 E1 46 78 60 75 8C 5D 3B 17
0F: 15 9F C6 CB C4 E1 1D 59 FF BC 23 96 00 00 00 00
10: 43 EE 66 1A AB 3A A6 60 46 C6 83 5E 34 5E 96 8B
11: CF F2 6C 13 00 00 00 00 00 00 00 00 00 00 00 00
12: BE F7 E3 7B ED B1 84 8A 80 E1 04 6A BC F4 6C D3
13: 05 F3 B5 EF 89 D4 FC CB 2F 29 E9 44 52 4E C6 A1
14: 51 6B 81 C2 20 FE AE 22 26 66 85 6B 1F 7E 7F E9
15: 30 92 4A 8F 4D 27 3A 0E 04 D7 97 E1 0B 06 15 A7
16: 87 B3 5E 12 D6 C0 EE 28 1F 3F DE FB 78 01 8C 26
17: 9D 4E 1A A6 C6 D5 36 F0 7C 82 A1 E5 00 00 00 00
18: 43 EE 66 1A AB 3A A6 60 46 C6 83 5E 34 5E 96 8B
19: CF F2 6C 13 00 00 00 00 00 00 00 00 00 00 00 00
1A: BE F7 E3 7B ED B1 84 8A 80 E1 04 6A BC F4 6C D3
1B: 05 F3 B5 EF 89 D4 FC CB 2F 29 E9 44 52 4E C6 A1
1C: 51 6B 81 C2 20 FE AE 22 26 66 85 6B 1F 7E 7F E9
1D: 30 92 4A 8F 4D 27 3A 0E 04 D7 97 E1 0B 06 15 A7
1E: 87 B3 5E 12 D6 C0 EE 28 1F 3F DE FB 78 01 8C 26
1F: 9D 4E 1A A6 C6 D5 36 F0 7C 82 A1 E5 00 00 00 00
20: 43 EE 66 1A AB 3A A6 60 46 C6 83 5E 34 5E 96 8B
21: CF F2 6C 13 00 00 00 00 00 00 00 00 00 00 00 00
22: BE F7 E3 7B ED B1 84 8A 80 E1 04 6A BC F4 6C D3
23: 05 F3 B5 EF 89 D4 FC CB 2F 29 E9 44 52 4E C6 A1
24: 51 6B 81 C2 20 FE AE 22 26 66 85 6B 1F 7E 7F E9
25: 30 92 4A 8F 4D 27 3A 0E 04 D7 97 E1 0B 06 15 A7
26: 87 B3 5E 12 D6 C0 EE 28 1F 3F DE FB 78 01 8C 26
27: 9D 4E 1A A6 C6 D5 36 F0 7C 82 A1 E5 00 00 00 00
28: C7 C8 43 D4 7B 5C 0F 48 12 4B EE 40 DB 11 5F C6
29: 83 A6 E5 44 00 00 00 00 00 00 00 00 00 00 00 00
2A: BE F7 E3 7B ED B1 84 8A 80 E1 04 6A BC F4 6C D3
2B: 05 F3 B5 EF 89 D4 FC CB 2F 29 E9 44 52 4E C6 A1
2C: 51 6B 81 C2 20 FE AE 22 26 66 85 6B 1F 7E 7F E9
2D: 30 92 4A 8F 4D 27 3A 0E 04 D7 97 E1 0B 06 15 A7
2E: FC 8A 49 F3 D6 9A C1 6C 1F 1E 73 6A 18 F6 ED 76
2F: 97 EA 52 FC 00 00 00 00 00 00 00 00 00 00 00 00
30: BE F7 E3 7B ED B1 84 8A 80 E1 04 6A BC F4 6C D3
31: 05 F3 B5 EF 89 D4 FC CB 2F 29 E9 44 52 4E C6 A1
32: 51 6B 81 C2 20 FE AE 22 26 66 85 6B 1F 7E 7F E9
33: 30 92 4A 8F 4D 27 3A 0E 04 D7 97 E1 0B 06 15 A7
Вот такая повторяющаяся закономерность:
Код:
00: 73 53 CB F9 12 D1 DB 3E FF C5 8E 51 14 5E 31 4C
01: 8D 48 81 67 00 00 00 00 00 00 00 00 00 00 00 00
Код:
02: BE F7 E3 7B ED B1 84 8A 80 E1 04 6A BC F4 6C D3
03: 05 F3 B5 EF 89 D4 FC CB 2F 29 E9 44 52 4E C6 A1
04: 51 6B 81 C2 20 FE AE 22 26 66 85 6B 1F 7E 7F E9
05: 30 92 4A 8F 4D 27 3A 0E 04 D7 97 E1 0B 06 15 A7
Код:
06: 8F AF 37 70 A0 07 DA 5B 6A CA A2 87 31 94 C6 14
07: A9 88 BF 8B E9 96 AF 2B 6A AB DB 42 00 00 00 00
Код:
08: 8A 8F 36 E1 9E 92 40 75 99 F1 54 29 D1 6C 37 18
09: B7 CC 6C DA 00 00 00 00 00 00 00 00 00 00 00 00
Код:
0A: BE F7 E3 7B ED B1 84 8A 80 E1 04 6A BC F4 6C D3
0B: 05 F3 B5 EF 89 D4 FC CB 2F 29 E9 44 52 4E C6 A1
0C: 51 6B 81 C2 20 FE AE 22 26 66 85 6B 1F 7E 7F E9
0D: 30 92 4A 8F 4D 27 3A 0E 04 D7 97 E1 0B 06 15 A7
rhish777, погоди, я пока пытаюсь выяснить, откуда берутся такие цифры. Имеешь в виду keyset?
Ну пока код рабочий и подписывается. Что интересно, вот эти Digest 1 и 2 меня 2-ой генерится откуда-то, а первый правильный.
Код:
[*] Control Info
Type Digest
Size 0x00000040
Next [TRUE]
Digest 1 62 7C B1 80 8A B9 38 E3 2C 8C 09 17 08 72 6A 57
9E 25 86 E4
Digest 2 2A 85 C8 28 02 28 75 E8 21 6A 12 E9 69 BA 05 EB
16 DA 56 FA
Посмотри в хексе, перед секцией NPD эти 2 ключа вписаны. Но ведь я их не вводил, значит они откуда-то беруться или это хеши каких-то секций.
rhish777, кстати, я этот свой код снова решил проверить в консоли и постоянно он выдаёт ошибки. Пол дня чесал репу, думал чо за фигня, ведь точно знаю, что обратный слеш делает перенос строки и вот же тестировал этот код и он отлично отрабатывал. Потом обнаружил, что запустил стандартную консоль Windows. А такой код оказывается в ней не работает :D И вспомнил, что я же запускал код из-под консоли MinGW через msys.bat.
А у тебя этот код хоть отрабатывал?
rhish777
27.11.2016 20:25
Цитата:
Сообщение от ErikPshat
(Сообщение 1108148)
rhish777, кстати, я этот свой код снова решил проверить в консоли и постоянно он выдаёт ошибки. Пол дня чесал репу, думал чо за фигня, ведь точно знаю, что обратный слеш делает перенос строки и вот же тестировал этот код и он отлично отрабатывал. Потом обнаружил, что запустил стандартную консоль Windows. А такой код оказывается в ней не работает :D И вспомнил, что я же запускал код из-под консоли MinGW через msys.bat.
А у тебя этот код хоть отрабатывал?
Обрабатывал если убрать слеши. Ну я проверял нечего не запускается стандартная ошибка с 17 на конце.
А если подписать через IDPS то получается сообщение что нужно купить игру.
Все же какого то параметра не хватает что бы запустить на официальной. Всегда ошибка с 17 на конце.
Но тогда мне не ясно почему от дисковой версии подпись давно найдена... Может NPDRM способ подписи старый в SCETOOL? Или просто сони нельзя забанить ключи от дисковой версии так как их миллион раскупили?
Одни догадки.
in1975
27.11.2016 21:53
а нельзя обмануть через патч? оригинальный патч ссылается на подделку (дискового типа)?
rhish777
27.11.2016 22:10
Цитата:
Сообщение от in1975
(Сообщение 1108179)
а нельзя обмануть через патч? оригинальный патч ссылается на подделку (дискового типа)?
why when i resign the original eboot of angry birds to npdrm eboot , the " Random Pad 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " is 00....???
i can put the Metadata Offset 0x000004A0, but have this problem of the random pad...
its because the klic key is not correct whe i decrypt and encrypt the eboot?
rhish777
29.11.2016 22:03
Цитата:
Сообщение от funsnake
(Сообщение 1108372)
why when i resign the original eboot of angry birds to npdrm eboot , the " Random Pad 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " is 00....???
i can put the Metadata Offset 0x000004A0, but have this problem of the random pad...
its because the klic key is not correct whe i decrypt and encrypt the eboot?
Because there is not yet a full signature.
Я уже писал что какого то параметра все еще не хватает в scetool потому проверочный ключ не совпадает с таким как в спойлере
code sing EBOOT.BIN
Код:
[*] SCE File Keys:
00: 6D 15 D5 23 F7 DD A0 A6 42 71 EC 0D E9 02 D2 E6
01: 15 99 11 13 00 00 00 00 00 00 00 00 00 00 00 00
02: 4F 3C D1 77 46 F4 38 21 83 83 B4 24 CD 55 48 3C
03: 4B AA F0 17 AE 05 87 B5 36 70 5C C6 67 9C 0B 6E
04: 83 1A 1A FC FB F4 99 E7 3F F3 5A 22 6E 73 9E BE
05: 01 3C A5 A0 04 5E 08 AF 33 92 FD 8E 08 95 08 EA
06: 48 1F 81 F1 F8 FE 5F 37 E7 6B 14 50 E5 49 DB 44
07: 55 3D 26 88 56 FF F7 D2 BB 4B BD 69 FE 33 3D E8
08: 42 EA 8B 1E 56 DD 79 19 F9 E0 7E D3 E6 18 05 3C
09: 59 96 6C 49 00 00 00 00 00 00 00 00 00 00 00 00
0A: 1A DD 6A AC ED DE 4C F8 D1 73 C3 1A 91 0F AD DA
0B: E4 CF E8 FD 14 63 09 B4 78 4E 88 80 6B B7 82 2F
0C: B2 C9 C1 92 ED A8 BD AF B3 F5 F6 C4 7C B8 7C 8E
0D: 32 44 17 AC 24 96 67 A8 D2 04 65 97 A9 BB CA C7
0E: A8 FD 4F 98 CD 9E 97 0A 8D E4 44 A3 CE 4D 69 75
0F: 3E 4B 21 57 88 B0 EE 3F 02 6C 47 26 1E 4F 73 51
10: 7D F0 0F 84 BD E8 4C E8 C0 F2 A3 D5 30 D4 DE 77
11: 32 96 83 E2 00 00 00 00 00 00 00 00 00 00 00 00
12: EC F4 53 E7 7C D4 96 69 8B A4 72 75 FE 22 8B 0E
13: 14 73 D0 E0 45 4E A6 6A FC F8 0B 26 87 27 B5 AD
14: 21 18 C3 E8 B6 72 B8 A0 92 5B 74 CA 84 0F 33 1D
15: 61 4F BD FD AE 00 B2 3E EF 01 C6 7B 50 82 C5 3C
16: 27 FD A9 43 07 6D 2C 1B 3C B8 8A F6 15 FD E8 ED
17: FB E1 41 7E 95 1B 99 23 D1 B6 25 7B 35 1C 78 51
18: 1D 27 1C B8 AB B8 92 D6 86 AB 9A 74 A1 8A 11 4D
19: C2 F1 91 5E 00 00 00 00 00 00 00 00 00 00 00 00
1A: 43 37 95 0C 8D EB BE E9 27 A1 B4 37 0A D1 48 07
1B: 3B 7E 70 13 4A AC 9C 85 2C 00 CB 70 D9 F3 4A 9A
1C: B1 E3 07 65 95 7D DB E7 BC 93 C4 5C DD 0D DD 1E
1D: EC 5B A6 41 6F E3 67 C3 A6 F7 21 65 35 32 66 09
1E: CA 4C 11 E8 DB 81 74 76 31 EE 03 4D C0 4B 7D FF
1F: 45 CB FF DF 77 D9 FD 33 96 58 BF 35 70 B4 5F D8
20: 9E 06 D3 18 F4 C0 93 40 04 DE 62 5B 07 7A 56 BA
21: 1C C6 51 8E 00 00 00 00 00 00 00 00 00 00 00 00
22: F5 0F 1D 59 0F 10 6F 77 55 17 A9 3D AC 50 BB 63
23: C9 DA 2D D3 DD 43 E0 FC 04 F9 EC 80 91 25 C9 EA
24: 9B 40 67 B3 66 6D 97 80 4A D8 37 BE D3 F6 E1 F9
25: AB 62 07 C3 27 17 C3 B7 91 C2 9E 85 DF CF 02 7D
26: 35 49 60 82 EE E8 1C 5B 90 70 E7 29 36 54 56 83
27: BA 97 67 2E 17 A2 92 53 F5 9C 15 46 0F E6 B6 2F
28: BF 54 F1 76 C0 91 B1 F6 91 E9 C4 D9 6E 1D AE FC
29: 9E C6 5A F8 00 00 00 00 00 00 00 00 00 00 00 00
2A: F2 DE 63 2F 3A 41 03 0E C3 8D 6F DE A6 24 4E CA
2B: 00 AC F4 76 70 A1 02 FD 5C 62 F6 68 E5 18 67 6C
2C: C6 1F E7 25 2F 49 8D 35 E0 F7 86 C0 09 12 CD 54
2D: 48 49 7C 92 1F 88 B5 D6 8E 9F 8A 62 D5 E8 6C 17
2E: A9 B9 BD 5F 6C D9 F1 9A 2C 28 C1 99 12 3E 1D 94
2F: 6D 68 B2 CB 00 00 00 00 00 00 00 00 00 00 00 00
30: C4 AE 16 E2 92 B6 43 30 5B 00 2D 19 3D D8 7B EA
31: 6A 8B CE 0D 57 0A C1 06 64 5E 77 54 E2 23 08 2D
32: 4E 75 9C AA 4D 14 3C 28 75 31 7B 60 E4 05 92 9F
33: E1 23 88 E4 37 10 58 FE 3C 40 5D 56 56 25 F9 93
Любой хоть дисковый, хоть NPDRM должен ровняется именно этому ключу в 33 секции по 16 байт. Причем если смотреть через хекс редактор, этого ключа не увидеть. Его друзья мои именно нужно подобрать. Тогда любые приложение какие хочешь можно будет запустить на OFW