Internal add hash to login form for all logins, fix registration patch

This commit is contained in:
2025-09-21 17:42:06 -04:00
parent 584f19b016
commit 10e8797ba2
4 changed files with 48 additions and 13 deletions

14
Core/PluginHash.cs Normal file
View File

@@ -0,0 +1,14 @@
using System;
using System.IO;
using System.Reflection;
using System.Security.Cryptography;
namespace undead_universal_patch_il2cpp.Core;
public class PluginHash
{
public static string GetHash()
{
return BitConverter.ToString(MD5.Create().ComputeHash(File.OpenRead(Assembly.GetExecutingAssembly().Location))).Replace("-", "").ToLowerInvariant();
}
}

View File

@@ -1,8 +1,6 @@
using System;
using System.Reflection;
using System.Security.Cryptography;
using BestHTTP;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls;
using HarmonyLib;
using undead_universal_patch_il2cpp.Core;
using undead_universal_patch_il2cpp.Core.Config;

View File

@@ -0,0 +1,30 @@
using BestHTTP.Forms;
using HarmonyLib;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using undead_universal_patch_il2cpp.Core;
namespace undead_universal_patch_il2cpp.Patches.Internals;
[HarmonyPatch]
public class LoginHelperFieldsPatch
{
static PatchTypesResult typesResult = Util.PreparePatchTypes(
"Add patch hash to the login form",
"RecNet.Login",
"LoginHelper"
);
static MethodBase TargetMethod() => typesResult.Method;
static bool Prepare() => typesResult.Success;
static void Prefix(ref HTTPUrlEncodedForm loginParams)
{
loginParams.AddField("x-patch-plugin-hash", PluginHash.GetHash());
Util.ConditionalDebug("Added hash to login form");
}
}

View File

@@ -10,22 +10,15 @@ namespace undead_universal_patch_il2cpp.Patches
{
static PatchTypesResult patchResult = Util.ConfigPreparePatchTypes(
PatchConfig.RegistrationPatch,
"Registration patch (to be vetted, might not work)",
"UnityEngine.PlayerPrefs",
"GetInt"
"Registration patch",
"ProfileWatchUIFlow",
"Button_Email"
);
static bool Prepare() => patchResult.Success;
static MethodInfo TargetMethod() => patchResult.Method;
static void Postfix(ref string key, ref int defaultValue, ref int __result)
{
if (key.StartsWith("IncompleteRegistration-"))
{
__result = 0;
UniversalPatchPlugin.Log.LogInfo("Detour'd IncompleteRegistration pref key");
}
}
static bool Prefix() => false;
}
}