diff --git a/de4dot.code/de4dot.code.csproj b/de4dot.code/de4dot.code.csproj
index 7c946ab2..c5a3f7a4 100644
--- a/de4dot.code/de4dot.code.csproj
+++ b/de4dot.code/de4dot.code.csproj
@@ -66,17 +66,17 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/de4dot.code/deobfuscators/Agile_NET/Deobfuscator.cs b/de4dot.code/deobfuscators/Agile_NET/Deobfuscator.cs
index 4caf59ad..0533d003 100644
--- a/de4dot.code/deobfuscators/Agile_NET/Deobfuscator.cs
+++ b/de4dot.code/deobfuscators/Agile_NET/Deobfuscator.cs
@@ -85,7 +85,7 @@ namespace de4dot.code.deobfuscators.Agile_NET {
ResourceDecrypter resourceDecrypter;
StackFrameHelper stackFrameHelper;
- vm.Csvm csvm;
+ vm.v1.Csvm csvm;
internal class Options : OptionsBase {
public bool DecryptMethods { get; set; }
@@ -185,7 +185,7 @@ namespace de4dot.code.deobfuscators.Agile_NET {
resourceDecrypter.Find();
proxyCallFixer = new ProxyCallFixer(module);
proxyCallFixer.FindDelegateCreator();
- csvm = new vm.Csvm(DeobfuscatedFile.DeobfuscatorContext, module);
+ csvm = new vm.v1.Csvm(DeobfuscatedFile.DeobfuscatorContext, module);
csvm.Find();
}
@@ -227,7 +227,7 @@ namespace de4dot.code.deobfuscators.Agile_NET {
newOne.stringDecrypter = new StringDecrypter(module, stringDecrypter);
newOne.resourceDecrypter = new ResourceDecrypter(module, resourceDecrypter);
newOne.proxyCallFixer = new ProxyCallFixer(module, proxyCallFixer);
- newOne.csvm = new vm.Csvm(DeobfuscatedFile.DeobfuscatorContext, module, csvm);
+ newOne.csvm = new vm.v1.Csvm(DeobfuscatedFile.DeobfuscatorContext, module, csvm);
return newOne;
}
diff --git a/de4dot.code/deobfuscators/Agile_NET/vm/CilOperandInstructionRestorer.cs b/de4dot.code/deobfuscators/Agile_NET/vm/v1/CilOperandInstructionRestorer.cs
similarity index 98%
rename from de4dot.code/deobfuscators/Agile_NET/vm/CilOperandInstructionRestorer.cs
rename to de4dot.code/deobfuscators/Agile_NET/vm/v1/CilOperandInstructionRestorer.cs
index 313243c0..69b93d5c 100644
--- a/de4dot.code/deobfuscators/Agile_NET/vm/CilOperandInstructionRestorer.cs
+++ b/de4dot.code/deobfuscators/Agile_NET/vm/v1/CilOperandInstructionRestorer.cs
@@ -21,7 +21,7 @@ using dnlib.DotNet;
using dnlib.DotNet.Emit;
using de4dot.blocks;
-namespace de4dot.code.deobfuscators.Agile_NET.vm {
+namespace de4dot.code.deobfuscators.Agile_NET.vm.v1 {
// Tries to restore the operands of the following CIL instructions:
// ldelema
// ldobj
diff --git a/de4dot.code/deobfuscators/Agile_NET/vm/Csvm.cs b/de4dot.code/deobfuscators/Agile_NET/vm/v1/Csvm.cs
similarity index 98%
rename from de4dot.code/deobfuscators/Agile_NET/vm/Csvm.cs
rename to de4dot.code/deobfuscators/Agile_NET/vm/v1/Csvm.cs
index e3030940..055edbec 100644
--- a/de4dot.code/deobfuscators/Agile_NET/vm/Csvm.cs
+++ b/de4dot.code/deobfuscators/Agile_NET/vm/v1/Csvm.cs
@@ -23,7 +23,7 @@ using System.IO;
using dnlib.DotNet;
using de4dot.blocks;
-namespace de4dot.code.deobfuscators.Agile_NET.vm {
+namespace de4dot.code.deobfuscators.Agile_NET.vm.v1 {
class Csvm {
IDeobfuscatorContext deobfuscatorContext;
ModuleDefMD module;
diff --git a/de4dot.code/deobfuscators/Agile_NET/vm/CsvmDataReader.cs b/de4dot.code/deobfuscators/Agile_NET/vm/v1/CsvmDataReader.cs
similarity index 96%
rename from de4dot.code/deobfuscators/Agile_NET/vm/CsvmDataReader.cs
rename to de4dot.code/deobfuscators/Agile_NET/vm/v1/CsvmDataReader.cs
index 60e810f5..6a2753d8 100644
--- a/de4dot.code/deobfuscators/Agile_NET/vm/CsvmDataReader.cs
+++ b/de4dot.code/deobfuscators/Agile_NET/vm/v1/CsvmDataReader.cs
@@ -24,7 +24,7 @@ using dnlib.IO;
using dnlib.DotNet;
using de4dot.blocks;
-namespace de4dot.code.deobfuscators.Agile_NET.vm {
+namespace de4dot.code.deobfuscators.Agile_NET.vm.v1 {
class CsvmDataReader {
IBinaryReader reader;
diff --git a/de4dot.code/deobfuscators/Agile_NET/vm/CsvmMethodData.cs b/de4dot.code/deobfuscators/Agile_NET/vm/v1/CsvmMethodData.cs
similarity index 95%
rename from de4dot.code/deobfuscators/Agile_NET/vm/CsvmMethodData.cs
rename to de4dot.code/deobfuscators/Agile_NET/vm/v1/CsvmMethodData.cs
index 0e67d178..99928842 100644
--- a/de4dot.code/deobfuscators/Agile_NET/vm/CsvmMethodData.cs
+++ b/de4dot.code/deobfuscators/Agile_NET/vm/v1/CsvmMethodData.cs
@@ -19,7 +19,7 @@
using System;
-namespace de4dot.code.deobfuscators.Agile_NET.vm {
+namespace de4dot.code.deobfuscators.Agile_NET.vm.v1 {
class CsvmMethodData {
public Guid Guid { get; set; }
public int Token { get; set; }
diff --git a/de4dot.code/deobfuscators/Agile_NET/vm/CsvmToCilMethodConverter.cs b/de4dot.code/deobfuscators/Agile_NET/vm/v1/CsvmToCilMethodConverter.cs
similarity index 99%
rename from de4dot.code/deobfuscators/Agile_NET/vm/CsvmToCilMethodConverter.cs
rename to de4dot.code/deobfuscators/Agile_NET/vm/v1/CsvmToCilMethodConverter.cs
index b468ef9e..e93d1d02 100644
--- a/de4dot.code/deobfuscators/Agile_NET/vm/CsvmToCilMethodConverter.cs
+++ b/de4dot.code/deobfuscators/Agile_NET/vm/v1/CsvmToCilMethodConverter.cs
@@ -24,7 +24,7 @@ using dnlib.DotNet;
using dnlib.DotNet.Emit;
using de4dot.blocks;
-namespace de4dot.code.deobfuscators.Agile_NET.vm {
+namespace de4dot.code.deobfuscators.Agile_NET.vm.v1 {
class CsvmToCilMethodConverter {
IDeobfuscatorContext deobfuscatorContext;
ModuleDefMD module;
diff --git a/de4dot.code/deobfuscators/Agile_NET/vm/FieldsInfo.cs b/de4dot.code/deobfuscators/Agile_NET/vm/v1/FieldsInfo.cs
similarity index 97%
rename from de4dot.code/deobfuscators/Agile_NET/vm/FieldsInfo.cs
rename to de4dot.code/deobfuscators/Agile_NET/vm/v1/FieldsInfo.cs
index a6945092..875d349d 100644
--- a/de4dot.code/deobfuscators/Agile_NET/vm/FieldsInfo.cs
+++ b/de4dot.code/deobfuscators/Agile_NET/vm/v1/FieldsInfo.cs
@@ -21,7 +21,7 @@ using System;
using System.Collections.Generic;
using dnlib.DotNet;
-namespace de4dot.code.deobfuscators.Agile_NET.vm {
+namespace de4dot.code.deobfuscators.Agile_NET.vm.v1 {
class FieldsInfo {
public static readonly object EnumType = new object();
Dictionary fieldTypes = new Dictionary(StringComparer.Ordinal);
diff --git a/de4dot.code/deobfuscators/Agile_NET/vm/OpCodeHandler.cs b/de4dot.code/deobfuscators/Agile_NET/vm/v1/OpCodeHandler.cs
similarity index 99%
rename from de4dot.code/deobfuscators/Agile_NET/vm/OpCodeHandler.cs
rename to de4dot.code/deobfuscators/Agile_NET/vm/v1/OpCodeHandler.cs
index 1a911df6..625d5638 100644
--- a/de4dot.code/deobfuscators/Agile_NET/vm/OpCodeHandler.cs
+++ b/de4dot.code/deobfuscators/Agile_NET/vm/v1/OpCodeHandler.cs
@@ -24,7 +24,7 @@ using de4dot.blocks;
using dnlib.DotNet;
using dnlib.DotNet.Emit;
-namespace de4dot.code.deobfuscators.Agile_NET.vm {
+namespace de4dot.code.deobfuscators.Agile_NET.vm.v1 {
partial class OpCodeHandler {
public string Name { get; set; }
public OpCodeHandlerSigInfo OpCodeHandlerSigInfo { get; set; }
diff --git a/de4dot.code/deobfuscators/Agile_NET/vm/OpCodeHandlers.cs b/de4dot.code/deobfuscators/Agile_NET/vm/v1/OpCodeHandlers.cs
similarity index 99%
rename from de4dot.code/deobfuscators/Agile_NET/vm/OpCodeHandlers.cs
rename to de4dot.code/deobfuscators/Agile_NET/vm/v1/OpCodeHandlers.cs
index 6b9dd252..3dc9fc80 100644
--- a/de4dot.code/deobfuscators/Agile_NET/vm/OpCodeHandlers.cs
+++ b/de4dot.code/deobfuscators/Agile_NET/vm/v1/OpCodeHandlers.cs
@@ -17,7 +17,7 @@
along with de4dot. If not, see .
*/
-namespace de4dot.code.deobfuscators.Agile_NET.vm {
+namespace de4dot.code.deobfuscators.Agile_NET.vm.v1 {
static partial class OpCodeHandlers {
public static readonly OpCodeHandler[][] opcodeHandlers = new OpCodeHandler[][] {
new OpCodeHandler[] {
diff --git a/de4dot.code/deobfuscators/Agile_NET/vm/UnknownHandlerInfo.cs b/de4dot.code/deobfuscators/Agile_NET/vm/v1/UnknownHandlerInfo.cs
similarity index 98%
rename from de4dot.code/deobfuscators/Agile_NET/vm/UnknownHandlerInfo.cs
rename to de4dot.code/deobfuscators/Agile_NET/vm/v1/UnknownHandlerInfo.cs
index 05557708..b2a08276 100644
--- a/de4dot.code/deobfuscators/Agile_NET/vm/UnknownHandlerInfo.cs
+++ b/de4dot.code/deobfuscators/Agile_NET/vm/v1/UnknownHandlerInfo.cs
@@ -23,7 +23,7 @@ using dnlib.DotNet;
using dnlib.DotNet.Emit;
using de4dot.blocks;
-namespace de4dot.code.deobfuscators.Agile_NET.vm {
+namespace de4dot.code.deobfuscators.Agile_NET.vm.v1 {
class UnknownHandlerInfo {
TypeDef type;
CsvmInfo csvmInfo;
diff --git a/de4dot.code/deobfuscators/Agile_NET/vm/VmOpCodeHandlerDetector.cs b/de4dot.code/deobfuscators/Agile_NET/vm/v1/VmOpCodeHandlerDetector.cs
similarity index 99%
rename from de4dot.code/deobfuscators/Agile_NET/vm/VmOpCodeHandlerDetector.cs
rename to de4dot.code/deobfuscators/Agile_NET/vm/v1/VmOpCodeHandlerDetector.cs
index 5be219cc..7ec49e86 100644
--- a/de4dot.code/deobfuscators/Agile_NET/vm/VmOpCodeHandlerDetector.cs
+++ b/de4dot.code/deobfuscators/Agile_NET/vm/v1/VmOpCodeHandlerDetector.cs
@@ -24,7 +24,7 @@ using dnlib.DotNet.Emit;
using de4dot.blocks;
using de4dot.blocks.cflow;
-namespace de4dot.code.deobfuscators.Agile_NET.vm {
+namespace de4dot.code.deobfuscators.Agile_NET.vm.v1 {
class OpCodeHandlerSigInfo {
public object[] RequiredFieldTypes { get; set; }
public string[] ExecuteMethodLocals { get; set; }
diff --git a/de4dot.code/deobfuscators/Agile_NET/vm/VmOperands.cs b/de4dot.code/deobfuscators/Agile_NET/vm/v1/VmOperands.cs
similarity index 97%
rename from de4dot.code/deobfuscators/Agile_NET/vm/VmOperands.cs
rename to de4dot.code/deobfuscators/Agile_NET/vm/v1/VmOperands.cs
index bfb143a8..108bfff2 100644
--- a/de4dot.code/deobfuscators/Agile_NET/vm/VmOperands.cs
+++ b/de4dot.code/deobfuscators/Agile_NET/vm/v1/VmOperands.cs
@@ -17,7 +17,7 @@
along with de4dot. If not, see .
*/
-namespace de4dot.code.deobfuscators.Agile_NET.vm {
+namespace de4dot.code.deobfuscators.Agile_NET.vm.v1 {
interface IVmOperand {
}