Merge pull request #61 from FabianFG/master

old uncompressed backups support + using aes key of current version if possible
This commit is contained in:
Valentin
2020-05-19 20:18:49 +02:00
committed by GitHub
3 changed files with 21 additions and 6 deletions

View File

@@ -14,7 +14,11 @@ namespace FModel.Grabber.Aes
{
if (NetworkInterface.GetIsNetworkAvailable())
{
BenResponse data = await Endpoints.GetJsonEndpoint<BenResponse>(Endpoints.BENBOT_AES).ConfigureAwait(false);
(_, string fortniteVersion, string _) = Utils.Paks.GetFortnitePakFilesPath();
BenResponse data = !string.IsNullOrEmpty(fortniteVersion)
? await Endpoints.GetJsonEndpoint<BenResponse>(Endpoints.BENBOT_AES, fortniteVersion)
.ConfigureAwait(false)
: await Endpoints.GetJsonEndpoint<BenResponse>(Endpoints.BENBOT_AES).ConfigureAwait(false);
return data;
}
else

View File

@@ -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) })

View File

@@ -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<string, FPakEntry>();
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)
{