Exemplo n.º 1
0
        public static string Process(Context ctx, LogInfo info, LogWarn war, LogErr err)
        {
            try
            {
                string      startobf = "Starting ";
                ModuleDefMD module   = ModuleDefMD.Load(ctx.FileName);
                module.GlobalType.FindOrCreateStaticConstructor();
                foreach (TaskID task in ctx.TasksList)
                {
                    switch (task)
                    {
                    case AntiDebugTask.ID:
                    {
                        info(startobf + "Anti-Debug Task...");
                        AntiDebugTask.Execute(module);
                    } break;

                    case StringEncodingTask.ID:
                    {
                        info(startobf + "String encoding Task...");
                        StringEncodingTask.Execute(module);
                    } break;

                    case ControlFlowTask.ID:
                    {
                        info(startobf + "Control Flow Task...");
                        ControlFlowTask.Execute(module);
                    } break;

                    case InvalidMDTask.ID:
                    {
                        info(startobf + "Invalid Metadata Task...");
                        InvalidMDTask.Execute(module);
                    } break;

                    case RenameTask.ID:
                        RenameTask.IsObfuscationActive = true; break;
                    }
                }
                info(startobf + "Rename Task..." + Environment.NewLine);
                RenameTask.Execute(module);
                module.Write(ctx.NewPath, new ModuleWriterOptions()
                {
                    Listener = NETUtils.listener
                });
                return(ctx.NewPath);
            }
            catch (Exception ex)
            {
                err(ex.Message);
                return("");
            }
        }
Exemplo n.º 2
0
 public static string Process(Context ctx, LogInfo info, LogWarn war, LogErr err)
 {
     try
     {
         string startobf = "Starting ";
         ModuleDefMD module = ModuleDefMD.Load(ctx.FileName);
         module.GlobalType.FindOrCreateStaticConstructor();
         foreach (TaskID task in ctx.TasksList)
         {
             switch (task)
             {
                 case AntiDebugTask.ID:
                     {
                         info(startobf + "Anti-Debug Task...");
                         AntiDebugTask.Execute(module);
                     } break;
                 case StringEncodingTask.ID:
                     {
                         info(startobf + "String encoding Task...");
                         StringEncodingTask.Execute(module);
                     } break;
                 case ControlFlowTask.ID:
                     {
                         info(startobf + "Control Flow Task...");
                         ControlFlowTask.Execute(module);
                     } break;
                case InvalidMDTask.ID:
                     {
                         info(startobf + "Invalid Metadata Task...");
                         InvalidMDTask.Execute(module);
                     } break;
                 case RenameTask.ID:
                     RenameTask.IsObfuscationActive = true; break;
             }
         }
         info(startobf + "Rename Task..." + Environment.NewLine);
             RenameTask.Execute(module);
         module.Write(ctx.NewPath, new ModuleWriterOptions() { Listener = NETUtils.listener });
         return ctx.NewPath;
     }
     catch (Exception ex)
     {
         err(ex.Message);
         return "";
     }
 }
Exemplo n.º 3
0
 protected void Warn(string text)
 {
     LogWarn?.Invoke(this, text);
 }