為了防止程序發布后被一些“壞人”破解,開發者通常會對自己的代碼進行混淆。這篇博客將介紹一款使用很廣,並且混淆效果也不錯的工具ConfuserEx。
新建一個C# 控制台程序,HelloWorldApp
using System; namespace HelloWorldApp { class Program { static void Main(string[] args) { Console.WriteLine(HelloWorld()); } public static string HelloWorld() { return "Hello World!"; } } }
目前有很多.NET的反編譯工具,例如ILSpy,JustDecompile.下面使用ILSpy對HelloWorldApp.exe進行反編譯。
OK.很輕松就把代碼進行了反編譯。下面介紹如何使用ConfuserEx來對HelloWorldApp進行代碼混淆。
將需要混淆的DLLs或者Exe拖拽到Drag input modules區域。
注意:這里需要額外說明一下,當前HelloWorldApp.exe程序是沒有簽名的。如果我們對DLLs或者Exe簽過名,這里需要額外的將簽名文件添加進來。請看下面的截圖。
選擇對HelloWorldApp.exe簽名的那個Key文件路徑,輸入key對應的密碼。
選擇Global Setting或者單個選擇exe或者dll,點擊右側“+”。
最后一步,點擊Protect,
現在再使用ILSpy對代碼進行反編譯,結果如下,
現在使用ILSpy對其反編譯,看不到源代碼了。同時我也測試了JustDecompile,也是無法看到源代碼的。
感謝您的閱讀。