From fc497b1688b391f0c68a1a1c3c8e801940579be3 Mon Sep 17 00:00:00 2001 From: de4dot Date: Mon, 20 Feb 2012 03:26:27 +0100 Subject: [PATCH] Add MaxtoCode files --- de4dot.code/de4dot.code.csproj | 1 + .../deobfuscators/MaxtoCode/Deobfuscator.cs | 71 +++++++++++++++++++ .../deobfuscators/Unknown/Deobfuscator.cs | 2 - de4dot.cui/Program.cs | 1 + 4 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 de4dot.code/deobfuscators/MaxtoCode/Deobfuscator.cs diff --git a/de4dot.code/de4dot.code.csproj b/de4dot.code/de4dot.code.csproj index 1b894119..d94fc868 100644 --- a/de4dot.code/de4dot.code.csproj +++ b/de4dot.code/de4dot.code.csproj @@ -156,6 +156,7 @@ + diff --git a/de4dot.code/deobfuscators/MaxtoCode/Deobfuscator.cs b/de4dot.code/deobfuscators/MaxtoCode/Deobfuscator.cs new file mode 100644 index 00000000..2e844702 --- /dev/null +++ b/de4dot.code/deobfuscators/MaxtoCode/Deobfuscator.cs @@ -0,0 +1,71 @@ +/* + Copyright (C) 2011-2012 de4dot@gmail.com + + This file is part of de4dot. + + de4dot is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + de4dot is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with de4dot. If not, see . +*/ + +namespace de4dot.code.deobfuscators.MaxtoCode { + public class DeobfuscatorInfo : DeobfuscatorInfoBase { + public const string THE_NAME = "MaxtoCode"; + public const string THE_TYPE = "mc"; + public DeobfuscatorInfo() + : base() { + } + + public override string Name { + get { return THE_NAME; } + } + + public override string Type { + get { return THE_TYPE; } + } + + public override IDeobfuscator createDeobfuscator() { + return new Deobfuscator(new Deobfuscator.Options { + RenameResourcesInCode = false, + ValidNameRegex = validNameRegex.get(), + }); + } + } + + class Deobfuscator : DeobfuscatorBase { + internal class Options : OptionsBase { + } + + public override string Type { + get { return DeobfuscatorInfo.THE_TYPE; } + } + + public override string TypeLong { + get { return DeobfuscatorInfo.THE_NAME; } + } + + public override string Name { + get { return DeobfuscatorInfo.THE_NAME; } + } + + internal Deobfuscator(Options options) + : base(options) { + } + + protected override int detectInternal() { + return 0; + } + + protected override void scanForObfuscator() { + } + } +} diff --git a/de4dot.code/deobfuscators/Unknown/Deobfuscator.cs b/de4dot.code/deobfuscators/Unknown/Deobfuscator.cs index a6c1bf73..a7e471ff 100644 --- a/de4dot.code/deobfuscators/Unknown/Deobfuscator.cs +++ b/de4dot.code/deobfuscators/Unknown/Deobfuscator.cs @@ -101,8 +101,6 @@ namespace de4dot.code.deobfuscators.Unknown { return "CodeFort"; if (type.FullName == "ZYXDNGuarder") return "DNGuard HVM"; - if (type.FullName == "InfaceMaxtoCode") - return "MaxtoCode"; if (type.Name.Contains("();\t")) return "Manco .NET Obfuscator"; if (Regex.IsMatch(type.FullName, @"^EMyPID_\d+_$")) diff --git a/de4dot.cui/Program.cs b/de4dot.cui/Program.cs index 530fef91..79551516 100644 --- a/de4dot.cui/Program.cs +++ b/de4dot.cui/Program.cs @@ -47,6 +47,7 @@ namespace de4dot.cui { new de4dot.code.deobfuscators.dotNET_Reactor.v4.DeobfuscatorInfo(), new de4dot.code.deobfuscators.Eazfuscator_NET.DeobfuscatorInfo(), new de4dot.code.deobfuscators.Goliath_NET.DeobfuscatorInfo(), + new de4dot.code.deobfuscators.MaxtoCode.DeobfuscatorInfo(), new de4dot.code.deobfuscators.Skater_NET.DeobfuscatorInfo(), new de4dot.code.deobfuscators.SmartAssembly.DeobfuscatorInfo(), new de4dot.code.deobfuscators.Spices_Net.DeobfuscatorInfo(),