博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
程序集强命名的作用
阅读量:5080 次
发布时间:2019-06-12

本文共 693 字,大约阅读时间需要 2 分钟。

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

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

1、新建一解决方案:VesionTest

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

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

VesionTest引用Information类库

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

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

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

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

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

转载于:https://www.cnblogs.com/shineqiujuan/archive/2011/05/28/2060982.html

你可能感兴趣的文章
用JS制作博客页面背景随滚动渐变的效果
查看>>
JavaScript的迭代函数与迭代函数的实现
查看>>
一步步教你学会browserify
查看>>
Jmeter入门实例
查看>>
亲近用户—回归本质
查看>>
中文脏话识别的解决方案
查看>>
CSS之不常用但重要的样式总结
查看>>
Python编译错误总结
查看>>
URL编码与解码
查看>>
日常开发时遇到的一些坑(三)
查看>>
Eclipse 安装SVN插件
查看>>
深度学习
查看>>
TCP粘包问题及解决方案
查看>>
构建之法阅读笔记02
查看>>
添加按钮
查看>>
移动端页面开发适配 rem布局原理
查看>>
Ajax中文乱码问题解决方法(服务器端用servlet)
查看>>
会计电算化常考题目一
查看>>
阿里云服务器CentOS6.9安装Mysql
查看>>
剑指offer系列6:数值的整数次方
查看>>