私钥使用及程序加密说明
代码加密(混淆)
本文档介绍为DotfuscatorPro 4.9版本,已经上传到共享中,安装步骤略。
共享地址:http://pan.baidu.com/s/1mgkzRE4。
Settings → Global Options
- 设置Disable String Encryption为No;即启用字符串加密。
- 检查Disable Control flow、Dsiable Renaming选项也为No,保证控制流与混淆功能都打开,其它默认。如下图:
图1 全局设置
Input
- 点击文件夹图标(Ctrl+A),导入需要混淆的dll和exe。
- 展开(点击导入文件前的加号)导入的文件。
- 去掉Library选项(不要勾选,否则有些类、变量等等不会混淆。)。

图2 导入设置
Rename → Options
- 勾选Use Enhanced Overload lnduction选项,使用增强模式。
- Renaming Scheme下拉列表选择Unprintable(混淆类型为乱码)。

图3混淆设置
String Encryption
- 勾选需要加密的文件。

图4 字符串加密
Settings → Build Settings
- 设置输出目标文件夹。
- 点击上方绿色小三角(Ctrl+B)生成。

图5 设置输出地址
注意事项:
- 如果加密的文件dll、exe中有Public类,需要被外部引用,那么引用这个Public的相关dll、exe也要一起进行混淆加密,不然外部调用出错。
私钥使用说明
待所有程序开发完成,进行混淆之后,发布之前,发布的管理人员,在使用私钥对程序文件进行统一签名(强签名)。
创建公钥/私钥
- 打开Visual Studio命令提示符(请参考公钥使用说明中注册章节,步骤略)。
- 使用命令【sn –k 私钥名称.snk】创建私钥,由专门人员保存。

图6 创建密钥(私钥)
- 使用命令【sn –p 私钥名称.snk 公钥名称.snk】从私钥中提出公钥, 发给每个开发人员。

图7 创建公钥
重新签名(强签名)
格式:SN.exe –Ra Sign.exe Certify.snk
示例:sn –Ra F:\HacFin.exe C:\Users\xiaowei\Desktop\新建文件夹\密钥\ 私钥名称.snk。

图8 重新签名(强签名)
欢迎阅读侯小伟博客(^v^)。
浙公网安备 33010602011771号