.net confuser(混淆)開源工具ConfuserEx


.net 混淆器,網上搜尋了很多款,比如Dotfuscator、xeoncode、foxit等等。但大部分收費,當然也有破解版的,github上找到一個ConfuserEx,開源地址:https://github.com/yck1509/ConfuserEx

混淆加殼以及脫殼,反編譯工具常用如下:ConfuserEx、UnConfuserEx、Fixer、ConfuserExStringDecryptor、ConfuserExSwitchKiller、de4dot、ILSpy

1、新建一個C#類庫,ConfuserTest_Library,以及一個控制台程序ConfuserTest_HelloWorld

//控制台程序
using ConfuserTest_Library;
using System;

namespace ConfuserTest_HelloWorld
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(new HelloWorld("ConfuserEx"));
            Console.ReadKey();
        }
    }
}

//測試用類庫
using System;

namespace ConfuserTest_Library
{
    public class HelloWorld
    {
        private string _i_am_Who = string.Empty;
        public HelloWorld(string i_am_Who)
        {
            _i_am_Who = i_am_Who;
        }

        public override string ToString()
        {
            return $"Hello World! I'm {_i_am_Who}";
        }
    }
}

編譯后,用Reflector打開ConfuserTest_HelloWorld.exe,毋庸置疑,可以看到源碼,如下圖:

 

2,現在我們用ConfuserEx混淆一下試試:

下載ConfuserEx后解壓,打開ConfuserEx.exe,把ConfuserTest_HelloWorld.exe(此處注意,拖進來的文件的路徑應該是普通用戶有訪問權限的路徑)拖進來,如下圖:

 

點擊Settings

(1)選擇Packer,(個人理解輸出可執行包,不准確,因為單獨打包類庫,選擇這個則報錯)

(2)Modules->選擇ConfuserTest_HelloWorld.exe

 (3) Rules 點擊+號,true

 如下圖:

 

擊Protest!->Protect! ,提示導出成功(Confused目錄下),

 

在用ILspy打開ConfuserTest_HelloWorld.exe查看

3、如果只是混淆exe文件,這樣就可以了,如果混淆整個項目,則把ConfuserTest_HelloWorld.exe,ConfuserTest_Library.dll都拖進來

這時,混淆后就只有一個ConfuserTest_HelloWorld.exe文件了,但是,點擊運行時正常運行的,confuserEx是把兩個文件給合並了,可以看出ConfuserTest_HelloWorld.exe由原來的5k增加到了18k

4.如果我們只需要混淆某一個dll,這時如果在Settings上選中Packer則報“No executable module!”沒有執行模塊錯誤,所以單獨選擇dll混淆時,不要選擇Packer。

  另外,在設置規則Rules時,還可以編輯選項,如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM