【备忘】关于下一代通软注入破解器的一点迷思

在 2024/1/3 班牌大修事件后,意识到目前的反编译破解方法仍然过于暴力,现在提出一种新的破解思路,以避免各种维修、更新等带来的破解失效或暴露风险。

根本不行,.Net 会没法同时加载一个程序集的两个版本,最后还是得替换文件

一、概论

模仿通软的服务加载逻辑,在运行时添加破解相关服务,以避免直接对通软程序代码进行修改带来的问题。

二、具体实现

  1. 利用 System.Reflection 加载相关注入破解类;
  2. 获得相关插件上下文,添加:
1
2
3
4
5
6
7
8
9
using GS.Unitive.Framework.Core;
using System.Reflection;

Assembly assembly = ...;
Type t = assembly.GetType("...");
object service = Activator.CreateInstance(t);

IAddon addon = AddonRuntime.GetInstalledAddons().FirstOrDefault((IAddon ss) => ss.SymbolicName == "Addon");
addon.Context.AddService(service, t);

或者说,可以通过提前加载破解插件,达到覆盖的效果?

例如:将破解插件的 StartLevel 调至 0