您的位置:首页 > 其它

给主程序签名及第三方dll强签名

2016-03-27 22:19 169 查看
给主程序添加签名





添加完成后会自动生成一个*.pfx文件。





给程序添加强签名方法:

本文以Quartz.dll为例,使用vs Tools下的工具命令。







打开命令工具是这个样子,






第一步:生成随机密钥对,

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: