Inline method

This commit is contained in:
de4dot 2012-03-17 11:19:03 +01:00
parent a3b052d15c
commit 48c7d40fb6

View File

@ -497,30 +497,26 @@ namespace de4dot.code.deobfuscators.Eazfuscator_NET {
return true;
}
// 3.2 (Silverlight)
if (findIntsSilverlight(method, ref initializedAll))
// 3.2+ (Silverlight)
index = DeobUtils.indexOfLdci4Instruction(method, 268435314);
if (index >= 0) {
index--;
index = EfUtils.indexOfPreviousLdci4Instruction(method, index);
if (index < 0)
return false;
i1 = 0;
if (!EfUtils.getNextInt32(method, ref index, out i2))
return false;
// 3.2: true, 3.3+: false
initializedAll = method.Body.Instructions[index].OpCode.Code == Code.Stsfld;
return true;
}
return false;
}
bool findIntsSilverlight(MethodDefinition method, ref bool initializedAll) {
int index = DeobUtils.indexOfLdci4Instruction(method, 268435314);
if (index < 0)
return false;
index--;
index = EfUtils.indexOfPreviousLdci4Instruction(method, index);
if (index < 0)
return false;
i1 = 0;
if (!EfUtils.getNextInt32(method, ref index, out i2))
return false;
initializedAll = method.Body.Instructions[index].OpCode.Code == Code.Stsfld;
return true;
}
bool findIntsCctor(MethodDefinition cctor) {
int index = 0;
if (!findCallGetFrame(cctor, ref index))