From 260cf8c6d9ee8209eddd7402cdaa210f51b433ae Mon Sep 17 00:00:00 2001 From: morkt Date: Mon, 15 Oct 2018 23:25:07 +0400 Subject: [PATCH] (EncryptionV3): in case of empty key use v2 decryption. --- ArcFormats/Qlie/Encryption.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ArcFormats/Qlie/Encryption.cs b/ArcFormats/Qlie/Encryption.cs index 1c1557bc..ff7ee8d3 100644 --- a/ArcFormats/Qlie/Encryption.cs +++ b/ArcFormats/Qlie/Encryption.cs @@ -179,7 +179,9 @@ namespace GameRes.Formats.Qlie /// Internal game data used to decrypt encrypted entries. /// null if not used. /// - public byte[] GameKeyData; + internal byte[] GameKeyData; + + internal bool GameKeyIsEmpty { get { return GameKeyData != null && GameKeyData.Length == 0; } } public EncryptionV3 (ArcView file, byte[] game_key) { @@ -213,7 +215,7 @@ namespace GameRes.Formats.Qlie public override void DecryptEntry (byte[] data, int offset, int length, QlieEntry entry) { var key_file = entry.KeyFile; - if (null == key_file) + if (null == key_file || GameKeyIsEmpty) { base.DecryptEntry (data, offset, length, entry); return;