SymbolObfus Debug模式时所有命名前加$。只要不重名,不再追加index后缀

backup
walon 2025-05-05 10:14:42 +08:00
parent 07afb0f7ef
commit c875577939
3 changed files with 14 additions and 10 deletions

View File

@ -8,9 +8,16 @@ namespace Obfuz.ObfusPasses.SymbolObfus
private class TestNameScope : NameScopeBase
{
private int _nextIndex;
protected override void BuildNewName(StringBuilder nameBuilder, string originalName)
protected override void BuildNewName(StringBuilder nameBuilder, string originalName, string lastName)
{
nameBuilder.Append($"<{originalName}>{_nextIndex++}");
if (string.IsNullOrEmpty(lastName))
{
nameBuilder.Append($"${originalName}");
}
else
{
nameBuilder.Append($"${originalName}{_nextIndex++}");
}
}
}
@ -18,10 +25,5 @@ namespace Obfuz.ObfusPasses.SymbolObfus
{
return new TestNameScope();
}
public override string GetNewName(ParamDef param, string originalName)
{
return $"${originalName}";
}
}
}

View File

@ -16,7 +16,7 @@ namespace Obfuz.ObfusPasses.SymbolObfus
_nextIndex = 0;
}
protected override void BuildNewName(StringBuilder nameBuilder, string originalName)
protected override void BuildNewName(StringBuilder nameBuilder, string originalName, string lastName)
{
for (int i = _nextIndex++; ;)
{

View File

@ -20,16 +20,18 @@ namespace Obfuz.ObfusPasses.SymbolObfus
}
protected abstract void BuildNewName(StringBuilder nameBuilder, string originalName);
protected abstract void BuildNewName(StringBuilder nameBuilder, string originalName, string lastName);
private string CreateNewName(string originalName)
{
var nameBuilder = new StringBuilder();
string lastName = null;
while (true)
{
nameBuilder.Clear();
BuildNewName(nameBuilder, originalName);
BuildNewName(nameBuilder, originalName, lastName);
string newName = nameBuilder.ToString();
lastName = newName;
if (_preservedNames.Add(newName))
{
return newName;