修复 RenameRecordMap::InitAndAddRename初始化signature的bug

before-split
walon 2025-05-23 22:11:41 +08:00
parent d64e57b370
commit f1a225cd81
1 changed files with 4 additions and 3 deletions

View File

@ -585,12 +585,13 @@ namespace Obfuz.ObfusPasses.SymbolObfus
public void InitAndAddRename(VirtualMethodGroup methodGroup, string newName) public void InitAndAddRename(VirtualMethodGroup methodGroup, string newName)
{ {
RenameRecord methodRecord = _methodRenames[methodGroup.methods[0]]; RenameRecord methodRecord = methodGroup.methods.Where(m => _methodRenames.ContainsKey(m)).Select(m => _methodRenames[m]).FirstOrDefault();
MethodDef firstMethod = methodGroup.methods[0];
_virtualMethodGroups.Add(methodGroup, new RenameRecord _virtualMethodGroups.Add(methodGroup, new RenameRecord
{ {
status = RenameStatus.Renamed, status = RenameStatus.Renamed,
signature = methodRecord.signature, signature = methodRecord != null ? methodRecord.signature : TypeSigUtil.ComputeMethodDefSignature(firstMethod),
oldName = methodRecord.oldName, oldName = methodRecord != null ? methodRecord.oldName : firstMethod.Name,
newName = newName, newName = newName,
}); });
} }