修复 Obfuscator未检查AssembliesToObfuscate和nonObfuscatedButReferencingObfuscatedAssemblies列表存在空或者重复程序集名的问题
parent
28e276eda5
commit
5de469c4a6
|
@ -35,7 +35,9 @@ namespace Obfuz
|
|||
|
||||
public Obfuscator(ObfuscatorBuilder builder)
|
||||
{
|
||||
CheckSettings(builder.CoreSettingsFacade);
|
||||
_coreSettings = builder.CoreSettingsFacade;
|
||||
|
||||
_allObfuscationRelativeAssemblyNames = _coreSettings.assembliesToObfuscate
|
||||
.Concat(_coreSettings.nonObfuscatedButReferencingObfuscatedAssemblies)
|
||||
.ToList();
|
||||
|
@ -59,6 +61,33 @@ namespace Obfuz
|
|||
_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()
|
||||
{
|
||||
Debug.Log($"Obfuscator Run. begin");
|
||||
|
|
Loading…
Reference in New Issue