ncch_container: support encrypted games

This commit is contained in:
wwylele 2018-07-28 18:30:54 +03:00
parent b92660435c
commit d4a808c885
17 changed files with 319 additions and 103 deletions

View file

@ -56,13 +56,6 @@ struct KeySlot {
std::array<KeySlot, KeySlotID::MaxKeySlotID> key_slots;
void ClearAllKeys() {
for (KeySlot& slot : key_slots) {
slot.Clear();
}
generator_constant.reset();
}
AESKey HexToKey(const std::string& hex) {
if (hex.size() < 32) {
throw std::invalid_argument("hex string is too short");
@ -141,8 +134,11 @@ void LoadPresetKeys() {
} // namespace
void InitKeys() {
ClearAllKeys();
static bool initialized = false;
if (initialized)
return;
LoadPresetKeys();
initialized = true;
}
void SetGeneratorConstant(const AESKey& key) {