diff --git a/com.code-philosophy.obfuz/Editor/ConstValues.cs b/com.code-philosophy.obfuz/Editor/ConstValues.cs index 2792a00..6653399 100644 --- a/com.code-philosophy.obfuz/Editor/ConstValues.cs +++ b/com.code-philosophy.obfuz/Editor/ConstValues.cs @@ -9,5 +9,7 @@ namespace Obfuz.Editor public static class ConstValues { public const string ObfuzInternalSymbolNamePrefix = "$Obfuz$"; + + public const string ObfuzRuntimeAssemblyName = "Obfuz.Runtime"; } } diff --git a/com.code-philosophy.obfuz/Editor/ObfuscatorBuilder.cs b/com.code-philosophy.obfuz/Editor/ObfuscatorBuilder.cs index 3a3943c..57ebef1 100644 --- a/com.code-philosophy.obfuz/Editor/ObfuscatorBuilder.cs +++ b/com.code-philosophy.obfuz/Editor/ObfuscatorBuilder.cs @@ -182,7 +182,7 @@ namespace Obfuz _encryptionVmGenerationSecretKey = settings.encryptionVMSettings.codeGenerationSecretKey, _encryptionVmOpCodeCount = settings.encryptionVMSettings.encryptionOpCodeCount, _encryptionVmCodeFile = settings.encryptionVMSettings.codeOutputPath, - _assembliesToObfuscate = settings.assemblySettings.assembliesToObfuscate.ToList(), + _assembliesToObfuscate = settings.assemblySettings.GetAssembliesToObfuscate(), _nonObfuscatedButReferencingObfuscatedAssemblies = settings.assemblySettings.nonObfuscatedButReferencingObfuscatedAssemblies.ToList(), _assemblySearchPaths = searchPaths, _obfuscatedAssemblyOutputPath = settings.GetObfuscatedAssemblyOutputPath(target), diff --git a/com.code-philosophy.obfuz/Editor/Settings/AssemblySettings.cs b/com.code-philosophy.obfuz/Editor/Settings/AssemblySettings.cs index ec4898d..cbd10a0 100644 --- a/com.code-philosophy.obfuz/Editor/Settings/AssemblySettings.cs +++ b/com.code-philosophy.obfuz/Editor/Settings/AssemblySettings.cs @@ -1,4 +1,7 @@ +using NUnit.Framework; +using Obfuz.Editor; using System; +using System.Collections.Generic; using System.Linq; using UnityEngine; @@ -17,11 +20,25 @@ namespace Obfuz.Settings [Tooltip("additional assembly search paths")] public string[] additionalAssemblySearchPaths; - public string[] GetObfuscationRelativeAssemblyNames() + [Tooltip("obfuscate Obfuz.Runtime")] + public bool obfuscateObfuzRuntime = true; + + + public List GetAssembliesToObfuscate() { - return assembliesToObfuscate - .Concat(nonObfuscatedButReferencingObfuscatedAssemblies) - .ToArray(); + var asses = new List(assembliesToObfuscate); + if (obfuscateObfuzRuntime && !asses.Contains(ConstValues.ObfuzRuntimeAssemblyName)) + { + asses.Add(ConstValues.ObfuzRuntimeAssemblyName); + } + return asses; + } + + public List GetObfuscationRelativeAssemblyNames() + { + var asses = GetAssembliesToObfuscate(); + asses.AddRange(nonObfuscatedButReferencingObfuscatedAssemblies); + return asses; } } }