예제 #1
0
        static void Main(string[] args)
        {
            const string  file          = "UnpackMe_Confuser 1.7.exe";
            const string  newFile       = "UnpackMe_Confuser 1.7.deob.exe";
            Deobfuscation deobfuscation = new Deobfuscation(file, newFile);

            deobfuscation.Deobfuscate();

            Patcher patcher = new Patcher(newFile);
            Target  target  = new Target()
            {
                Class     = "Form1",
                Namespace = "Confuser_1._7",
                Method    = "Form1_Load",
                Indexes   = new []
                {
                    0,
                    1,
                    2,
                    3,
                    4,
                    5,
                    6
                }
            };

            patcher.RemoveInstruction(target);
            target.Indexes = null;
            target.Index   = 2;
            patcher.PatchOperand(target, "Patched!");
            patcher.Save("UnpackMe_Confuser 1.7.deob.patch.exe");
        }
예제 #2
0
        /*
         * First field: ioncodes
         * Click Button 1
         * Second field: ionCODES
         * Click Button 2
         * Enjoy Patches MessageBox
         */
        static void Main(string[] args)
        {
            Deobfuscation deobfuscation = new Deobfuscation("UnpackMe2.ori.exe", "UnpackMe2.deob1.exe");

            deobfuscation.Deobfuscate();
            deobfuscation = new Deobfuscation("UnpackMe2.deob1.exe", "UnpackMe2.deob2.exe");
            deobfuscation.Deobfuscate();

            ObfuscationPatcher obfuscationPatcher = new ObfuscationPatcher("UnpackMe2.deob2.exe", false);

            Target[] targets = obfuscationPatcher.FindInstructionsByOperand(new[]
            {
                "bBbBbBbBb",
                "AaAaA",
                "Good"
            });
            foreach (var target in targets)
            {
                target.Instructions = new[]
                {
                    Instruction.Create(OpCodes.Ldstr, "ion"),
                    Instruction.Create(OpCodes.Ldstr, "codes"),
                    Instruction.Create(OpCodes.Ldstr, "Patched!")
                };
            }
            obfuscationPatcher.Patch(targets);

            targets = obfuscationPatcher.FindInstructionsByOperand(new []
            {
                "ameereagle"
            });
            foreach (var target in targets)
            {
                target.Instruction = Instruction.Create(OpCodes.Ldstr, "ioncodes");
            }
            obfuscationPatcher.Patch(targets);

            obfuscationPatcher.Save("UnpackMe2.patched.exe");
        }
예제 #3
0
        static void Main(string[] args)
        {
            Deobfuscation d = new Deobfuscation("Dotfuscator.exe", "Dotfuscator.deob.exe");

            d.Deobfuscate();

            d = new Deobfuscation("SmartAssembly.exe", "SmartAssembly.deob.exe");
            d.Deobfuscate();

            d = new Deobfuscation("Babel.exe", "Babel.deob.exe");
            d.Deobfuscate();

            d = new Deobfuscation("Eazfuscator.exe", "Eazfuscator.deob.exe");
            d.Deobfuscate();

            d = new Deobfuscation("ILProtector.exe", "ILProtector.deob.exe");
            d.Deobfuscate();

            d = new Deobfuscation("Confuser.exe", "Confuser.deob.exe");
            d.Deobfuscate();

            Console.Read();
        }