给主程序签名及第三方dll强签名
2016-03-27 22:19
169 查看
给主程序添加签名
![](file:///C:/Users/Administrator/AppData/Local/YNote/data/xjt927@126.com/d8eb8c5a01a947149d862febb4ff0d4f/clipboard.png)
![](http://images2015.cnblogs.com/blog/347515/201603/347515-20160327221823901-313233926.png)
添加完成后会自动生成一个*.pfx文件。
![](file:///C:/Users/Administrator/AppData/Local/YNote/data/xjt927@126.com/768244d6481e4c9a8a12a51a53c2504c/clipboard.png)
![](http://images2015.cnblogs.com/blog/347515/201603/347515-20160327221842354-1915453185.png)
给程序添加强签名方法:
本文以Quartz.dll为例,使用vs Tools下的工具命令。
![](file:///C:/Users/Administrator/AppData/Local/YNote/data/xjt927@126.com/d98e6c21b5be45609d9cf99bc2b2435c/clipboard.png)
![](file:///C:/Users/Administrator/AppData/Local/YNote/data/xjt927@126.com/d98e6c21b5be45609d9cf99bc2b2435c/clipboard.png)
![](http://images2015.cnblogs.com/blog/347515/201603/347515-20160324225703589-737960708.png)
打开命令工具是这个样子,
![](file:///C:/Users/Administrator/AppData/Local/YNote/data/xjt927@126.com/d98e6c21b5be45609d9cf99bc2b2435c/clipboard.png)
![](file:///C:/Users/Administrator/AppData/Local/YNote/data/xjt927@126.com/d0d6b88df4f94dcd878c85afba9ba0fd/clipboard.png)
![](http://images2015.cnblogs.com/blog/347515/201603/347515-20160324225724276-904463177.png)
第一步:生成随机密钥对,
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>sn -k QuartzSnk.snk
第二步:将DLL文件反编译成IL中间语言文件
生成的结果文件为Quartz.il,Quartz.res,Quartz.quartz.config,Quartz.Impl.AdoJobStore.Common.dbproviders.properties,Quartz.Xml.job_scheduling_data_2_0.xsd
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>ildasm E:\DllSnk\Quartz.dll /out:E:\DllSnk\Quartz.il
第三步:将签名密钥写入到DLL中。(注意dll文件名是否重名,可以先写一个不冲突名称合成dll,然后再修改)
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>ilasm E:\DllSnk\Quartz.il /res:E:\DllSnk\Quartz.res /dll /key:QuartzSnk.snk /out:E:\DllSnk\Quartz2.dll
第四步:检查刚才签名是否正确有效。
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>sn -vf E:\DllSnk/Quartz2.dll
特别注意:在签名DLL的时候路径一定不要太长,否则任何一步操作都会失败。最好在磁盘根目录下创建一个文件夹,将需要签名的DLL放到这里进行签名合成。
如我写成这样,提示我“指定了多个输入文件”ildasm D:\Documents\Visual Studio 2013\Source\Bitbucket_Git\AutoUpdate\AutoUpdater\DLL\Quartz.dll /out:E:\DllSnk\Quartz.il
![](file:///C:/Users/Administrator/AppData/Local/YNote/data/xjt927@126.com/d8eb8c5a01a947149d862febb4ff0d4f/clipboard.png)
![](http://images2015.cnblogs.com/blog/347515/201603/347515-20160327221823901-313233926.png)
添加完成后会自动生成一个*.pfx文件。
![](file:///C:/Users/Administrator/AppData/Local/YNote/data/xjt927@126.com/768244d6481e4c9a8a12a51a53c2504c/clipboard.png)
![](http://images2015.cnblogs.com/blog/347515/201603/347515-20160327221842354-1915453185.png)
给程序添加强签名方法:
本文以Quartz.dll为例,使用vs Tools下的工具命令。
![](file:///C:/Users/Administrator/AppData/Local/YNote/data/xjt927@126.com/d98e6c21b5be45609d9cf99bc2b2435c/clipboard.png)
![](file:///C:/Users/Administrator/AppData/Local/YNote/data/xjt927@126.com/d98e6c21b5be45609d9cf99bc2b2435c/clipboard.png)
![](http://images2015.cnblogs.com/blog/347515/201603/347515-20160324225703589-737960708.png)
打开命令工具是这个样子,
![](file:///C:/Users/Administrator/AppData/Local/YNote/data/xjt927@126.com/d98e6c21b5be45609d9cf99bc2b2435c/clipboard.png)
![](file:///C:/Users/Administrator/AppData/Local/YNote/data/xjt927@126.com/d0d6b88df4f94dcd878c85afba9ba0fd/clipboard.png)
![](http://images2015.cnblogs.com/blog/347515/201603/347515-20160324225724276-904463177.png)
第一步:生成随机密钥对,
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>sn -k QuartzSnk.snk
第二步:将DLL文件反编译成IL中间语言文件
生成的结果文件为Quartz.il,Quartz.res,Quartz.quartz.config,Quartz.Impl.AdoJobStore.Common.dbproviders.properties,Quartz.Xml.job_scheduling_data_2_0.xsd
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>ildasm E:\DllSnk\Quartz.dll /out:E:\DllSnk\Quartz.il
第三步:将签名密钥写入到DLL中。(注意dll文件名是否重名,可以先写一个不冲突名称合成dll,然后再修改)
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>ilasm E:\DllSnk\Quartz.il /res:E:\DllSnk\Quartz.res /dll /key:QuartzSnk.snk /out:E:\DllSnk\Quartz2.dll
第四步:检查刚才签名是否正确有效。
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>sn -vf E:\DllSnk/Quartz2.dll
特别注意:在签名DLL的时候路径一定不要太长,否则任何一步操作都会失败。最好在磁盘根目录下创建一个文件夹,将需要签名的DLL放到这里进行签名合成。
如我写成这样,提示我“指定了多个输入文件”ildasm D:\Documents\Visual Studio 2013\Source\Bitbucket_Git\AutoUpdate\AutoUpdater\DLL\Quartz.dll /out:E:\DllSnk\Quartz.il
相关文章推荐
- 20159311《网络攻击与防范》第四周学习总结
- zoj 3211 Dream City
- cvte暑期实习经历
- 二叉搜索树与双向链表(java版)
- [QT入门篇]1 QT中的对象模型
- 第六节 项目质量管理、项目人力资源管理
- redis——redis的创建与部署
- 《Java程序设计》第四周学习总结
- spring MVC 导出excel
- Linux系统管理学习之grup
- BZOJ 3992 SDOI 2015 序列统计 NTT 生成函数 计数 原根
- 表面静如处子其实动如脱兔的static
- 备份LeetCode OJ自己编写的代码
- 整合Acitiviti在线流程设计器(Activiti-Modeler 5.18.0)
- Asp.net中配置Web.config 的UrlRewrite实现伪静态页面的代码
- K60DN512 ADC的ab通道的问题
- C++第二次上机实验-3
- nginx 与 tomcat 集群 一二事 (0) - 简单介绍
- 《修改代码的艺术》 读书笔记
- 机器学习:特征工程