From 51020dfc93779d4d2407aa4ec8fb83a2601c429e Mon Sep 17 00:00:00 2001 From: walon Date: Fri, 30 May 2025 19:06:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20WorkWithHybridCLR=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=EF=BC=8C=E4=B8=8E=E6=9C=80=E6=96=B0=20obfuz4hybridclr?= =?UTF-8?q?=E7=9A=84=E4=BB=A3=E7=A0=81=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Assets/Editor/BuildCommand.cs | 19 +- .../Obfuz/SymbolObfus/symbol-mapping.xml | 167 ------------------ .../StreamingAssets/HotUpdate.dll.bytes | Bin 9216 -> 0 bytes 3 files changed, 15 insertions(+), 171 deletions(-) delete mode 100644 Samples/WorkWithHybridCLR/Assets/Obfuz/SymbolObfus/symbol-mapping.xml delete mode 100644 Samples/WorkWithHybridCLR/Assets/StreamingAssets/HotUpdate.dll.bytes diff --git a/Samples/WorkWithHybridCLR/Assets/Editor/BuildCommand.cs b/Samples/WorkWithHybridCLR/Assets/Editor/BuildCommand.cs index 6b9e378..de082f9 100644 --- a/Samples/WorkWithHybridCLR/Assets/Editor/BuildCommand.cs +++ b/Samples/WorkWithHybridCLR/Assets/Editor/BuildCommand.cs @@ -1,4 +1,6 @@ using HybridCLR.Editor; +using HybridCLR.Editor.Commands; +using Obfuz.Settings; using Obfuz4HybridCLR; using System.Collections; using System.Collections.Generic; @@ -12,17 +14,26 @@ public static class BuildCommand public static void CompileAndObfuscateAndCopyToStreamingAssets() { BuildTarget target = EditorUserBuildSettings.activeBuildTarget; - ObfuscateUtil.CompileAndObfuscateHotUpdateAssemblies(target); + CompileDllCommand.CompileDll(target); + + string obfuscatedHotUpdateDllPath = PrebuildCommandExt.GetObfuscatedHotUpdateAssemblyOutputPath(target); + ObfuscateUtil.ObfuscateHotUpdateAssemblies(target, obfuscatedHotUpdateDllPath); Directory.CreateDirectory(Application.streamingAssetsPath); string hotUpdateDllPath = $"{SettingsUtil.GetHotUpdateDllsOutputDirByTarget(target)}"; + List obfuscationRelativeAssemblyNames = ObfuzSettings.Instance.assemblySettings.GetObfuscationRelativeAssemblyNames(); + foreach (string assName in SettingsUtil.HotUpdateAssemblyNamesIncludePreserved) { - string srcFile = $"{hotUpdateDllPath}/{assName}.dll"; + string srcDir = obfuscationRelativeAssemblyNames.Contains(assName) ? obfuscatedHotUpdateDllPath : hotUpdateDllPath; + string srcFile = $"{srcDir}/{assName}.dll"; string dstFile = $"{Application.streamingAssetsPath}/{assName}.dll.bytes"; - File.Copy(srcFile, dstFile, true); - Debug.Log($"[CompileAndObfuscate] Copy {srcFile} to {dstFile}"); + if (File.Exists(srcFile)) + { + File.Copy(srcFile, dstFile, true); + Debug.Log($"[CompileAndObfuscate] Copy {srcFile} to {dstFile}"); + } } } } diff --git a/Samples/WorkWithHybridCLR/Assets/Obfuz/SymbolObfus/symbol-mapping.xml b/Samples/WorkWithHybridCLR/Assets/Obfuz/SymbolObfus/symbol-mapping.xml deleted file mode 100644 index 02ed222..0000000 --- a/Samples/WorkWithHybridCLR/Assets/Obfuz/SymbolObfus/symbol-mapping.xml +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Samples/WorkWithHybridCLR/Assets/StreamingAssets/HotUpdate.dll.bytes b/Samples/WorkWithHybridCLR/Assets/StreamingAssets/HotUpdate.dll.bytes deleted file mode 100644 index 3c26a54eb2118153eda6a460146a1d610d325b27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9216 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