mirror of
https://github.com/goatcorp/Dalamud.git
synced 2026-02-08 00:44:36 +01:00
galaxy brain 2: bit of restructure (Bootstrap)
This commit is contained in:
parent
2438a89867
commit
350d2961c1
19 changed files with 345 additions and 136 deletions
47
Dalamud.Bootstrap/SqexArg/ArgumentDecoder.cs
Normal file
47
Dalamud.Bootstrap/SqexArg/ArgumentDecoder.cs
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
using System;
|
||||
|
||||
namespace Dalamud.Bootstrap.SqexArg
|
||||
{
|
||||
internal static class ArgumentDecoder
|
||||
{
|
||||
public static void Decode(ReadOnlySpan<char> argument, uint key)
|
||||
{
|
||||
// 1. strip //**sqex003 and **//
|
||||
// 2. extract checksum
|
||||
// 3. deduce upper nibble key
|
||||
// 4.
|
||||
|
||||
// //**c**//
|
||||
if (argument.Length <= 9)
|
||||
{
|
||||
throw new ArgumentException(nameof(argument));
|
||||
}
|
||||
|
||||
if (!argument.StartsWith("//**") || !argument.EndsWith("**//"))
|
||||
{
|
||||
throw new ArgumentException(nameof(argument));
|
||||
}
|
||||
|
||||
var payload = argument[4..^5];
|
||||
var checksum = argument[^5];
|
||||
|
||||
// undo url safe
|
||||
//payload.re
|
||||
|
||||
|
||||
|
||||
// stuff
|
||||
|
||||
}
|
||||
|
||||
private static void DecodeUrlSafeBase64(ReadOnlySpan<char> content)
|
||||
{
|
||||
var buffer = new byte[(content.Length / 3) * 4];
|
||||
if (!Convert.TryFromBase64Chars(payload, buffer, out var _))
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue