fix: fix bug that Symbol Obfuscation obfuscates member of Delegate incorrectly.

before-split
walon 2025-05-19 14:17:20 +08:00
parent 9c450d7f07
commit b671137958
1 changed files with 16 additions and 0 deletions

View File

@ -25,6 +25,10 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
public override bool NeedRename(MethodDef methodDef) public override bool NeedRename(MethodDef methodDef)
{ {
if (methodDef.DeclaringType.IsDelegate)
{
return false;
}
if (methodDef.Name == ".ctor" || methodDef.Name == ".cctor") if (methodDef.Name == ".ctor" || methodDef.Name == ".cctor")
{ {
return false; return false;
@ -39,6 +43,10 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
public override bool NeedRename(FieldDef fieldDef) public override bool NeedRename(FieldDef fieldDef)
{ {
if (fieldDef.DeclaringType.IsDelegate)
{
return false;
}
if (MetaUtil.HasObfuzIgnoreAttribute(fieldDef) || MetaUtil.HasObfuzIgnoreAttribute(fieldDef.DeclaringType)) if (MetaUtil.HasObfuzIgnoreAttribute(fieldDef) || MetaUtil.HasObfuzIgnoreAttribute(fieldDef.DeclaringType))
{ {
return false; return false;
@ -52,6 +60,10 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
public override bool NeedRename(PropertyDef propertyDef) public override bool NeedRename(PropertyDef propertyDef)
{ {
if (propertyDef.DeclaringType.IsDelegate)
{
return false;
}
if (MetaUtil.HasObfuzIgnoreAttribute(propertyDef) || MetaUtil.HasObfuzIgnoreAttribute(propertyDef.DeclaringType)) if (MetaUtil.HasObfuzIgnoreAttribute(propertyDef) || MetaUtil.HasObfuzIgnoreAttribute(propertyDef.DeclaringType))
{ {
return false; return false;
@ -61,6 +73,10 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
public override bool NeedRename(EventDef eventDef) public override bool NeedRename(EventDef eventDef)
{ {
if (eventDef.DeclaringType.IsDelegate)
{
return false;
}
if (MetaUtil.HasObfuzIgnoreAttribute(eventDef) || MetaUtil.HasObfuzIgnoreAttribute(eventDef.DeclaringType)) if (MetaUtil.HasObfuzIgnoreAttribute(eventDef) || MetaUtil.HasObfuzIgnoreAttribute(eventDef.DeclaringType))
{ {
return false; return false;