Change static auth seed to work in all supported versions of this launcher. Check the old readme file.

This commit is contained in:
Fabian
2024-05-26 08:46:54 +02:00
parent 7b81b007cb
commit 9bbabafee8
4 changed files with 1 additions and 34 deletions

View File

@@ -16,8 +16,6 @@ static class LaunchOptions
public static Option<bool> KeepCache = new("--keepcache", () => true);
public static Option<bool> UseStaticAuthSeed = new("--staticseed");
public static Option<bool> DevMode = new("--dev", () => true, "Required for local development without valid certificates.");
public static Option<string> VersionUrl = new("--versionurl");
public static Option<string> CdnsUrl = new("--cdnsurl");
public static Option<string> ProductName = new("--product", () => "wow");
public static Option<string> CdnRegion = new("--region", () => "EU");
public static Option<bool> SkipConnectionPatching = new("--skip", () => false, "Allows connection to servers that come with already patched clients.");
@@ -41,8 +39,6 @@ static class LaunchOptions
KeepCache,
UseStaticAuthSeed,
DevMode,
VersionUrl,
CdnsUrl,
ProductName,
CdnRegion,
GameConfig,

View File

@@ -172,29 +172,6 @@ static class Launcher
Console.WriteLine();
Console.ResetColor();
// Assign the region and product dependent version url to check it's online status.
var versionUrl = commandLineResult.GetValueForOption(LaunchOptions.VersionUrl)
?? Patches.Common.GetVersionUrl(clientVersion.Build, commandLineResult.GetValueForOption(LaunchOptions.CdnRegion),
commandLineResult.GetValueForOption(LaunchOptions.ProductName));
if (!CheckUrl(versionUrl, fallbackUrl: Patterns.Common.VersionUrl).GetAwaiter().GetResult())
versionUrl = Patterns.Common.VersionUrl;
else
// Assign the region and product independent version url.
versionUrl = commandLineResult.GetValueForOption(LaunchOptions.VersionUrl) ?? Patches.Common.GetVersionUrl(clientVersion.Build);
var cdnsUrl = commandLineResult.GetValueForOption(LaunchOptions.CdnsUrl) ?? Patches.Common.CdnsUrl;
if (!CheckUrl(cdnsUrl, fallbackUrl: Patterns.Common.CdnsUrl).GetAwaiter().GetResult())
cdnsUrl = Patterns.Common.CdnsUrl;
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine("Game CDN connection info:");
Console.WriteLine($"Version file: {versionUrl}");
Console.WriteLine($"CDNs file: {cdnsUrl}");
Console.WriteLine();
Console.ResetColor();
var startupInfo = new StartupInfo();
var processInfo = new ProcessInformation();
@@ -237,7 +214,7 @@ static class Launcher
memory.RefreshMemoryData((int)gameAppData.Length);
// We need to cache this here since we are using our RSA modulus as auth seed.
var modulusOffset = memory.Data.FindPattern(Patterns.Common.SignatureModulus);
var modulusOffset = memory.Data.FindPattern(Patterns.Common.CryptoRsaModulus);
var legacyCertMode = clientVersion is (1, >= 14, <= 3, _) or (3, 4, <= 1, _) or (9, _, _, _) or (10, <= 1, < 5, _);
if (!commandLineResult.GetValueForOption(LaunchOptions.SkipConnectionPatching))
@@ -262,8 +239,6 @@ static class Launcher
: memory.PatchMemory(Patterns.Common.CryptoRsaModulus, Patches.Common.RsaModulus, "GameCrypto RsaModulus"),
memory.PatchMemory(Patterns.Common.Portal, Patches.Common.Portal, "Login Portal"),
memory.PatchMemory(Patterns.Common.VersionUrl.ToPattern(), Encoding.UTF8.GetBytes(versionUrl), "Version URL"),
memory.PatchMemory(Patterns.Common.CdnsUrl.ToPattern(), Encoding.UTF8.GetBytes(cdnsUrl), "CDNs URL"),
memory.PatchMemory(Patterns.Windows.LauncherLogin, Patches.Windows.LauncherLogin, "Launcher Login Registry")
}, CancellationTokenSource.Token);
}

View File

@@ -43,8 +43,6 @@ static class Common
public static byte[] CryptoEdPublicKey = { 0x02, 0x59, 0x6F, 0x0D, 0x0C, 0x06, 0x1A, 0x8B, 0x30, 0x74, 0x59, 0x88, 0xFD, 0x72, 0xC5, 0x9E,
0x29, 0xEC, 0x36, 0x7F, 0xB0, 0xF3, 0x41, 0xF2, 0x8E, 0x0F, 0x08, 0xD0, 0x37, 0xBA, 0xFC, 0x69 };
public static string GetVersionUrl(int build, string region = "%s", string product = "%s") => $"http://ngdp.arctium.io/{region}/{product}/{build}/versions";
public static string CdnsUrl => "http://ngdp.arctium.io/customs/wow/cdns";
public static byte[] Portal = new byte[Patterns.Common.Portal.Length];
// Our own ca_bundle.txt.signed file.

View File

@@ -11,7 +11,5 @@ static class Common
public static short[] CryptoEdPublicKey = { 0x15, 0xD6, 0x18, 0xBD, 0x7D, 0xB5, 0x77, 0xBD };
public static short[] CertBundle = "{\"Created\":".ToPattern();
public static string VersionUrl = "http://%s.patch.battle.net:1119/%s/versions";
public static string CdnsUrl = "http://%s.patch.battle.net:1119/%s/cdns";
public static short[] Portal = ".actual.battle.net\0".ToPattern();
}