zoukankan      html  css  js  c++  java
  • 程序集强命名的作用

    一个经过强命名的程序集是无法被篡改的。比如微软的System.dll这些程序集都是经过强命名的,我们只能够引用它,无法修改它。

    如果平时不考虑版权问题我们可能很少会用到这个东西。我用一个简单的DEMO演示下强命名的作用.

    1、新建一解决方案:VesionTest

    2、新建一个控制台应用程序项目:VesionTest

    3、新建一个类库项目:Information

    VesionTest引用Information类库

    最后程序发布后我们可以在文件夹里找到这几个文件:Information.dll,VesionTest.exe

    我现在对Information这个项目进行强命名,强命名的方法其实很简单,就是生成密钥对来进行数字签名。操作非常简答,如果要具体的可以参考这位仁兄写的

    http://blog.163.com/j_honghai@126/blog/static/62936215201102524018492/

    如果我不进行强命名会有什么后果呢?如果有人想篡改我的Information程序集,如果我不对Information这个项目进行强命名,那么别人就可以写一个命名和我一样的Information的项目,最后发布一个Information.dll出来,然后替换我原来的版本,最后VesionTest引用到他写的版本去了,这。。。这不就乱套了吗。

    我试过了,我自己新建另外一个Information的类库,去替换经过强命名的dll,在执行exe文件时会有相关的错误提示,如果我把强命名去掉,篡改后的dll是可以被调用的。

    版权保护在某些应用场合还是非常重要的,不可忽视。

  • 相关阅读:
    TensorFlow-Slim 简介+Demo
    AI 常见术语总结
    经典深度学习CNN总结
    YOLO V3 原理
    tf.app.run() 运行结束时,报错:SystemExit exception: no description
    VSCode中相对路径设置问题
    SSD算法原理
    机器学习-交叉熵原理
    tensorflow scope的作用
    水池进水和出水两个线程问题
  • 原文地址:https://www.cnblogs.com/shineqiujuan/p/2060982.html
Copyright © 2011-2022 走看看