Don't throw if we can't find all method args in the same block
This commit is contained in:
parent
deda2d5d60
commit
eb002895e1
|
@ -238,8 +238,13 @@ namespace de4dot {
|
||||||
|
|
||||||
bool getArg(MethodReference method, Block block, ref object arg, ref int instrIndex) {
|
bool getArg(MethodReference method, Block block, ref object arg, ref int instrIndex) {
|
||||||
while (true) {
|
while (true) {
|
||||||
if (instrIndex < 0)
|
if (instrIndex < 0) {
|
||||||
throw new ApplicationException(string.Format("Could not find all arguments to method {0}", method));
|
// We're here if there were no cflow deobfuscation, or if there are two or
|
||||||
|
// more blocks branching to the decrypter method, or the two blocks can't be
|
||||||
|
// merged because one is outside the exception handler (eg. buggy obfuscator).
|
||||||
|
Log.v("Could not find all arguments to method {0}", method);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
var instr = block.Instructions[instrIndex--];
|
var instr = block.Instructions[instrIndex--];
|
||||||
switch (instr.OpCode.Code) {
|
switch (instr.OpCode.Code) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user