zoukankan      html  css  js  c++  java
  • 程序集强签名

    1、特点

    1.1、强签名的程序集可以注册到GAC(全局应用程序集缓存),不同的应用程序可以共享同一个dll。

    1.2、强签名的库(应用程序)只能引用强签名的库。非强签名的库(应用程序)没有限制,既可以引用强签名的库,也可以引用非强签名的库。(实际测试,强签名的应用只引用非强签名的程序集但不使用是可以的,只要使用了引入库的东西,那就会报:引用的程序集没有强签名)

    1.3、强签名无法保护源代码,但能防止dll被第三方篡改。

    1.4、能防止dll冲突。

    2、方法

    --如果有源代码

    项目 -> 右键 -> 属性 -> 签名:

    Signing panel

    勾选 Sign the assembly(签名程序集)

    Signing panel

    填写 key file name,如果勾选了密码保护key file,那么就输入密码。点击OK就创建好了签名文件。

    将属性保存,然后再次编译,程序集就是强签名程序集了。

    --如果没有源代码

    1、首先创建一个签名key file,可以通过有源代码的方式,创建key file备用;也可以通过VS 控制台执行sn.exe -k D:sn.snk 生成key。

    2、将无源代码的dll,通过 ILDASM.exe MagicOrm.dll /OUTPUT=D:MagicOrm.il进行反汇编

    注意:如果dll有资源文件,同时会生成MagicOrm.res文件

    3、带上签名文件重新汇编为dll,如果有资源文件生成,也需要带上,命令:ILASM.exe MagicOrm.il /dll /output=D:MagicOrm.dll /Key=sn.snk /Resource=MagicOrm.res

    Over

  • 相关阅读:
    [BZOJ4876][ZJOI2017]线段树
    [FJOI2016]建筑师(斯特林数)
    WC2018伪题解
    [BZOJ3514]CodeChef MARCH14 GERALD07加强版(LCT+主席树)
    [BZOJ2594][WC2006]水管局长加强版(LCT+Kruskal)
    [洛谷3796]【模板】AC自动机(加强版)
    [洛谷3808]【模板】AC自动机(简单版)
    [BZOJ3261]最大异或和
    [BZOJ3439]Kpm的MC密码
    [POI2006]Periods of Words
  • 原文地址:https://www.cnblogs.com/humin/p/4435055.html
Copyright © 2011-2022 走看看