symbol mapping文件中不存在的类型相关的记录仍然保留在输出的symbol mapping文件中
parent
8bd2aab9da
commit
161ab5a29e
|
@ -385,12 +385,31 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
if (mod != null)
|
||||
{
|
||||
var types = mod.GetTypes().ToDictionary(t => _typeRenames.TryGetValue(t, out var rec) ? rec.oldName : t.FullName, t => t);
|
||||
if (_assemblies.TryGetValue(assName, out var ass))
|
||||
{
|
||||
var totalTypeNames = types.Keys.Concat(ass.types.Keys).ToHashSet().ToList();
|
||||
totalTypeNames.Sort((a, b) => a.CompareTo((b)));
|
||||
foreach (string typeName in totalTypeNames)
|
||||
{
|
||||
if (types.TryGetValue(typeName, out TypeDef typeDef))
|
||||
{
|
||||
WriteTypeMapping(assemblyNode, typeDef);
|
||||
}
|
||||
else
|
||||
{
|
||||
WriteTypeMapping(assemblyNode, typeName, ass.types[typeName]);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var sortedTypes = new SortedDictionary<string, TypeDef>(types);
|
||||
foreach (TypeDef type in sortedTypes.Values)
|
||||
{
|
||||
WriteTypeMapping(assemblyNode, type);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
RenameMappingAssembly ass = _assemblies[assName];
|
||||
|
|
Loading…
Reference in New Issue