阻止.NET程序被反编译
编程爱好者
由于.NET使用 MSIL(Microsoft 中间语言),这些比二进制机器码高级很多的可执行文件包含有可以被轻松破译的信息,利用反编译程序,任何人都可以轻松地将它们转换为可读的源代码。幸好Visual Studio .NET 2003 提供了模糊处理工具——Dotfuscator Community Edition来解决这一问题。
Dotfuscator并不会读取或更改你的源代码,它使用名为“重载归纳”的专利重命名技术将已编译的.NET程序中所有的类、方法和字段重命名为无意义的名称,降低MSIL 可读性,引起反向语义混淆,使得反编译难于进行。
Dotfuscator使用非常简单。点击Visual Studio .NET 2003 的工具菜单中的“Dotfuscator Community Edition”,选择新建或打开已有的项目,选择“触发器”选项卡,指定需要处理的程序集,选择“重命名→选项”选项卡,指定映射文件位置。这点非常重要,因为映射文件包含了模糊处理前后名称之间明确的映射关系。最后,选择“生成”选项卡,指定目标目录,点“生成”按钮就可得到处理后的程序。
另外,如果程序使用了强命名,由于模糊处理程序修改了程序集,所以在开发过程中,应该使用延迟签名,然后在模糊处理后完成签名过程。