diff --git a/src/PSOEncryption.hh b/src/PSOEncryption.hh index 4cc7d1ba..e324dba5 100644 --- a/src/PSOEncryption.hh +++ b/src/PSOEncryption.hh @@ -114,7 +114,12 @@ public: } __attribute__((packed)); InitialKeys initial_keys; PrivateKeys private_keys; - Subtype subtype; + // This field only really needs to be one byte, but annoyingly, some + // compilers pad this structure to a longer alignment, presumably because + // the unions above contain structures with 32-bit alignment. To prevent + // this structure's size from not matching the .nsk files' sizes, we use + // an unnecessarily large size for this field. + le_uint64_t subtype; } __attribute__((packed)); PSOBBEncryption(const KeyFile& key, const void* seed, size_t seed_size); diff --git a/system/blueburst/keys/default.nsk b/system/blueburst/keys/default.nsk index 24b675c8..ea840287 100644 Binary files a/system/blueburst/keys/default.nsk and b/system/blueburst/keys/default.nsk differ diff --git a/system/blueburst/keys/jsd1.nsk b/system/blueburst/keys/jsd1.nsk index 4053a871..558f4af4 100644 Binary files a/system/blueburst/keys/jsd1.nsk and b/system/blueburst/keys/jsd1.nsk differ diff --git a/system/blueburst/keys/mocb1.nsk b/system/blueburst/keys/mocb1.nsk index e77a6ba3..8052884d 100644 Binary files a/system/blueburst/keys/mocb1.nsk and b/system/blueburst/keys/mocb1.nsk differ diff --git a/system/blueburst/keys/tethealla.nsk b/system/blueburst/keys/tethealla.nsk index e5e1b584..5477fee8 100644 Binary files a/system/blueburst/keys/tethealla.nsk and b/system/blueburst/keys/tethealla.nsk differ diff --git a/system/blueburst/keys/tfs1.nsk b/system/blueburst/keys/tfs1.nsk index de83d6ee..265aa12f 100755 Binary files a/system/blueburst/keys/tfs1.nsk and b/system/blueburst/keys/tfs1.nsk differ