From 6f7972e0db4196cc89afef9b06a90f905e41728d Mon Sep 17 00:00:00 2001 From: FabianFG Date: Tue, 19 May 2020 18:25:11 +0200 Subject: [PATCH 1/2] using aes key of the current installed version if available --- FModel/Grabber/Aes/AesData.cs | 6 +++++- FModel/Utils/Endpoints.cs | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/FModel/Grabber/Aes/AesData.cs b/FModel/Grabber/Aes/AesData.cs index 859df722..ee1039e3 100644 --- a/FModel/Grabber/Aes/AesData.cs +++ b/FModel/Grabber/Aes/AesData.cs @@ -14,7 +14,11 @@ namespace FModel.Grabber.Aes { if (NetworkInterface.GetIsNetworkAvailable()) { - BenResponse data = await Endpoints.GetJsonEndpoint(Endpoints.BENBOT_AES).ConfigureAwait(false); + (_, string fortniteVersion, string _) = Utils.Paks.GetFortnitePakFilesPath(); + BenResponse data = !string.IsNullOrEmpty(fortniteVersion) + ? await Endpoints.GetJsonEndpoint(Endpoints.BENBOT_AES, fortniteVersion) + .ConfigureAwait(false) + : await Endpoints.GetJsonEndpoint(Endpoints.BENBOT_AES).ConfigureAwait(false); return data; } else diff --git a/FModel/Utils/Endpoints.cs b/FModel/Utils/Endpoints.cs index 49a29a02..6a58e201 100644 --- a/FModel/Utils/Endpoints.cs +++ b/FModel/Utils/Endpoints.cs @@ -47,8 +47,8 @@ namespace FModel.Utils { if (url.Equals(BENBOT_HOTFIXES) && !string.IsNullOrEmpty(query)) url += $"?lang={Uri.EscapeDataString(query)}"; - /*else if (url.Equals(BENBOT_AES) && !string.IsNullOrEmpty(query)) - url += $"?version={Uri.EscapeDataString(query)}";*/ + else if (url.Equals(BENBOT_AES) && !string.IsNullOrEmpty(query)) + url += $"?version={Uri.EscapeDataString(query)}"; DebugHelper.WriteLine("{0} {1} {2} {3}", "[FModel]", "[Endpoints]", "[GET]", url); using (HttpClient client = new HttpClient { Timeout = TimeSpan.FromSeconds(3) }) From d04a94e4940a98d77302731c6744a7d12ec4b98f Mon Sep 17 00:00:00 2001 From: FabianFG Date: Tue, 19 May 2020 20:11:49 +0200 Subject: [PATCH 2/2] compatibility for old uncompressed backup files --- .../ViewModels/MenuItem/PakMenuItemViewModel.cs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/FModel/ViewModels/MenuItem/PakMenuItemViewModel.cs b/FModel/ViewModels/MenuItem/PakMenuItemViewModel.cs index 2536de7b..b44cc752 100644 --- a/FModel/ViewModels/MenuItem/PakMenuItemViewModel.cs +++ b/FModel/ViewModels/MenuItem/PakMenuItemViewModel.cs @@ -15,6 +15,7 @@ using PakReader.Parsers.Objects; using System; using System.Collections.Generic; using System.Collections.ObjectModel; +using System.Diagnostics.Eventing.Reader; using System.IO; using System.Linq; using System.Threading.Tasks; @@ -253,12 +254,22 @@ namespace FModel.ViewModels.MenuItem var oldFilesTemp = new Dictionary(); using FileStream fileStream = new FileStream(ofd.FileName, FileMode.Open); - using LZ4DecoderStream compressionStream = LZ4Stream.Decode(fileStream); - using (var target = new MemoryStream()) + BinaryReader checkReader = new BinaryReader(fileStream); + bool isLz4 = checkReader.ReadUInt32() == 0x184D2204u; + fileStream.Seek(0, SeekOrigin.Begin); + var target = new MemoryStream(); + if (isLz4) { + using LZ4DecoderStream compressionStream = LZ4Stream.Decode(fileStream); compressionStream.CopyTo(target); + } + else + { + fileStream.CopyTo(target); + } + using (target) + { target.Position = 0; - using BinaryReader reader = new BinaryReader(target); while (reader.BaseStream.Position < reader.BaseStream.Length) {