调整SymbolObfus Rule配置格式
parent
27a11f6811
commit
214767623f
|
@ -6,6 +6,7 @@ using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
using System.Xml.Linq;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace Obfuz.ObfusPasses.SymbolObfus
|
namespace Obfuz.ObfusPasses.SymbolObfus
|
||||||
|
@ -585,16 +586,9 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
||||||
}
|
}
|
||||||
switch (element.Name)
|
switch (element.Name)
|
||||||
{
|
{
|
||||||
case "rule":
|
case "rules":
|
||||||
{
|
{
|
||||||
string ruleName = element.GetAttribute("name");
|
ParseRules(xmlFile, element);
|
||||||
RuleType ruleType = ParseRuleType(element.GetAttribute("type"));
|
|
||||||
var key = (ruleName, ruleType);
|
|
||||||
if (_rawRuleElements.ContainsKey(key))
|
|
||||||
{
|
|
||||||
throw new Exception($"Invalid xml file {xmlFile}, duplicate rule name:{ruleName} type:{ruleType}");
|
|
||||||
}
|
|
||||||
_rawRuleElements.Add(key, element);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "assembly":
|
case "assembly":
|
||||||
|
@ -610,6 +604,27 @@ namespace Obfuz.ObfusPasses.SymbolObfus
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ParseRules(string xmlFile, XmlElement rulesNode)
|
||||||
|
{
|
||||||
|
foreach (XmlNode node in rulesNode)
|
||||||
|
{
|
||||||
|
if (!(node is XmlElement ruleEle))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
string ruleName = ruleEle.GetAttribute("name");
|
||||||
|
string ruleTypeName = ruleEle.Name;
|
||||||
|
RuleType ruleType = ParseRuleType(ruleTypeName);
|
||||||
|
var key = (ruleName, ruleType);
|
||||||
|
if (_rawRuleElements.ContainsKey(key))
|
||||||
|
{
|
||||||
|
throw new Exception($"Invalid xml file {xmlFile}, duplicate rule name:{ruleName} type:{ruleType}");
|
||||||
|
}
|
||||||
|
_rawRuleElements.Add(key, ruleEle);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private ModifierType ComputeModifierType(TypeAttributes visibility)
|
private ModifierType ComputeModifierType(TypeAttributes visibility)
|
||||||
{
|
{
|
||||||
if (visibility == TypeAttributes.NotPublic || visibility == TypeAttributes.NestedPrivate)
|
if (visibility == TypeAttributes.NotPublic || visibility == TypeAttributes.NestedPrivate)
|
||||||
|
|
Loading…
Reference in New Issue