zoukankan      html  css  js  c++  java
  • 给主程序签名及第三方dll强签名

    给主程序添加签名
     
    添加完成后会自动生成一个*.pfx文件。
     
     
    给程序添加强签名方法:
     
    本文以Quartz.dll为例,使用vs Tools下的工具命令。
     
    打开命令工具是这个样子,
     
     
    第一步:生成随机密钥对,
    C:Program Files (x86)Microsoft Visual Studio 11.0VC>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.0VC>ildasm E:DllSnkQuartz.dll /out:E:DllSnkQuartz.il
     

    第三步:将签名密钥写入到DLL中。(注意dll文件名是否重名,可以先写一个不冲突名称合成dll,然后再修改)

    C:Program Files (x86)Microsoft Visual Studio 11.0VC>ilasm E:DllSnkQuartz.il /res:E:DllSnkQuartz.res /dll /key:QuartzSnk.snk /out:E:DllSnkQuartz2.dll
     
    第四步:检查刚才签名是否正确有效。
    C:Program Files (x86)Microsoft Visual Studio 11.0VC>sn -vf E:DllSnk/Quartz2.dll
     
    特别注意:在签名DLL的时候路径一定不要太长,否则任何一步操作都会失败。最好在磁盘根目录下创建一个文件夹,将需要签名的DLL放到这里进行签名合成。
    如我写成这样,提示我“指定了多个输入文件”ildasm D:DocumentsVisual Studio 2013SourceBitbucket_GitAutoUpdateAutoUpdaterDLLQuartz.dll /out:E:DllSnkQuartz.il
  • 相关阅读:
    SqlServer 利用临时表批量添加&&修改数据库表中的数据
    有关Linux的实时性
    烟囱式到SOA再到微服务
    消费金融前世今生
    其它 一加7t禁止系统更新
    电商 相关底层知识
    CRMEB 基础 列表拖动排序2
    CRMEB 基础 列表拖动排序1
    前端 table排序
    MacBook 关闭访客登陆
  • 原文地址:https://www.cnblogs.com/xjt927/p/5317678.html
Copyright © 2011-2022 走看看