diff --git a/de4dot.code/de4dot.code.csproj b/de4dot.code/de4dot.code.csproj
index 92845367..12f041bb 100644
--- a/de4dot.code/de4dot.code.csproj
+++ b/de4dot.code/de4dot.code.csproj
@@ -79,9 +79,9 @@
-
-
-
+
+
+
diff --git a/de4dot.code/deobfuscators/CodeVeil/Deobfuscator.cs b/de4dot.code/deobfuscators/CodeVeil/v3_v4/Deobfuscator.cs
similarity index 97%
rename from de4dot.code/deobfuscators/CodeVeil/Deobfuscator.cs
rename to de4dot.code/deobfuscators/CodeVeil/v3_v4/Deobfuscator.cs
index 9eba9ea8..6dc094a5 100644
--- a/de4dot.code/deobfuscators/CodeVeil/Deobfuscator.cs
+++ b/de4dot.code/deobfuscators/CodeVeil/v3_v4/Deobfuscator.cs
@@ -22,10 +22,10 @@ using Mono.Cecil;
using Mono.MyStuff;
using de4dot.blocks.cflow;
-namespace de4dot.code.deobfuscators.CodeVeil {
+namespace de4dot.code.deobfuscators.CodeVeil.v3_v4 {
public class DeobfuscatorInfo : DeobfuscatorInfoBase {
public const string THE_NAME = "CodeVeil";
- public const string THE_TYPE = "cv";
+ public const string THE_TYPE = "cv4";
const string DEFAULT_REGEX = @"!^[A-Za-z]{1,2}$&" + DeobfuscatorBase.DEFAULT_VALID_NAME_REGEX;
public DeobfuscatorInfo()
diff --git a/de4dot.code/deobfuscators/CodeVeil/MethodsDecrypter.cs b/de4dot.code/deobfuscators/CodeVeil/v3_v4/MethodsDecrypter.cs
similarity index 99%
rename from de4dot.code/deobfuscators/CodeVeil/MethodsDecrypter.cs
rename to de4dot.code/deobfuscators/CodeVeil/v3_v4/MethodsDecrypter.cs
index c31ac619..b6adea40 100644
--- a/de4dot.code/deobfuscators/CodeVeil/MethodsDecrypter.cs
+++ b/de4dot.code/deobfuscators/CodeVeil/v3_v4/MethodsDecrypter.cs
@@ -27,7 +27,7 @@ using Mono.MyStuff;
using de4dot.blocks;
using de4dot.code.PE;
-namespace de4dot.code.deobfuscators.CodeVeil {
+namespace de4dot.code.deobfuscators.CodeVeil.v3_v4 {
// The code isn't currently encrypted at all! But let's keep this class name.
class MethodsDecrypter {
ModuleDefinition module;
diff --git a/de4dot.code/deobfuscators/CodeVeil/StringDecrypter.cs b/de4dot.code/deobfuscators/CodeVeil/v3_v4/StringDecrypter.cs
similarity index 99%
rename from de4dot.code/deobfuscators/CodeVeil/StringDecrypter.cs
rename to de4dot.code/deobfuscators/CodeVeil/v3_v4/StringDecrypter.cs
index a2978332..9ef17e32 100644
--- a/de4dot.code/deobfuscators/CodeVeil/StringDecrypter.cs
+++ b/de4dot.code/deobfuscators/CodeVeil/v3_v4/StringDecrypter.cs
@@ -23,7 +23,7 @@ using Mono.Cecil;
using Mono.Cecil.Cil;
using de4dot.blocks;
-namespace de4dot.code.deobfuscators.CodeVeil {
+namespace de4dot.code.deobfuscators.CodeVeil.v3_v4 {
class StringDecrypter {
ModuleDefinition module;
TypeDefinition decrypterType;
diff --git a/de4dot.cui/Program.cs b/de4dot.cui/Program.cs
index a9b6fa54..f8d0fb74 100644
--- a/de4dot.cui/Program.cs
+++ b/de4dot.cui/Program.cs
@@ -32,7 +32,7 @@ namespace de4dot.cui {
new de4dot.code.deobfuscators.Unknown.DeobfuscatorInfo(),
new de4dot.code.deobfuscators.Babel_NET.DeobfuscatorInfo(),
new de4dot.code.deobfuscators.CliSecure.DeobfuscatorInfo(),
- new de4dot.code.deobfuscators.CodeVeil.DeobfuscatorInfo(),
+ new de4dot.code.deobfuscators.CodeVeil.v3_v4.DeobfuscatorInfo(),
new de4dot.code.deobfuscators.CryptoObfuscator.DeobfuscatorInfo(),
new de4dot.code.deobfuscators.DeepSea.DeobfuscatorInfo(),
new de4dot.code.deobfuscators.Dotfuscator.DeobfuscatorInfo(),