为了防止程序发布后被一些“坏人”破解,开发者通常会对自己的代码进行混淆。这篇博客将介绍一款使用很广,并且混淆效果也不错的工具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,也是无法看到源代码的。
感谢您的阅读。