移除Module Rename相关代码
parent
357de094bf
commit
07afb0f7ef
|
@ -1,8 +1,9 @@
|
|||
using System.Text;
|
||||
using dnlib.DotNet;
|
||||
using System.Text;
|
||||
|
||||
namespace Obfuz.ObfusPasses.SymbolObfus
|
||||
{
|
||||
public class TestNameMaker : NameMakerBase
|
||||
public class DebugNameMaker : NameMakerBase
|
||||
{
|
||||
private class TestNameScope : NameScopeBase
|
||||
{
|
||||
|
@ -18,5 +19,9 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
return new TestNameScope();
|
||||
}
|
||||
|
||||
public override string GetNewName(ParamDef param, string originalName)
|
||||
{
|
||||
return $"${originalName}";
|
||||
}
|
||||
}
|
||||
}
|
|
@ -4,8 +4,6 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
{
|
||||
public interface INameMaker
|
||||
{
|
||||
void AddPreservedName(ModuleDef mod, string name);
|
||||
|
||||
void AddPreservedName(TypeDef typeDef, string name);
|
||||
|
||||
void AddPreservedNamespace(TypeDef typeDef, string name);
|
||||
|
@ -20,8 +18,6 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
|
||||
void AddPreservedName(EventDef eventDef, string name);
|
||||
|
||||
string GetNewName(ModuleDef mod, string originalName);
|
||||
|
||||
string GetNewName(TypeDef typeDef, string originalName);
|
||||
|
||||
string GetNewNamespace(TypeDef typeDef, string originalNamespace, bool reuse);
|
||||
|
|
|
@ -26,11 +26,6 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
return nameScope;
|
||||
}
|
||||
|
||||
public void AddPreservedName(ModuleDef mod, string name)
|
||||
{
|
||||
GetNameScope(mod).AddPreservedName(name);
|
||||
}
|
||||
|
||||
public void AddPreservedName(TypeDef typeDef, string name)
|
||||
{
|
||||
GetNameScope(typeDef.Module).AddPreservedName(name);
|
||||
|
@ -66,12 +61,6 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
GetNameScope(_namespaceScope).AddPreservedName(name);
|
||||
}
|
||||
|
||||
|
||||
public string GetNewName(ModuleDef mod, string originalName)
|
||||
{
|
||||
return GetDefaultNewName(this, originalName);
|
||||
}
|
||||
|
||||
private string GetDefaultNewName(object scope, string originName)
|
||||
{
|
||||
return GetNameScope(scope).GetNewName(originName, false);
|
||||
|
@ -96,7 +85,7 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
return GetDefaultNewName(methodDef.DeclaringType, originalName);
|
||||
}
|
||||
|
||||
public string GetNewName(ParamDef param, string originalName)
|
||||
public virtual string GetNewName(ParamDef param, string originalName)
|
||||
{
|
||||
return "1";
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
{
|
||||
public static INameMaker CreateDebugNameMaker()
|
||||
{
|
||||
return new TestNameMaker();
|
||||
return new DebugNameMaker();
|
||||
}
|
||||
|
||||
public static INameMaker CreateNameMakerBaseASCIICharSet()
|
||||
|
|
|
@ -81,9 +81,7 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
|
||||
private class RenameMappingAssembly
|
||||
{
|
||||
public RenameStatus status;
|
||||
public string oldAssName;
|
||||
public string newAssName;
|
||||
public string assName;
|
||||
|
||||
public Dictionary<string, RenameMappingType> types = new Dictionary<string, RenameMappingType>();
|
||||
}
|
||||
|
@ -113,13 +111,8 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
foreach (ModuleDef mod in assemblies)
|
||||
{
|
||||
string name = mod.Assembly.Name;
|
||||
nameMaker.AddPreservedName(mod, name);
|
||||
|
||||
RenameMappingAssembly rma = _assemblies.GetValueOrDefault(name);
|
||||
if (rma != null && rma.status == RenameStatus.Renamed)
|
||||
{
|
||||
nameMaker.AddPreservedName(mod, rma.newAssName);
|
||||
}
|
||||
|
||||
_modRenames.Add(mod, new RenameRecord
|
||||
{
|
||||
|
@ -270,12 +263,9 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
}
|
||||
|
||||
var assemblyName = ele.Attributes["name"].Value;
|
||||
var newAssemblyName = ele.Attributes["newName"].Value;
|
||||
var rma = new RenameMappingAssembly
|
||||
{
|
||||
oldAssName = assemblyName,
|
||||
newAssName = newAssemblyName,
|
||||
status = (RenameStatus)System.Enum.Parse(typeof(RenameStatus), ele.Attributes["status"].Value),
|
||||
assName = assemblyName,
|
||||
};
|
||||
foreach (XmlNode node in ele.ChildNodes)
|
||||
{
|
||||
|
@ -408,8 +398,6 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
RenameRecord record = kvp.Value;
|
||||
var assemblyNode = doc.CreateElement("assembly");
|
||||
assemblyNode.SetAttribute("name", mod.Assembly.Name);
|
||||
assemblyNode.SetAttribute("newName", record.status == RenameStatus.Renamed ? record.newName : "");
|
||||
assemblyNode.SetAttribute("status", record.status.ToString());
|
||||
foreach (TypeDef type in mod.GetTypes())
|
||||
{
|
||||
WriteTypeMapping(assemblyNode, type);
|
||||
|
@ -418,14 +406,12 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
}
|
||||
foreach (RenameMappingAssembly ass in _assemblies.Values)
|
||||
{
|
||||
if (_modRenames.Keys.Any(m => m.Assembly.Name == ass.oldAssName))
|
||||
if (_modRenames.Keys.Any(m => m.Assembly.Name == ass.assName))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
var assemblyNode = doc.CreateElement("assembly");
|
||||
assemblyNode.SetAttribute("name", ass.oldAssName);
|
||||
assemblyNode.SetAttribute("newName", ass.status == RenameStatus.Renamed ? ass.newAssName : "");
|
||||
assemblyNode.SetAttribute("status", ass.status.ToString());
|
||||
assemblyNode.SetAttribute("name", ass.assName);
|
||||
foreach (var e in ass.types)
|
||||
{
|
||||
WriteTypeMapping(assemblyNode, e.Key, e.Value);
|
||||
|
@ -678,17 +664,6 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
record.newName = newName;
|
||||
}
|
||||
|
||||
public bool TryGetExistRenameMapping(ModuleDef mod, out string newName)
|
||||
{
|
||||
if (_modRenames.TryGetValue(mod, out var record) && record.renameMappingData != null)
|
||||
{
|
||||
newName = ((RenameMappingAssembly)record.renameMappingData).newAssName;
|
||||
return true;
|
||||
}
|
||||
newName = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool TryGetExistRenameMapping(TypeDef type, out string newNamespace, out string newName)
|
||||
{
|
||||
if (_typeRenames.TryGetValue(type, out var record) && record.renameMappingData != null)
|
||||
|
|
|
@ -586,27 +586,27 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
Debug.Log("Rename events begin");
|
||||
}
|
||||
|
||||
private void Rename(ModuleDef mod)
|
||||
{
|
||||
string oldName = mod.Assembly.Name;
|
||||
string newName = _renameRecordMap.TryGetExistRenameMapping(mod, out var n) ? n : _nameMaker.GetNewName(mod, oldName);
|
||||
_renameRecordMap.AddRename(mod, newName);
|
||||
mod.Assembly.Name = newName;
|
||||
mod.Name = $"{newName}.dll";
|
||||
//Debug.Log($"rename module. oldName:{oldName} newName:{newName}");
|
||||
foreach (AssemblyReferenceInfo ass in GetReferenceMeAssemblies(mod))
|
||||
{
|
||||
foreach (AssemblyRef assRef in ass.module.GetAssemblyRefs())
|
||||
{
|
||||
if (assRef.Name == oldName)
|
||||
{
|
||||
_renameRecordMap.AddRename(mod, newName);
|
||||
assRef.Name = newName;
|
||||
// Debug.Log($"rename assembly:{ass.name} ref oldName:{oldName} newName:{newName}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//private void Rename(ModuleDef mod)
|
||||
//{
|
||||
// string oldName = mod.Assembly.Name;
|
||||
// string newName = _renameRecordMap.TryGetExistRenameMapping(mod, out var n) ? n : _nameMaker.GetNewName(mod, oldName);
|
||||
// _renameRecordMap.AddRename(mod, newName);
|
||||
// mod.Assembly.Name = newName;
|
||||
// mod.Name = $"{newName}.dll";
|
||||
// //Debug.Log($"rename module. oldName:{oldName} newName:{newName}");
|
||||
// foreach (AssemblyReferenceInfo ass in GetReferenceMeAssemblies(mod))
|
||||
// {
|
||||
// foreach (AssemblyRef assRef in ass.module.GetAssemblyRefs())
|
||||
// {
|
||||
// if (assRef.Name == oldName)
|
||||
// {
|
||||
// _renameRecordMap.AddRename(mod, newName);
|
||||
// assRef.Name = newName;
|
||||
// // Debug.Log($"rename assembly:{ass.name} ref oldName:{oldName} newName:{newName}");
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
private void Rename(TypeDef type, RefTypeDefMetas refTypeDefMeta)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue