From 09e4f3269c090c65718315c946757b31ef627029 Mon Sep 17 00:00:00 2001 From: walon Date: Tue, 13 May 2025 11:46:44 +0800 Subject: [PATCH] =?UTF-8?q?SymbolObfus=E6=94=AF=E6=8C=81=20`[ObfuzIgnore]`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Policies/SystemRenamePolicy.cs | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/Editor/ObfusPasses/SymbolObfus/Policies/SystemRenamePolicy.cs b/Editor/ObfusPasses/SymbolObfus/Policies/SystemRenamePolicy.cs index d00cec5..c3ab962 100644 --- a/Editor/ObfusPasses/SymbolObfus/Policies/SystemRenamePolicy.cs +++ b/Editor/ObfusPasses/SymbolObfus/Policies/SystemRenamePolicy.cs @@ -1,4 +1,5 @@ using dnlib.DotNet; +using Obfuz.Utils; namespace Obfuz.ObfusPasses.SymbolObfus.Policies { @@ -11,21 +12,56 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies { return false; } + if (MetaUtil.HasObfuzIgnoreAttribute(typeDef)) + { + return false; + } return true; } public override bool NeedRename(MethodDef methodDef) { - return methodDef.Name != ".ctor" && methodDef.Name != ".cctor"; + if (methodDef.Name == ".ctor" || methodDef.Name == ".cctor") + { + return false; + } + + if (MetaUtil.HasObfuzIgnoreAttribute(methodDef) || MetaUtil.HasObfuzIgnoreAttribute(methodDef.DeclaringType)) + { + return false; + } + return true; } public override bool NeedRename(FieldDef fieldDef) { + if (MetaUtil.HasObfuzIgnoreAttribute(fieldDef) || MetaUtil.HasObfuzIgnoreAttribute(fieldDef.DeclaringType)) + { + return false; + } if (fieldDef.DeclaringType.IsEnum && fieldDef.Name == "value__") { return false; } return true; } + + public override bool NeedRename(PropertyDef propertyDef) + { + if (MetaUtil.HasObfuzIgnoreAttribute(propertyDef) || MetaUtil.HasObfuzIgnoreAttribute(propertyDef.DeclaringType)) + { + return false; + } + return true; + } + + public override bool NeedRename(EventDef eventDef) + { + if (MetaUtil.HasObfuzIgnoreAttribute(eventDef) || MetaUtil.HasObfuzIgnoreAttribute(eventDef.DeclaringType)) + { + return false; + } + return true; + } } }