混淆名默认加$前缀,避免与原始名称冲突
parent
c875577939
commit
7876062292
|
@ -9,16 +9,18 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
|
||||
public class NameMaker : NameMakerBase
|
||||
{
|
||||
private readonly string _namePrefix;
|
||||
private readonly List<string> _wordSet;
|
||||
|
||||
public NameMaker(List<string> wordSet)
|
||||
public NameMaker(string namePrefix, List<string> wordSet)
|
||||
{
|
||||
_namePrefix = namePrefix;
|
||||
_wordSet = wordSet;
|
||||
}
|
||||
|
||||
protected override INameScope CreateNameScope()
|
||||
{
|
||||
return new NameScope(_wordSet);
|
||||
return new NameScope(_namePrefix, _wordSet);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
return new DebugNameMaker();
|
||||
}
|
||||
|
||||
public static INameMaker CreateNameMakerBaseASCIICharSet()
|
||||
public static INameMaker CreateNameMakerBaseASCIICharSet(string namePrefix)
|
||||
{
|
||||
var words = new List<string>();
|
||||
for (int i = 0; i < 26; i++)
|
||||
|
@ -22,7 +22,7 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
words.Add(((char)('a' + i)).ToString());
|
||||
words.Add(((char)('A' + i)).ToString());
|
||||
}
|
||||
return new NameMaker(words);
|
||||
return new NameMaker(namePrefix, words);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,17 +7,20 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
|
||||
public class NameScope : NameScopeBase
|
||||
{
|
||||
private readonly string _namePrefix;
|
||||
private readonly List<string> _wordSet;
|
||||
private int _nextIndex;
|
||||
|
||||
public NameScope(List<string> wordSet)
|
||||
public NameScope(string namePrefix, List<string> wordSet)
|
||||
{
|
||||
_namePrefix = namePrefix;
|
||||
_wordSet = wordSet;
|
||||
_nextIndex = 0;
|
||||
}
|
||||
|
||||
protected override void BuildNewName(StringBuilder nameBuilder, string originalName, string lastName)
|
||||
{
|
||||
nameBuilder.Append(_namePrefix);
|
||||
for (int i = _nextIndex++; ;)
|
||||
{
|
||||
nameBuilder.Append(_wordSet[i % _wordSet.Count]);
|
||||
|
|
|
@ -58,7 +58,7 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
|||
_obfuscationRuleFiles = settings.ruleFiles.ToList();
|
||||
_renameRecordMap = new RenameRecordMap(settings.mappingFile);
|
||||
_virtualMethodGroupCalculator = new VirtualMethodGroupCalculator();
|
||||
_nameMaker = settings.debug ? NameMakerFactory.CreateDebugNameMaker() : NameMakerFactory.CreateNameMakerBaseASCIICharSet();
|
||||
_nameMaker = settings.debug ? NameMakerFactory.CreateDebugNameMaker() : NameMakerFactory.CreateNameMakerBaseASCIICharSet(settings.obfuscatedNamePrefix);
|
||||
}
|
||||
|
||||
public void Init(ObfuscationPassContext ctx)
|
||||
|
|
|
@ -12,6 +12,8 @@ namespace Obfuz.Settings
|
|||
{
|
||||
public bool debug;
|
||||
|
||||
public string obfuscatedNamePrefix = "$";
|
||||
|
||||
[Tooltip("path of mapping.xml")]
|
||||
public string mappingFile = "Assets/Obfuz/SymbolObfus/mapping.xml";
|
||||
|
||||
|
|
Loading…
Reference in New Issue