强名称(3)强名称的脆弱性

通过前文共同体验了强名称对程序集的保护方式和原理,但是这种保护的强度到底有多大呢?能有效地防御恶意篡改者吗?先看下面的例子。

回到上篇文章的代码清单9-7,重新对StrongNameReferenceLib项目进行强名称签名,然后编译StrongName项目。在StrongName项目的bin目录里有StrongNam.exe和StrongNameReferenceLib.dll两个文件,然后使用ILDasm打开StrongNameReferenceLib.dll文件,转储为il文件,这里使用记事本打开il文件,如图9-19所示。

图9-19 StrongNameReferenceLib.dllIL源码

在.il文件中找到三处代码:publickkeytoken、publickey和hash,把对应的内容都删除,再重新使用ILAsm编译,这时该程序集的强名称就被成功去除。

替换程序集的强名称方法基本相同。目前网络上有很多去除和替换强名称的工具,这里不再演示。

----------------------------注:本文部分内容改编自《.NET 安全揭秘》

转载于:https://www.cnblogs.com/xuanhun/archive/2012/06/24/2559903.html

强名称(3)强名称的脆弱性相关推荐

  1. 扩展和修改 Enterprise Library 缓存应用程序块

    在它的原始状态中,缓存应用程序块在典型的缓存情况下工作得很好,然而,许多时候你不得不定制应用程序块的某些行为以更好的适用于应用程序的特定环境.在此有二种方法可以用来定制:扩展和修改. 扩展应用程序块 ...

  2. 你不知道的常用 代码分析 规范

    visual studio有个功能,代码分析,一般开发完毕后,除了处理常规的"错误列表"显示的"错误"和"警告",我们更加应该注意的是,运行 ...

  3. 关于签名时加密失败错误的解决

    原链接:http://blog.csdn.net/gslcn/article/details/2061510 搜集自csdn 有些开源项目,在编译时会有一大堆的错误,其中最常见的是:      对程序 ...

  4. Net关于签名时加密失败错误的解决

    搜集自csdn 有些开源项目,在编译时会有一大堆的错误,其中最常见的是:      对程序集"XXX.dll"签名时加密失败   --"读取密钥文件"XXXX. ...

  5. 创建一个强名称密钥文件+ 如何在 Visual C# .NET 中将程序集安装到全局程序集缓存中...

    创建强名称密钥文件 单击"开始",依次指向"程序"."Microsoft Visual Studio 2005"."Visual ...

  6. 引用程序集没有强名称解决办法

    引用程序集没有强名称解决办法(http://www.cnblogs.com/tearer/archive/2010/09/01/1814655.html) 为项目添加强名称方法: 1.右键单击项目,打 ...

  7. 为没有源码的DLL文件添加强名称

    如果项目中引用了其他没有源码的dll文件,并且此dll文件是没有强名称的程序集,则编译时会出现类似 "Assembly generation failed -- 引用的程序集 'xxxxxx ...

  8. .Net 强名称签名程序集

    项目--属性--签名--选中为程序集签名--选择强名称密钥文件--新建 重新编译即可 多用于作为COM组件与其他程序交互 强名称签名的程序集如果被篡改,那么CLR在加载该程序集进行完整性验证的时候就会 ...

  9. 强名称程序集(strong name assembly)——为程序集赋予强名称

    引言: 在曾经的项目开发中,在程序集中见到过一个后缀为*.snk的文件.当时看这个文件的图标.感觉可能是企业内部保护版权啥的一种方式. 一,强程序集攻克了哪些问题? 1,唯一标识一个程序集 2,放置程 ...

最新文章

  1. jsPlumb(3)-基本概念
  2. R语言使用download.file函数下载网络文件到本地(Download File from the Internet)
  3. JAVA多线程学习小结
  4. Android Hook (1) Dexposed原理
  5. 给定数组 求和等于固定值 算法_别人家的面试题:不可变数组快速范围求和
  6. S3C6410 裸机硬件JPEG解码(转)
  7. less、Element-UI等安装配置
  8. 资源放送丨《并行不悖——Oracle数据库并行的是是非非》PPT视频
  9. Kubernetes[3]-Server
  10. uni-app 2.2 发布,大幅度优化 H5 端性能体验 | 技术头条
  11. 微信公众号-回复消息触发时间绑定EventKEY
  12. 谷歌字体 Google Fonts
  13. 社会工程学:关于一些信息收集的网站
  14. 如何阅读一本好书:APUE
  15. C#利用控件拖拽技术制作拼图游戏
  16. 18.2 增强型图元文件
  17. iar for arm 第一课
  18. 电脑PC端微信提示:你的微信崩溃次数较多,建议使用最新版本
  19. java下载图片到本地,例如从网上下载图片,下载淘宝图片,下载百度图片等
  20. 丰田发布“大眼萌”机器人,只有手掌大小!

热门文章

  1. kotlin环境配置
  2. 2022牛客寒假算法基础集训营1 签到题7题
  3. HDOJ水题集合8:DBFS
  4. NYOJ463 - 九九乘法表
  5. mysql 数字处理方法_mysql中保留字段中的数字的处理方法。
  6. matlab矩阵元素绝对值,如何解决矩阵内部元素绝对值化
  7. jQuery之创建节点
  8. html5之input标签学习
  9. python neo4j_在Python中使用Neo4j的方法
  10. UnityGI2:Lightmaps