修复 Obfuscator未检查AssembliesToObfuscate和nonObfuscatedButReferencingObfuscatedAssemblies列表存在空或者重复程序集名的问题
parent
28e276eda5
commit
5de469c4a6
|
@ -35,7 +35,9 @@ namespace Obfuz
|
||||||
|
|
||||||
public Obfuscator(ObfuscatorBuilder builder)
|
public Obfuscator(ObfuscatorBuilder builder)
|
||||||
{
|
{
|
||||||
|
CheckSettings(builder.CoreSettingsFacade);
|
||||||
_coreSettings = builder.CoreSettingsFacade;
|
_coreSettings = builder.CoreSettingsFacade;
|
||||||
|
|
||||||
_allObfuscationRelativeAssemblyNames = _coreSettings.assembliesToObfuscate
|
_allObfuscationRelativeAssemblyNames = _coreSettings.assembliesToObfuscate
|
||||||
.Concat(_coreSettings.nonObfuscatedButReferencingObfuscatedAssemblies)
|
.Concat(_coreSettings.nonObfuscatedButReferencingObfuscatedAssemblies)
|
||||||
.ToList();
|
.ToList();
|
||||||
|
@ -59,6 +61,33 @@ namespace Obfuz
|
||||||
_pipeline2.AddPass(new RemoveObfuzAttributesPass());
|
_pipeline2.AddPass(new RemoveObfuzAttributesPass());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void CheckSettings(CoreSettingsFacade settings)
|
||||||
|
{
|
||||||
|
var totalAssemblies = new HashSet<string>();
|
||||||
|
foreach (var assName in settings.assembliesToObfuscate)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(assName))
|
||||||
|
{
|
||||||
|
throw new Exception($"the name of some assembly in assembliesToObfuscate is empty! Please check your settings.");
|
||||||
|
}
|
||||||
|
if (!totalAssemblies.Add(assName))
|
||||||
|
{
|
||||||
|
throw new Exception($"the name of assembly `{assName}` in assembliesToObfuscate is duplicated! Please check your settings.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach (var assName in settings.nonObfuscatedButReferencingObfuscatedAssemblies)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(assName))
|
||||||
|
{
|
||||||
|
throw new Exception($"the name of some assembly in nonObfuscatedButReferencingObfuscatedAssemblies is empty! Please check your settings.");
|
||||||
|
}
|
||||||
|
if (!totalAssemblies.Add(assName))
|
||||||
|
{
|
||||||
|
throw new Exception($"the name of assembly `{assName}` in nonObfuscatedButReferencingObfuscatedAssemblies is duplicated! Please check your settings.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Run()
|
public void Run()
|
||||||
{
|
{
|
||||||
Debug.Log($"Obfuscator Run. begin");
|
Debug.Log($"Obfuscator Run. begin");
|
||||||
|
|
Loading…
Reference in New Issue