From 083ddd303506c2c348d78f031dad33bc771cb27e Mon Sep 17 00:00:00 2001 From: walon Date: Fri, 11 Jul 2025 19:08:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E4=BA=8E=E6=A0=87=E8=AE=B0`[BurstComp?= =?UTF-8?q?ile]`=E7=9A=84=E7=B1=BB=E5=9E=8B=EF=BC=8C=E9=99=A4=E4=BA=86?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=90=8D=E5=92=8C=E5=87=BD=E6=95=B0=E5=90=8D?= =?UTF-8?q?=E4=BB=A5=E5=A4=96=E7=9A=84=E4=BB=8D=E7=84=B6=E6=B7=B7=E6=B7=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Editor/ConstValues.cs | 6 ++++++ .../SymbolObfus/Policies/UnityRenamePolicy.cs | 14 +++++--------- Editor/Utils/MetaUtil.cs | 12 ++++++------ 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/Editor/ConstValues.cs b/Editor/ConstValues.cs index 54407e1..ee05c77 100644 --- a/Editor/ConstValues.cs +++ b/Editor/ConstValues.cs @@ -23,5 +23,11 @@ namespace Obfuz.Editor public const string ZluaLuaMarshalAsAttributeFullName = "Zlua.LuaMarshalAsAttribute"; public const string BurstCompileFullName = "Unity.Burst.BurstCompileAttribute"; + public const string DOTSCompilerGeneratedAttributeFullName = "Unity.Jobs.DOTSCompilerGeneratedAttribute"; + + public const string RuntimeInitializedOnLoadMethodAttributeFullName = "UnityEngine.RuntimeInitializeOnLoadMethodAttribute"; + public const string BlackboardEnumAttributeFullName = "Unity.Behavior.BlackboardEnumAttribute"; + + public const string CompilerGeneratedAttributeFullName = "System.Runtime.CompilerServices.CompilerGeneratedAttribute"; } } diff --git a/Editor/ObfusPasses/SymbolObfus/Policies/UnityRenamePolicy.cs b/Editor/ObfusPasses/SymbolObfus/Policies/UnityRenamePolicy.cs index 6b0fb9e..594c5a1 100644 --- a/Editor/ObfusPasses/SymbolObfus/Policies/UnityRenamePolicy.cs +++ b/Editor/ObfusPasses/SymbolObfus/Policies/UnityRenamePolicy.cs @@ -153,10 +153,6 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies { return true; } - if (MetaUtil.HasBurstCompileAttribute(typeDef)) - { - return true; - } if (typeDef.DeclaringType != null) { return IsUnitySourceGeneratedAssemblyType(typeDef.DeclaringType); @@ -191,6 +187,10 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies { return false; } + if (MetaUtil.HasBurstCompileAttribute(typeDef)) + { + return false; + } if (typeDef.Methods.Any(m => MetaUtil.HasRuntimeInitializeOnLoadMethodAttribute(m))) { return false; @@ -213,7 +213,7 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies { return false; } - if (MetaUtil.HasBurstCompileAttribute(methodDef) || MetaUtil.HasDOTSCompilerGeneratedAttribute(methodDef)) + if (MetaUtil.HasBurstCompileAttribute(methodDef) || MetaUtil.HasBurstCompileAttribute(methodDef.DeclaringType) || MetaUtil.HasDOTSCompilerGeneratedAttribute(methodDef)) { return false; } @@ -242,10 +242,6 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies { return false; } - if (MetaUtil.HasBurstCompileAttribute(fieldDef)) - { - return false; - } return true; } diff --git a/Editor/Utils/MetaUtil.cs b/Editor/Utils/MetaUtil.cs index 21a7ace..ac48fca 100644 --- a/Editor/Utils/MetaUtil.cs +++ b/Editor/Utils/MetaUtil.cs @@ -886,7 +886,7 @@ namespace Obfuz.Utils public static bool HasCompilerGeneratedAttribute(IHasCustomAttribute obj) { - return obj.CustomAttributes.Find("System.Runtime.CompilerServices.CompilerGeneratedAttribute") != null; + return obj.CustomAttributes.Find(ConstValues.CompilerGeneratedAttributeFullName) != null; } public static bool HasEncryptFieldAttribute(IHasCustomAttribute obj) @@ -896,27 +896,27 @@ namespace Obfuz.Utils public static bool HasRuntimeInitializeOnLoadMethodAttribute(MethodDef method) { - return method.CustomAttributes.Find("UnityEngine.RuntimeInitializeOnLoadMethodAttribute") != null; + return method.CustomAttributes.Find(ConstValues.RuntimeInitializedOnLoadMethodAttributeFullName) != null; } public static bool HasBlackboardEnumAttribute(TypeDef typeDef) { - return typeDef.CustomAttributes.Find("Unity.Behavior.BlackboardEnumAttribute") != null; + return typeDef.CustomAttributes.Find(ConstValues.BlackboardEnumAttributeFullName) != null; } public static bool HasBurstCompileAttribute(IHasCustomAttribute obj) { - return obj.CustomAttributes.Find("Unity.Burst.BurstCompileAttribute") != null; + return obj.CustomAttributes.Find(ConstValues.BurstCompileFullName) != null; } public static bool HasDOTSCompilerGeneratedAttribute(IHasCustomAttribute obj) { - return obj.CustomAttributes.Find("Unity.Jobs.DOTSCompilerGeneratedAttribute") != null; + return obj.CustomAttributes.Find(ConstValues.DOTSCompilerGeneratedAttributeFullName) != null; } public static bool HasMicrosoftCodeAnalysisEmbeddedAttribute(IHasCustomAttribute obj) { - return obj.CustomAttributes.Find("Microsoft.CodeAnalysis.EmbeddedAttribute") != null; + return obj.CustomAttributes.Find(ConstValues.EmbeddedAttributeFullName) != null; } } }