diff --git a/de4dot.code/deobfuscators/CliSecure/vm/CsvmToCilMethodConverter.cs b/de4dot.code/deobfuscators/CliSecure/vm/CsvmToCilMethodConverter.cs index 006b4909..386dcc54 100644 --- a/de4dot.code/deobfuscators/CliSecure/vm/CsvmToCilMethodConverter.cs +++ b/de4dot.code/deobfuscators/CliSecure/vm/CsvmToCilMethodConverter.cs @@ -237,8 +237,9 @@ namespace de4dot.code.deobfuscators.CliSecure.vm { if (csvmMethod.Locals.Length == 0) return locals; + // v6.0.0.5 sometimes duplicates the last two locals so only check for a negative value. int numLocals = reader.ReadInt32(); - if (numLocals < 0 || numLocals != cilMethod.Body.Variables.Count) + if (numLocals < 0) throw new ApplicationException("Invalid number of locals"); for (int i = 0; i < numLocals; i++)