From 10204bc16c02ebf028398237523f8b12f3d7344a Mon Sep 17 00:00:00 2001 From: Sorvigolova Date: Sun, 25 Mar 2018 21:12:36 +0400 Subject: [PATCH] Header parser fix 2 Another minor update --- Release/scetool.exe | Bin 258048 -> 258048 bytes src/sce.cpp | 2 ++ src/sce.h | 2 ++ src/self.cpp | 34 ++++++++++++++++++++++++---------- 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/Release/scetool.exe b/Release/scetool.exe index 328c6b90fcb6d73a70226c40dc1395b03739e984..1718d5448f00213a22ec1f6e9711d29f34db9447 100644 GIT binary patch delta 29682 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 CeYE-j delta 29508 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 diff --git a/src/sce.cpp b/src/sce.cpp index 26e7f56..2845620 100644 --- a/src/sce.cpp +++ b/src/sce.cpp @@ -57,7 +57,9 @@ void _print_metadata_info(FILE *fp, metadata_info_t *mi) { fprintf(fp, "[*] Encryption Root Header:\n"); _hexdump(fp, " Key", 0, mi->key, METADATA_INFO_KEY_LEN, FALSE); + _hexdump(fp, " ", 0, mi->key_pad, METADATA_INFO_KEY_LEN, FALSE); _hexdump(fp, " IV ", 0, mi->iv, METADATA_INFO_IV_LEN, FALSE); + _hexdump(fp, " ", 0, mi->iv_pad, METADATA_INFO_IV_LEN, FALSE); } void _print_metadata_header(FILE *fp, metadata_header_t *mh) diff --git a/src/sce.h b/src/sce.h index 1528b6c..7f0fbb1 100644 --- a/src/sce.h +++ b/src/sce.h @@ -81,6 +81,8 @@ #define OPT_HEADER_TYPE_CAP_FLAGS 1 /*! Individuals seed header. */ #define OPT_HEADER_TYPE_INDIV_SEED 2 +/*! Optional header 4. */ +#define OPT_HEADER_TYPE_4 4 /*! Metadata key/iv lengths. */ #define METADATA_INFO_KEYBITS 128 diff --git a/src/self.cpp b/src/self.cpp index ad43520..524c62f 100644 --- a/src/self.cpp +++ b/src/self.cpp @@ -296,21 +296,29 @@ void _print_opt_header(FILE *fp, opt_header_t *oh) { case OPT_HEADER_TYPE_CAP_FLAGS: { - oh_data_cap_flags_t *cf = (oh_data_cap_flags_t *)((u8 *)oh + sizeof(opt_header_t)); + if (_ES32(oh->size) == 0x30) + { + oh_data_cap_flags_t *cf = (oh_data_cap_flags_t *)((u8 *)oh + sizeof(opt_header_t)); - _IF_RAW(_hexdump(fp, " Flags", 0, (u8 *)cf, sizeof(oh_data_cap_flags_t), FALSE)); + _IF_RAW(_hexdump(fp, " Flags", 0, (u8 *)cf, sizeof(oh_data_cap_flags_t), FALSE)); - // _es_oh_data_cap_flags(cf); + // _es_oh_data_cap_flags(cf); - fprintf(fp, " unknown_3 0x%016llX\n", _ES64(cf->unk3)); - fprintf(fp, " unknown_4 0x%016llX\n", _ES64(cf->unk4)); + fprintf(fp, " unknown_3 0x%016llX\n", _ES64(cf->unk3)); + fprintf(fp, " unknown_4 0x%016llX\n", _ES64(cf->unk4)); - fprintf(fp, " Flags 0x%016llX [ ", _ES64(cf->flags)); - _print_cap_flags_flags(fp, cf); - fprintf(fp, "]\n"); + fprintf(fp, " Flags 0x%016llX [ ", _ES64(cf->flags)); + _print_cap_flags_flags(fp, cf); + fprintf(fp, "]\n"); - fprintf(fp, " unknown_6 0x%08X\n", _ES32(cf->unk6)); - fprintf(fp, " unknown_7 0x%08X\n", _ES32(cf->unk7)); + fprintf(fp, " unknown_6 0x%08X\n", _ES32(cf->unk6)); + fprintf(fp, " unknown_7 0x%08X\n", _ES32(cf->unk7)); + } + else + { + u8 *h1 = (u8 *)oh + sizeof(opt_header_t); + _hexdump(fp, " Data", 0, h1, _ES32(oh->size) - sizeof(opt_header_t), FALSE); + } } break; case OPT_HEADER_TYPE_INDIV_SEED: @@ -319,6 +327,12 @@ void _print_opt_header(FILE *fp, opt_header_t *oh) _hexdump(fp, " Seed", 0, is, _ES32(oh->size) - sizeof(opt_header_t), FALSE); } break; + case OPT_HEADER_TYPE_4: + { + u8 *h4 = (u8 *)oh + sizeof(opt_header_t); + _hexdump(fp, " Data", 0, h4, _ES32(oh->size) - sizeof(opt_header_t), FALSE); + } + break; } }