2025-05-05 09:31:18 +08:00
|
|
|
|
using dnlib.DotNet;
|
|
|
|
|
using System.Text;
|
2025-04-15 17:49:02 +08:00
|
|
|
|
|
2025-05-04 19:55:10 +08:00
|
|
|
|
namespace Obfuz.ObfusPasses.SymbolObfus
|
2025-04-15 17:49:02 +08:00
|
|
|
|
{
|
2025-05-05 09:31:18 +08:00
|
|
|
|
public class DebugNameMaker : NameMakerBase
|
2025-04-15 17:49:02 +08:00
|
|
|
|
{
|
2025-04-16 18:05:21 +08:00
|
|
|
|
private class TestNameScope : NameScopeBase
|
2025-04-15 17:49:02 +08:00
|
|
|
|
{
|
2025-04-16 18:05:21 +08:00
|
|
|
|
private int _nextIndex;
|
2025-05-05 10:14:42 +08:00
|
|
|
|
protected override void BuildNewName(StringBuilder nameBuilder, string originalName, string lastName)
|
2025-04-16 13:50:58 +08:00
|
|
|
|
{
|
2025-05-05 10:14:42 +08:00
|
|
|
|
if (string.IsNullOrEmpty(lastName))
|
|
|
|
|
{
|
|
|
|
|
nameBuilder.Append($"${originalName}");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
nameBuilder.Append($"${originalName}{_nextIndex++}");
|
|
|
|
|
}
|
2025-04-16 13:50:58 +08:00
|
|
|
|
}
|
2025-04-15 17:49:02 +08:00
|
|
|
|
}
|
|
|
|
|
|
2025-04-16 18:05:21 +08:00
|
|
|
|
protected override INameScope CreateNameScope()
|
2025-04-15 17:49:02 +08:00
|
|
|
|
{
|
2025-04-16 18:05:21 +08:00
|
|
|
|
return new TestNameScope();
|
2025-04-15 17:49:02 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|