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