From 6f358858542a39a545ce01b04f5e7313cba3d73e Mon Sep 17 00:00:00 2001 From: walon Date: Sat, 3 May 2025 20:41:04 +0800 Subject: [PATCH] =?UTF-8?q?ObfuzProcess=E8=A7=A6=E5=8F=91=20ObfuscationBeg?= =?UTF-8?q?inEvent=E5=92=8CObfuscationEndEvent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Editor/BuildProcess/ObfuzProcess.cs | 32 ++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/Editor/BuildProcess/ObfuzProcess.cs b/Editor/BuildProcess/ObfuzProcess.cs index f84c4c4..7fd28b4 100644 --- a/Editor/BuildProcess/ObfuzProcess.cs +++ b/Editor/BuildProcess/ObfuzProcess.cs @@ -16,12 +16,28 @@ namespace Obfuz { #if UNITY_2019_1_OR_NEWER - internal class ObfuzProcess : IPreprocessBuildWithReport, IPostprocessBuildWithReport + public class ObfuzProcess : IPreprocessBuildWithReport, IPostprocessBuildWithReport { private static bool s_obfuscated = false; public int callbackOrder => 10000; + public class ObfuscationBeginEventArgs : EventArgs + { + public string scriptAssembliesPath; + public string obfuscatedScriptAssembliesPath; + } + + public class ObfuscationEndEventArgs : EventArgs + { + public string originalScriptAssembliesPath; + public string obfuscatedScriptAssembliesPath; + } + + public static event Action OnObfuscationBegin; + + public static event Action OnObfuscationEnd; + [InitializeOnLoadMethod] private static void Init() { @@ -72,7 +88,12 @@ namespace Obfuz Debug.Log("Obfuscation begin..."); var buildTarget = EditorUserBuildSettings.activeBuildTarget; - + string obfuscatedAssemblyOutputDir = settings.GetObfuscatedAssemblyOutputDir(buildTarget); + OnObfuscationBegin?.Invoke(new ObfuscationBeginEventArgs + { + scriptAssembliesPath = scriptAssembliesPath, + obfuscatedScriptAssembliesPath = obfuscatedAssemblyOutputDir, + }); string backupPlayerScriptAssembliesPath = settings.GetOriginalAssemblyBackupDir(buildTarget); FileUtil.CopyDir(scriptAssembliesPath, backupPlayerScriptAssembliesPath); @@ -98,7 +119,7 @@ namespace Obfuz }.Concat(settings.extraAssemblySearchDirs).ToList(), obfuscationRuleFiles = settings.ruleFiles.ToList(), mappingXmlPath = settings.mappingFile, - outputDir = ObfuzSettings.Instance.GetObfuscatedAssemblyOutputDir(buildTarget), + outputDir = obfuscatedAssemblyOutputDir, }; var obfuz = new Obfuscator(opt); obfuz.Run(); @@ -116,6 +137,11 @@ namespace Obfuz File.Copy(src, dst, true); Debug.Log($"obfuscate dll:{dst}"); } + OnObfuscationEnd?.Invoke(new ObfuscationEndEventArgs + { + originalScriptAssembliesPath = backupPlayerScriptAssembliesPath, + obfuscatedScriptAssembliesPath = scriptAssembliesPath, + }); Debug.Log("Obfuscation end."); }