修复VirtualMethodGroup中仅包含非混淆程序集中函数时仍然试图改名的bug

before-split
walon 2025-05-23 22:32:21 +08:00
parent f1a225cd81
commit 647619943f
1 changed files with 8 additions and 1 deletions

View File

@ -475,7 +475,14 @@ namespace Obfuz.ObfusPasses.SymbolObfus
VirtualMethodGroup group = _virtualMethodGroupCalculator.GetMethodGroup(method); VirtualMethodGroup group = _virtualMethodGroupCalculator.GetMethodGroup(method);
if (!groupNeedRenames.TryGetValue(group, out var needRename)) if (!groupNeedRenames.TryGetValue(group, out var needRename))
{ {
needRename = group.methods.All(m => _obfuscatedAndNotObfuscatedModules.Contains(m.Module) && (!_toObfuscatedModuleSet.Contains(m.DeclaringType.Module) || _renamePolicy.NeedRename(m))); if (!group.methods.Any(m => _toObfuscatedModuleSet.Contains(m.DeclaringType.Module)))
{
needRename = false;
}
else
{
needRename = group.methods.All(m => _obfuscatedAndNotObfuscatedModules.Contains(m.Module) && _renamePolicy.NeedRename(m));
}
groupNeedRenames.Add(group, needRename); groupNeedRenames.Add(group, needRename);
if (needRename) if (needRename)
{ {