feat(security): 仅加载显式授权的外部 DLL
Publish UPM package / publish (push) Successful in 2s

This commit is contained in:
2026-08-28 03:44:10 +08:00
parent 39f6f97707
commit f6688ce573
13 changed files with 352 additions and 74 deletions
+11 -2
View File
@@ -4,6 +4,15 @@ namespace ShrinkModFramework
{
public static class ShrinkModRuntimeBootstrap
{
/// <summary>
/// 显式创建或更新模组运行时驱动。安全启动链可先调用此入口,再调用
/// ShrinkModLoader.LoadAuthorized 提交已校验的 DLL 白名单。
/// </summary>
public static void InitializeDriver(ShrinkModFrameworkSettings settings = null)
{
ShrinkModRuntimeDriver.EnsureCreated(settings ?? ShrinkModFrameworkSettings.Instance);
}
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
private static void ResetStaticStateForPlayMode()
{
@@ -15,11 +24,11 @@ namespace ShrinkModFramework
private static void AutoLoad()
{
var settings = ShrinkModFrameworkSettings.Instance;
ShrinkModRuntimeDriver.EnsureCreated(settings);
if (settings && !settings.autoLoadOnStartup)
return;
InitializeDriver(settings);
try
{
ShrinkModLoader.LoadAll(settings);