From f26bc064c930a3780c61a36ab26980951ddc0606 Mon Sep 17 00:00:00 2001 From: morkt Date: Fri, 26 Feb 2016 22:14:30 +0400 Subject: [PATCH] (PackOpener): correctly handle version 3 archives without encryption. --- ArcFormats/Qlie/ArcQLIE.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ArcFormats/Qlie/ArcQLIE.cs b/ArcFormats/Qlie/ArcQLIE.cs index ba8f97a9..fcdb99f6 100644 --- a/ArcFormats/Qlie/ArcQLIE.cs +++ b/ArcFormats/Qlie/ArcQLIE.cs @@ -135,6 +135,8 @@ namespace GameRes.Formats.Qlie // currently, user is prompted to choose encryption scheme only if there's 'key.fkey' file found. if (key_file != null) arc_key = QueryEncryption(); + if (null == arc_key) + key_file = null; var key_data = new byte[0x100]; file.View.Read (file.MaxOffset-0x41C, key_data, 0, 0x100); @@ -170,7 +172,7 @@ namespace GameRes.Formats.Qlie entry.IsEncrypted = 0 != file.View.ReadInt32 (index_offset+0x14); entry.Hash = file.View.ReadUInt32 (index_offset+0x18); entry.KeyFile = key_file; - if (3 == pack_version && entry.Name.Contains ("pack_keyfile")) + if (3 == pack_version && null != arc_key && entry.Name.Contains ("pack_keyfile")) { // note that 'pack_keyfile' itself is encrypted using 'key.fkey' file contents. key_file = ReadEntryBytes (file, entry, name_key, arc_key);