zoukankan      html  css  js  c++  java
  • .Net的混淆属性以及ildasm限制的简单解除方法

    .Net 2.0开始提供了两个混淆相关的属性,ObfuscationAttribute 和 ObfuscateAssemblyAttribute 。
    为开发者提供一种批注二进制文件的方法,以便混淆处理工具能够使用最少的外部配置正确处理这些二进制文件。

    混淆处理工具就处理每个对象时就需要判断这个对象是否有这样的属性,如果有还需要把属性的参数值读取出来。然后进行相应处理。
     
    我在做这个时一时手误写错了一个字符,导致程序总是不能正确处理,混淆属性。
    在处理属性时我们只能通过“名称”这个唯一的特征去匹配,拼写错误自然就找不到了。

    这让我联想到了 net 2.0 提供的另一个新属性:SuppressIldasmAttribute。
    将 SuppressIldasmAttribute 属性应用于程序集或模块可防止使用 MSIL 反汇编程序 (Ildasm.exe) 反汇编程序集或模块。

    根据前面的教训,如果ildasm中把 SuppressIldasmAttribute 这个属性名字拼写错了会怎么样呢?
    显然,微软的开发员并没有把它拼写错。

    那我们用编辑器打开 ildasm.exe 搜索 “SuppressIldasmAttribute”,然后人为的让它拼写错误试试。

     

  • 相关阅读:
    Dynamic proxy (good-原创)
    思维导图
    Android学习之 WebView使用小结
    shell语法简单介绍
    php反射类 ReflectionClass
    老鸟的Python新手教程
    腾讯云安装openvz,高速搭建測试环境
    NYOJ-1058 部分和问题
    NGUI ScrollView动态加入和删除对象。
    几种常见模式识别算法整理和总结
  • 原文地址:https://www.cnblogs.com/rick/p/960438.html
Copyright © 2011-2022 走看看