diff --git a/WeModPatcher/Constants.cs b/WeModPatcher/Constants.cs index 0bf9d70..8e1b2fc 100644 --- a/WeModPatcher/Constants.cs +++ b/WeModPatcher/Constants.cs @@ -10,6 +10,9 @@ namespace WeModPatcher public const string Owner = "k1tbyte"; public static readonly string RepositoryUrl = $"https://github.com/{Owner}/{RepoName}"; public static readonly Version Version; + public static readonly string WeModBrandName = "Wand"; + public static readonly string WeModExeName = "Wand.exe"; + public static readonly string[] WeModRootFolders = { "WeMod", "Wand" }; // cmp dword ptr [rdx], 0 // jnz loc_XXXXXXXX diff --git a/WeModPatcher/Core/RuntimePatcher.cs b/WeModPatcher/Core/RuntimePatcher.cs index 4270c25..6c892c7 100644 --- a/WeModPatcher/Core/RuntimePatcher.cs +++ b/WeModPatcher/Core/RuntimePatcher.cs @@ -137,7 +137,7 @@ namespace WeModPatcher.Core new StaticPatcher(latestPath, logger, config).Patch(); } - new RuntimePatcher(Path.Combine(latestPath, "WeMod.exe")) + new RuntimePatcher(Path.Combine(latestPath, Constants.WeModExeName)) .StartProcess(); } @@ -145,7 +145,7 @@ namespace WeModPatcher.Core public static void KillWeMod() { - Process[] processes = Process.GetProcessesByName("WeMod"); + Process[] processes = Process.GetProcessesByName(Constants.WeModBrandName); for (int i = 0; processes.Length > i || i < 5; i++) { foreach (var process in processes) @@ -160,7 +160,7 @@ namespace WeModPatcher.Core } } - processes = Process.GetProcessesByName("WeMod"); + processes = Process.GetProcessesByName(Constants.WeModBrandName); Thread.Sleep(250); } diff --git a/WeModPatcher/Core/StaticPatcher.cs b/WeModPatcher/Core/StaticPatcher.cs index df43657..1fdd09a 100644 --- a/WeModPatcher/Core/StaticPatcher.cs +++ b/WeModPatcher/Core/StaticPatcher.cs @@ -64,7 +64,7 @@ namespace WeModPatcher.Core _asarPath = Path.Combine(weModRootFolder, "resources", "app.asar"); _unpackedPath = Path.Combine(weModRootFolder, "resources", "app.asar.unpacked"); _backupPath = Path.Combine(weModRootFolder, "resources", "app.asar.backup"); - _exePath = Path.Combine(_weModRootFolder, "WeMod.exe"); + _exePath = Path.Combine(_weModRootFolder, Constants.WeModExeName); } private static string GetFetchFieldName(string targetFunction) @@ -161,7 +161,7 @@ namespace WeModPatcher.Core CheckPathExists = true, AddExtension = true, SupportMultiDottedExtensions = false, - FileName = "WeMod", + FileName = Constants.WeModBrandName, }; if(fileDialog.ShowDialog() != DialogResult.OK) diff --git a/WeModPatcher/Properties/AssemblyInfo.cs b/WeModPatcher/Properties/AssemblyInfo.cs index 0b81523..ff97d8d 100644 --- a/WeModPatcher/Properties/AssemblyInfo.cs +++ b/WeModPatcher/Properties/AssemblyInfo.cs @@ -51,5 +51,5 @@ using System.Windows; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.2.0")] -[assembly: AssemblyFileVersion("1.0.2.0")] \ No newline at end of file +[assembly: AssemblyVersion("1.0.3.0")] +[assembly: AssemblyFileVersion("1.0.3.0")] \ No newline at end of file diff --git a/WeModPatcher/Utils/Extensions.cs b/WeModPatcher/Utils/Extensions.cs index 89a73af..b64f81e 100644 --- a/WeModPatcher/Utils/Extensions.cs +++ b/WeModPatcher/Utils/Extensions.cs @@ -11,7 +11,7 @@ namespace WeModPatcher.Utils { try { - return File.Exists(Path.Combine(root, "WeMod.exe")) && + return File.Exists(Path.Combine(root, Constants.WeModExeName)) && File.Exists(Path.Combine(root, "resources", "app.asar")); } catch @@ -23,15 +23,17 @@ namespace WeModPatcher.Utils public static string FindWeModDirectory() { string localAppDataPath = Environment.GetEnvironmentVariable("LOCALAPPDATA"); - - string defaultDir = Path.Combine(localAppDataPath ?? "", "WeMod"); - if (!Directory.Exists(defaultDir)) + foreach (var folder in Constants.WeModRootFolders) { - return null; + var weModDir = Path.Combine(localAppDataPath ?? "", folder); + if(Directory.Exists(weModDir)) + { + return FindLatestWeMod(weModDir); + } } - - return FindLatestWeMod(defaultDir); + + return null; } public static string Base64Decode(string base64EncodedData) diff --git a/WeModPatcher/View/MainWindow/MainWindowVm.cs b/WeModPatcher/View/MainWindow/MainWindowVm.cs index f4b14da..ee3b25a 100644 --- a/WeModPatcher/View/MainWindow/MainWindowVm.cs +++ b/WeModPatcher/View/MainWindow/MainWindowVm.cs @@ -119,7 +119,7 @@ namespace WeModPatcher.View.MainWindow // This shit doesn't look at the hash and verify() always returns true //using X509Certificate2 cert = new X509Certificate2(X509Certificate.CreateFromSignedFile(filePath)); - var restoreExeResult = MemoryUtils.PatchFile( Path.Combine( WeModPath, "WeMod.exe"), + var restoreExeResult = MemoryUtils.PatchFile( Path.Combine( WeModPath, Constants.WeModExeName), Constants.ExePatchSignature, Constants.ExePatchSignature.OriginalBytes); if (restoreExeResult == -1) { @@ -129,7 +129,7 @@ namespace WeModPatcher.View.MainWindow { Log(restoreExeResult == 0 ? "Signature exe is original, does not require restoration" - : "WeMod.exe restored successfully", ELogType.Success); + : $"{Constants.WeModExeName} restored successfully", ELogType.Success); } } catch