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; } } }