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


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

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

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

     

     

    9-19 StrongNameReferenceLib.dllIL源码

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

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

     

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


    作者:玄魂
    出处:http://www.cnblogs.com/xuanhun/
    原文链接:http://www.cnblogs.com/xuanhun/ 更多内容,请访问我的个人站点 对编程,安全感兴趣的,加qq群:hacking-1群:303242737,hacking-2群:147098303,nw.js,electron交流群 313717550。
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    关注我:关注玄魂的微信公众号

  • 相关阅读:
    非确定的自动机NFA确定化为DFA
    正规式到正规文法与自动机
    3.K均值算法
    2.机器学习相关数学基础
    1. 机器学习概述
    作业十四
    作业十二
    作业十一
    作业十
    作业九
  • 原文地址:https://www.cnblogs.com/xuanhun/p/2559903.html
Copyright © 2020-2023  润新知