remove: remove obfuscation rule for method parameter. we simplify rule that if obfuscates a method, we also obfuscate its parameters.

before-split
walon 2025-05-19 15:46:12 +08:00
parent b671137958
commit 18be3c9f24
6 changed files with 3 additions and 50 deletions

View File

@ -13,7 +13,5 @@ namespace Obfuz.ObfusPasses.SymbolObfus
bool NeedRename(PropertyDef propertyDef); bool NeedRename(PropertyDef propertyDef);
bool NeedRename(EventDef eventDef); bool NeedRename(EventDef eventDef);
bool NeedRename(ParamDef paramDef);
} }
} }

View File

@ -64,15 +64,5 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
} }
return value; return value;
} }
public override bool NeedRename(ParamDef paramDef)
{
if (!_computeCache.TryGetValue(paramDef, out var value))
{
value = _underlyingPolicy.NeedRename(paramDef);
_computeCache[paramDef] = value;
}
return value;
}
} }
} }

View File

@ -36,10 +36,5 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
{ {
return _policies.All(policy => policy.NeedRename(eventDef)); return _policies.All(policy => policy.NeedRename(eventDef));
} }
public bool NeedRename(ParamDef paramDef)
{
return _policies.All(policy => policy.NeedRename(paramDef));
}
} }
} }

View File

@ -65,8 +65,6 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
{ {
public string ruleName; public string ruleName;
public bool obfuscateName; public bool obfuscateName;
public bool obfuscateParam;
public bool obfuscateBody;
} }
class FieldRuleSpec class FieldRuleSpec
@ -166,8 +164,6 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
{ {
ruleName = "none", ruleName = "none",
obfuscateName = false, obfuscateName = false,
obfuscateParam = false,
obfuscateBody = false,
}; };
private static readonly EventRule s_noneEventRule = new EventRule private static readonly EventRule s_noneEventRule = new EventRule
@ -401,8 +397,6 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
var rule = new MethodRule(); var rule = new MethodRule();
rule.ruleName = ruleName; rule.ruleName = ruleName;
rule.obfuscateName = ParseBoolNoneOrFalse(element.GetAttribute("ob-name")); rule.obfuscateName = ParseBoolNoneOrFalse(element.GetAttribute("ob-name"));
rule.obfuscateParam = ParseBoolNoneOrFalse(element.GetAttribute("ob-param"));
rule.obfuscateBody = ParseBoolNoneOrFalse(element.GetAttribute("ob-body"));
return rule; return rule;
} }
@ -818,8 +812,6 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
} }
MethodRule methodRule = e.Item2.rule; MethodRule methodRule = e.Item2.rule;
methodCache.obfuscateName &= methodRule.obfuscateName; methodCache.obfuscateName &= methodRule.obfuscateName;
methodCache.obfuscateParam &= methodRule.obfuscateParam;
methodCache.obfuscateBody &= methodRule.obfuscateBody;
} }
foreach (MethodRuleSpec methodSpec in totalMethodSpecs) foreach (MethodRuleSpec methodSpec in totalMethodSpecs)
{ {
@ -834,8 +826,6 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
} }
MethodRule methodRule = methodSpec.rule; MethodRule methodRule = methodSpec.rule;
methodCache.obfuscateName &= methodRule.obfuscateName; methodCache.obfuscateName &= methodRule.obfuscateName;
methodCache.obfuscateParam &= methodRule.obfuscateParam;
methodCache.obfuscateBody &= methodRule.obfuscateBody;
} }
} }
} }
@ -879,17 +869,5 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
TypeDefComputeCache cache = GetOrCreateTypeDefRenameComputeCache(typeDef); TypeDefComputeCache cache = GetOrCreateTypeDefRenameComputeCache(typeDef);
return !cache.notObfuscatedEvents.Contains(eventDef); return !cache.notObfuscatedEvents.Contains(eventDef);
} }
public override bool NeedRename(ParamDef paramDef)
{
MethodDef methodDef = paramDef.DeclaringMethod;
TypeDef typeDef = methodDef.DeclaringType;
TypeDefComputeCache cache = GetOrCreateTypeDefRenameComputeCache(typeDef);
if (!cache.methods.TryGetValue(methodDef, out var methodCache))
{
return true;
}
return methodCache.obfuscateParam;
}
} }
} }

View File

@ -29,10 +29,5 @@ namespace Obfuz.ObfusPasses.SymbolObfus.Policies
{ {
return true; return true;
} }
public virtual bool NeedRename(ParamDef paramDef)
{
return true;
}
} }
} }

View File

@ -716,12 +716,9 @@ namespace Obfuz.ObfusPasses.SymbolObfus
private void Rename(ParamDef param) private void Rename(ParamDef param)
{ {
if (_renamePolicy.NeedRename(param)) string newName = _nameMaker.GetNewName(param, param.Name);
{ _renameRecordMap.AddRename(param, newName);
string newName = _nameMaker.GetNewName(param, param.Name); param.Name = newName;
_renameRecordMap.AddRename(param, newName);
param.Name = newName;
}
} }
private void Rename(EventDef eventDef) private void Rename(EventDef eventDef)