mirror of
https://github.com/araxiaonline/WoW-Launcher.git
synced 2026-06-13 01:22:21 -04:00
Change static auth seed to work in all supported versions of this launcher. Check the old readme file.
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user