Skip to content

Commit 1723a40

Browse files
committed
.NET Reactor: Fix detection of ldtoken virtual opcode in some cases
1 parent 23b7da0 commit 1723a40

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

de4dot.code/deobfuscators/dotNET_Reactor/v4/vm/PatternMatcher.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ private static bool CanInterchange(Instruction ins, OpCode patOpCode)
110110

111111
return (ins.IsLdloc() && patIns.IsLdloc())
112112
|| (ins.IsStloc() && patIns.IsStloc())
113-
|| (ins.IsConditionalBranch() && patOpCode.Name.Replace(".s", "") == ins.OpCode.Name.Replace(".s", ""));
113+
|| (ins.IsConditionalBranch() && patOpCode.Name.Replace(".s", "") == ins.OpCode.Name.Replace(".s", ""))
114+
|| (ins.OpCode.Code is Code.Leave or Code.Leave_S && patOpCode.Code is Code.Leave or Code.Leave_S);
114115
}
115116
}

0 commit comments

Comments
 (0)