Update detection of CS type

This commit is contained in:
de4dot 2012-04-26 14:46:22 +02:00
parent e10dce2d95
commit 960f934c67

View File

@ -93,6 +93,10 @@ namespace de4dot.code.deobfuscators.CliSecure {
"System.Reflection.Assembly",
};
static readonly string[] requiredFields3 = new string[] {
"System.Boolean",
"System.Byte[]",
};
static readonly string[] requiredFields4 = new string[] {
"System.Boolean",
"System.Reflection.Assembly",
"System.Byte[]",
@ -104,7 +108,8 @@ namespace de4dot.code.deobfuscators.CliSecure {
if (type.IsPublic)
continue;
var fieldTypes = new FieldTypes(type);
if (!fieldTypes.exactly(requiredFields1) && !fieldTypes.exactly(requiredFields2) && !fieldTypes.exactly(requiredFields3))
if (!fieldTypes.exactly(requiredFields1) && !fieldTypes.exactly(requiredFields2) &&
!fieldTypes.exactly(requiredFields3) && !fieldTypes.exactly(requiredFields4))
continue;
if (!hasInitializeMethod(type, "_Initialize") && !hasInitializeMethod(type, "_Initialize64"))
continue;