new: AssemblySettings adds a new option: `obfuscateObfuzRuntime`

before-split
walon 2025-05-21 18:36:08 +08:00
parent 425db24ee2
commit 3d04c15d98
3 changed files with 24 additions and 5 deletions

View File

@ -9,5 +9,7 @@ namespace Obfuz.Editor
public static class ConstValues public static class ConstValues
{ {
public const string ObfuzInternalSymbolNamePrefix = "$Obfuz$"; public const string ObfuzInternalSymbolNamePrefix = "$Obfuz$";
public const string ObfuzRuntimeAssemblyName = "Obfuz.Runtime";
} }
} }

View File

@ -182,7 +182,7 @@ namespace Obfuz
_encryptionVmGenerationSecretKey = settings.encryptionVMSettings.codeGenerationSecretKey, _encryptionVmGenerationSecretKey = settings.encryptionVMSettings.codeGenerationSecretKey,
_encryptionVmOpCodeCount = settings.encryptionVMSettings.encryptionOpCodeCount, _encryptionVmOpCodeCount = settings.encryptionVMSettings.encryptionOpCodeCount,
_encryptionVmCodeFile = settings.encryptionVMSettings.codeOutputPath, _encryptionVmCodeFile = settings.encryptionVMSettings.codeOutputPath,
_assembliesToObfuscate = settings.assemblySettings.assembliesToObfuscate.ToList(), _assembliesToObfuscate = settings.assemblySettings.GetAssembliesToObfuscate(),
_nonObfuscatedButReferencingObfuscatedAssemblies = settings.assemblySettings.nonObfuscatedButReferencingObfuscatedAssemblies.ToList(), _nonObfuscatedButReferencingObfuscatedAssemblies = settings.assemblySettings.nonObfuscatedButReferencingObfuscatedAssemblies.ToList(),
_assemblySearchPaths = searchPaths, _assemblySearchPaths = searchPaths,
_obfuscatedAssemblyOutputPath = settings.GetObfuscatedAssemblyOutputPath(target), _obfuscatedAssemblyOutputPath = settings.GetObfuscatedAssemblyOutputPath(target),

View File

@ -1,4 +1,7 @@
using NUnit.Framework;
using Obfuz.Editor;
using System; using System;
using System.Collections.Generic;
using System.Linq; using System.Linq;
using UnityEngine; using UnityEngine;
@ -17,11 +20,25 @@ namespace Obfuz.Settings
[Tooltip("additional assembly search paths")] [Tooltip("additional assembly search paths")]
public string[] additionalAssemblySearchPaths; public string[] additionalAssemblySearchPaths;
public string[] GetObfuscationRelativeAssemblyNames() [Tooltip("obfuscate Obfuz.Runtime")]
public bool obfuscateObfuzRuntime = true;
public List<string> GetAssembliesToObfuscate()
{ {
return assembliesToObfuscate var asses = new List<string>(assembliesToObfuscate);
.Concat(nonObfuscatedButReferencingObfuscatedAssemblies) if (obfuscateObfuzRuntime && !asses.Contains(ConstValues.ObfuzRuntimeAssemblyName))
.ToArray(); {
asses.Add(ConstValues.ObfuzRuntimeAssemblyName);
}
return asses;
}
public List<string> GetObfuscationRelativeAssemblyNames()
{
var asses = GetAssembliesToObfuscate();
asses.AddRange(nonObfuscatedButReferencingObfuscatedAssemblies);
return asses;
} }
} }
} }