导航

私钥使用及程序加密

Posted on 2015-11-26 15:17  侯小伟  阅读(834)  评论(0)    收藏  举报

私钥使用及程序加密说明

代码加密(混淆)

本文档介绍为DotfuscatorPro 4.9版本,已经上传到共享中,安装步骤略。

共享地址:http://pan.baidu.com/s/1mgkzRE4

Settings → Global Options

  1. 设置Disable String Encryption为No;即启用字符串加密。
  2. 检查Disable Control flow、Dsiable Renaming选项也为No,保证控制流与混淆功能都打开,其它默认。如下图:

 

图1 全局设置

Input

  1. 点击文件夹图标(Ctrl+A),导入需要混淆的dll和exe。
  2. 展开(点击导入文件前的加号)导入的文件。
  3. 去掉Library选项(不要勾选,否则有些类、变量等等不会混淆。)。

 

图2 导入设置

Rename → Options

  1. 勾选Use Enhanced Overload lnduction选项,使用增强模式。
  2. Renaming Scheme下拉列表选择Unprintable(混淆类型为乱码)。

 

图3混淆设置

String Encryption

  1. 勾选需要加密的文件。

 

图4 字符串加密

Settings → Build Settings

  1. 设置输出目标文件夹。
  2. 点击上方绿色小三角(Ctrl+B)生成。

 

图5 设置输出地址

 

注意事项:

  1. 如果加密的文件dll、exe中有Public类,需要被外部引用,那么引用这个Public的相关dll、exe也要一起进行混淆加密,不然外部调用出错。

私钥使用说明

待所有程序开发完成,进行混淆之后,发布之前,发布的管理人员,在使用私钥对程序文件进行统一签名(强签名)。

创建公钥/私钥                                                           

  1. 打开Visual Studio命令提示符(请参考公钥使用说明中注册章节,步骤略)。
  2. 使用命令【sn –k 私钥名称.snk】创建私钥,由专门人员保存。

 

图6 创建密钥(私钥)

  1. 使用命令【sn –p 私钥名称.snk 公钥名称.snk】从私钥中提出公钥,  发给每个开发人员。

 

图7 创建公钥

重新签名(强签名)

格式:SN.exe –Ra Sign.exe Certify.snk

示例:sn –Ra F:\HacFin.exe C:\Users\xiaowei\Desktop\新建文件夹\密钥\ 私钥名称.snk。

 

图8 重新签名(强签名)