代码混淆使用Xenocode Postbuild for .NET
软件开发完成之后,如果不是公开源码软件,为防止别人窃取代码,需要对它进行混淆,也称为加密。 经过混淆后的代码,虽然不是绝对安全,但可以防止水平不是特别高同行窃取代码。
现在,代码混淆工具主要有 Xenocode、Dotfuscator、Remotesoft、MaxtoCode、eazfuscator.net 等,将以 Xenocode Postbuild 2010 for .NET 为例说明具体的加密步骤。
1、打开 Xenocode Postbuild 2010 for .NET,选择 Application 选项卡,如图1所示:
图1
2、单击 add... ,定位到待加密软件所在文件夹,双击它添加到 Xenocode 中;选中添加进来的软件,如果是 exe 文件,选择 Preset 右边下拉框中的第一项(即 Basic-Provides a minimal level of protection for executable applications);如果是 dll 文件,选择第二项(即 Aggressive-Recommended form managed executable applications);然后单击 Apply,如图2所示:
图2
3、选择 Protect 选项卡,勾选 Suppress Xenocode Fox and Xenocode-compliant analysis tools 和 Suppress ILDASM and other external reflection tools;选择加密级别(Select the this control flow obfuscation level),最低即默认值是0,最高可设置4级,根据需要设置,如图3所示:
图3
4、单击 Select Strings,打开窗口如图4所示:
图4
选择要加密的字符串,设置好后单击“确定”即可;不过,加密某些字符串后,可能会引起代码错,要注意。
5、图3左边是要加密方法名称,加密什么方法勾选即可,不过也有可能引起程序错误。
6、选择 Output 选项卡,如图5所示:
图5
7、单击右下角的 BuildApplication,则开始加密;如果是安装后第一使用 Xenocode,会弹出一个要求输入签证(License)窗口,选择第一项,把文本文件 serial 中的内容复制进去即可。
8、软件加密好后,一定要每个功能测试一次,检查有无因加密引起的错误,有关加密什么会引起程序错误,将在下篇讲。