SymbolRename预先计算NeedRename,将SymbolRename总耗时减少50%,将混淆总耗时减少30%

before-split
walon 2025-05-30 10:01:07 +08:00
parent f0c09ad741
commit b9061c567c
1 changed files with 28 additions and 1 deletions

View File

@ -150,10 +150,37 @@ namespace Obfuz.ObfusPasses.SymbolObfus
} }
} }
private void PrecomputeNeedRename()
{
foreach (ModuleDef mod in _toObfuscatedModules)
{
foreach (TypeDef type in mod.GetTypes())
{
_renamePolicy.NeedRename(type);
foreach (var field in type.Fields)
{
_renamePolicy.NeedRename(field);
}
foreach (var method in type.Methods)
{
_renamePolicy.NeedRename(method);
}
foreach (var property in type.Properties)
{
_renamePolicy.NeedRename(property);
}
foreach (var eventDef in type.Events)
{
_renamePolicy.NeedRename(eventDef);
}
}
}
}
public void Process() public void Process()
{ {
_renameRecordMap.Init(_toObfuscatedModules, _nameMaker); _renameRecordMap.Init(_toObfuscatedModules, _nameMaker);
PrecomputeNeedRename();
RenameTypes(); RenameTypes();
RenameFields(); RenameFields();
RenameMethods(); RenameMethods();