From 5de469c4a672ccea65dd3ac98b9e112d05f2817e Mon Sep 17 00:00:00 2001 From: walon Date: Fri, 23 May 2025 19:47:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20Obfuscator=E6=9C=AA?= =?UTF-8?q?=E6=A3=80=E6=9F=A5AssembliesToObfuscate=E5=92=8CnonObfuscatedBu?= =?UTF-8?q?tReferencingObfuscatedAssemblies=E5=88=97=E8=A1=A8=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=E7=A9=BA=E6=88=96=E8=80=85=E9=87=8D=E5=A4=8D=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E9=9B=86=E5=90=8D=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Editor/Obfuscator.cs | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/com.code-philosophy.obfuz/Editor/Obfuscator.cs b/com.code-philosophy.obfuz/Editor/Obfuscator.cs index cad0320..b142f42 100644 --- a/com.code-philosophy.obfuz/Editor/Obfuscator.cs +++ b/com.code-philosophy.obfuz/Editor/Obfuscator.cs @@ -35,7 +35,9 @@ namespace Obfuz public Obfuscator(ObfuscatorBuilder builder) { + CheckSettings(builder.CoreSettingsFacade); _coreSettings = builder.CoreSettingsFacade; + _allObfuscationRelativeAssemblyNames = _coreSettings.assembliesToObfuscate .Concat(_coreSettings.nonObfuscatedButReferencingObfuscatedAssemblies) .ToList(); @@ -59,6 +61,33 @@ namespace Obfuz _pipeline2.AddPass(new RemoveObfuzAttributesPass()); } + private void CheckSettings(CoreSettingsFacade settings) + { + var totalAssemblies = new HashSet(); + foreach (var assName in settings.assembliesToObfuscate) + { + if (string.IsNullOrWhiteSpace(assName)) + { + throw new Exception($"the name of some assembly in assembliesToObfuscate is empty! Please check your settings."); + } + if (!totalAssemblies.Add(assName)) + { + throw new Exception($"the name of assembly `{assName}` in assembliesToObfuscate is duplicated! Please check your settings."); + } + } + foreach (var assName in settings.nonObfuscatedButReferencingObfuscatedAssemblies) + { + if (string.IsNullOrWhiteSpace(assName)) + { + throw new Exception($"the name of some assembly in nonObfuscatedButReferencingObfuscatedAssemblies is empty! Please check your settings."); + } + if (!totalAssemblies.Add(assName)) + { + throw new Exception($"the name of assembly `{assName}` in nonObfuscatedButReferencingObfuscatedAssemblies is duplicated! Please check your settings."); + } + } + } + public void Run() { Debug.Log($"Obfuscator Run. begin");