支持rename property和event

backup
walon 2025-04-07 09:02:43 +08:00
parent 53681bd14a
commit bb9d784090
2 changed files with 21 additions and 8 deletions

View File

@ -17,6 +17,8 @@ namespace Obfuz.Rename
string GetNewName(MethodDef methodDef, string originalName);
string GetNewName(ParamDef param, string originalName);
string GetNewName(FieldDef fieldDef, string originalName);
string GetNewName(PropertyDef propertyDef, string originalName);
@ -51,6 +53,11 @@ namespace Obfuz.Rename
return GetDefaultNewName(originalName);
}
public string GetNewName(ParamDef param, string originalName)
{
return GetDefaultNewName(originalName);
}
public string GetNewName(FieldDef fieldDef, string originalName)
{
return GetDefaultNewName(originalName);

View File

@ -14,11 +14,13 @@ namespace Obfuz
private readonly ObfuscatorContext _ctx;
private readonly IRenamePolicy _renamePolicy;
private readonly INameMaker _nameMaker;
public SymbolRename(ObfuscatorContext ctx)
{
_ctx = ctx;
_renamePolicy = new RenamePolicy();
_renamePolicy = ctx.renamePolicy;
_nameMaker = ctx.nameMaker;
}
public void Process()
@ -49,7 +51,10 @@ namespace Obfuz
Rename(method);
foreach (Parameter param in method.Parameters)
{
Rename(param.ParamDef);
if (param.ParamDef != null)
{
Rename(param.ParamDef);
}
}
}
}
@ -88,7 +93,7 @@ namespace Obfuz
private void Rename(ModuleDefMD mod)
{
string oldName = MetaUtil.GetModuleNameWithoutExt(mod.Name);
string newName = _ctx.nameMaker.GetNewName(mod, oldName);
string newName = _nameMaker.GetNewName(mod, oldName);
mod.Name = $"{newName}.dll";
Debug.Log($"rename module. oldName:{oldName} newName:{newName}");
foreach (ObfuzAssemblyInfo ass in GetReferenceMeAssemblies(mod))
@ -116,12 +121,12 @@ namespace Obfuz
}
else
{
newNamespace = _ctx.nameMaker.GetNewNamespace(type, oldNamespace);
newNamespace = _nameMaker.GetNewNamespace(type, oldNamespace);
type.Namespace = newNamespace;
}
string oldName = type.Name;
string newName = _ctx.nameMaker.GetNewName(type, oldName);
string newName = _nameMaker.GetNewName(type, oldName);
type.Name = newName;
string newFullName = type.FullName;
Debug.Log($"rename typedef. assembly:{type.Module.Name} oldName:{oldFullName} => newName:{newFullName}");
@ -151,7 +156,7 @@ namespace Obfuz
private void Rename(FieldDef field)
{
string oldName = field.Name;
string newName = _ctx.nameMaker.GetNewName(field, oldName);
string newName = _nameMaker.GetNewName(field, oldName);
foreach (ObfuzAssemblyInfo ass in GetReferenceMeAssemblies(field.DeclaringType.Module))
{
foreach (MemberRef memberRef in ass.module.GetMemberRefs())
@ -211,16 +216,17 @@ namespace Obfuz
private void Rename(ParamDef param)
{
param.Name = _nameMaker.GetNewName(param, param.Name);
}
private void Rename(EventDef eventDef)
{
eventDef.Name = _nameMaker.GetNewName(eventDef, eventDef.Name);
}
private void Rename(PropertyDef property)
{
property.Name = _nameMaker.GetNewName(property, property.Name);
}
}
}