Сообщение от krekx
Ты хотя бы мог бы попробовать переподписать EBOOT
|
Да вот я тоже подхожу к такому выводу. посмотрел снова эти файлы. Оказывается ошибался, тело EBOOT подписано не методом SDAT, а методом EDAT. То есть, точно так же, как мы подписываем LIC.EDAT и оно работает! Нужно подписывать тело дисковой игры вот таким кодом:
make_npdata -e EBOOT_DISK.BIN EBOOT_NPD.BIN 1 1 1 1 16 3 01 %cID% 1
Вот что выдаёт при попытке декриптовать EBOOT NPD (без заголовка SCE и ELF)
make_npdata -d EBOOT_DISK.BIN EBOOT.ELF 1
NPD HEADER
NPD version: 1
NPD license: 3
NPD type: 1
NPD content ID: EP0002-BLES00148_00-CALLOFDUTYPATCH3
EDAT HEADER
EDAT flags: 0x5C719F8F
EDAT block size: 0x7C3A8535
EDAT file size: 0x88757AA0550D0F33
ERROR: NPD hash validation failed!
То есть, прога сдаёт сразу, что это не SDAT, а "EDAT HEADER", версия 1, тип лицензии 3. NPD тип 1.
А теперь разберём команду шифрования:
- make_npdata -e EBOOT_DISK.BIN EBOOT_NPD.BIN 1 1 1 1 16 3 01 cID 1
- 1 - Encryption mode only: <format>: 0 - SDAT; 1 - EDAT
- 1 - <data>: 0 - Debug data; 1 - Finalized data
- 1 - <version>: 1 - EDAT version 1
- 1 - <compress>: 0 - Disable compression; 1 - Enable compression
- 16 - <block>: Block size in KB (1, 2, 4, 8, 16, 32)
- 3 - Finalized EDAT only: <license>: 1 - Network license (not supported); 2 - Local license (uses RAP file as key); 3 - Free license (uses klic as key)
- 01 - <type>: 00 - Common; 01 - PS2 EDAT (смотрим ошибку декриптовки: NPD type: 1)
- cID - <cID>: Content ID (XXYYYY-AAAABBBBB_CC-DDDDDDDDDDDDDDDD)
- 1 - Encryption and decryption modes: <klic>: 0 - No key; 1 - NPDRM OMAC key 1 (free license key)