首先,我在此申明,此文并不是教别人突破限制,我们只是用学习的眼光看问题

大家都知道ILDasm是。NET程序的反编译工具,它是由Microsoft提供的反编译工具。

它可以直接把。NET程序反编译为IL文件及资源文件,这样即可以非常容易的让黑客进行修改,删除强命名,修改注册码算法等等。。。并且Ilasm再次编译,得到一个正确的,可发布的程序集
并且,这个功能是其它反编译器所不能替代的功能,因为ILDasm真的太重要了。也许有的朋友能理解,有的朋友不能理解,但没关系,我们今天的重点并不是这个。

这是一件不可思议的事,让软件没有了安全保障。幸亏有了XenoCode,它有一项功能即是 Anti ILDasm 。这是一个非常棒的功能,但它是怎么做到的呢?

其实,这是ILDasm的一个限制,当你在程序中制造某个标志后,那么程序集将不可以再被ILDasm反编译,ILDasm会提示您,这个程序集已经是一个被有版权的程序集,您不可能对其反编译。呵呵,我们最可爱的ILDasm会罢工?

我曾经找过相关资料,不过没有找到有什么最简单的方法让自己的程序集变成已有版权的程序集,XenoCode有这样做,不过我不想去分析它。如果有知道的朋友,请与我交流一下

那么我们今天的任务是什么呢?就是把罢工的ILDasm拉回来,让它继续为我们工作。

OK,分析一下吧:经过短暂的分析,让我出了一身汗。。。这样的版权保护有还不如无,一定误导了很多朋友。

为什么我这样说呢?因为我发现,想让ILDasm再次工作,比想象中的简单很多,这根本就档不住任何东西。请看下面我跟踪的代码:

 10042B4BD   E8 8AFCFDFF      CALL  ildasmCr.0040B14C  //报错函数
 2
 3
 400415FC6   E8 12470100      CALL ildasm.0042A6DD    //进入的主函数
 5
 6
 70042AABD   FF51 0C          CALL DWORD PTR DS:[ECX+C]    //判断函数
 80042AAC0   3BF7             CMP ESI,EDI
 90042AAC2   75 0F            JNZ SHORT   ildasm.0042AAD3     //关键跳转地址,改为JMP即可
100042AAC4   68 96010000      PUSH 196
110042AAC9   E8 8964FFFF      CALL ildasm.00420F57
120042AACE   E9 E3090000      JMP ildasm.0042B4B6
13

这已经很明显了,ILDasm只用了一个标志去阻止"已有版权"的程序集,而您只需要修改一个机器指令就可以畅通无阻的反编译任何程序集,并修改其内容再次编译

以上代码您可以自己修改,如果您不会,也可以到   http://www.cnblogs.com/Files/Aiasted/ildasm.rar 下载一个已经修改好的版本。

XenoCode配合强命名的做法,可能从此将会消失

(注:我没有从事过任何。NET程序集的破解,仅仅是看过在ILDasm反编译出来的程序集可以去掉强命名一文,如果有对之处,请指正)

转载于:https://www.cnblogs.com/Aiasted/archive/2005/05/05/149639.html

谈谈ILDasm的功能限制与解除相关推荐

  1. 去掉ILDasm的SuppressIldasmAttribute限制

    去掉ILDasm的SuppressIldasmAttribute限制 原文 去掉ILDasm的SuppressIldasmAttribute限制 今天本打算汉化一个.Net程序的,当用ILDasm打开 ...

  2. 大写锁定怎么解除(笔记本大写锁定怎么解除)

    电脑大写锁定怎么解除 1.首先打开控制面板. 2.接下来在新出现的界面中,点击"时钟.语言和区域". 3.接下来在新出现的界面中,点击"区域和语言". 4.接下 ...

  3. 【基础】Windows 必会技能 ——解除文件夹/文件占用

    文章目录 一.问题 二.解决 1.打开任务管理器 2.打开资源监视器 三.拓展学习 1.任务管理器 (1)打开方式(6种) (2)功能妙用 ①迷你系统监测面板 ②曲线监测图 ③参数快速复制 ④开机启动 ...

  4. 亲身经历:苹果手机该如何解除停用状态

    #iPhone#自从上次用了某胜的屏幕之后,手机稍微触碰或者握紧一下,就会触发屏幕响应. 一开始还以为是设置了什么"轻触屏幕"响应之类的功能.可惜一通操作之后,还是依旧如此. 一失 ...

  5. 【商城应用】类余额宝功能体系设计

    今天想和大家谈谈类似余额宝功能的体系设计,用支付宝的人基本都知道余额宝这个功能体系,简单的来说就是,你把钱从余额转到余额宝中去的话,过几天之后就可以得到对应的收益.今天和大家介绍的,就有点类型这个模式 ...

  6. 【已解决】excel限制条件解除

    Microsoft Excel是微软公司的办公软件Microsoft office的组件之一,是微软办公套装软件的一个重要的组成部分,excel文件也是我们常见的工作文档之一,它可以进行各种数据的处理 ...

  7. 本田智能驾驶功能介绍-ACC/CMBS(AEB)

    基于其全球安全口号 "人人享有安全",努力实现无碰撞社会,本田长期以来一直处于安全技术研究和开发的最前沿.配备Honda SENSING Elite的Legend的推出,代表了在先 ...

  8. 软件定义汽车:本质并行化的有效平台

    软件定义汽车:本质并行化的有效平台 Software-defined automobiles: An efficient platform for essential parallelization ...

  9. Istio 1.1 版本发布,性能和可用性提升

    3月20日,Istio 1.1版本发布,距离Istio 1.0版本发布已经过去了7个月.Istio 1.0版本发布的时候,一些主要新功能包括: 将多个 Kubernetes 集群添加到单个网格中,并启 ...

  10. spring源码解析五

    2019独角兽企业重金招聘Python工程师标准>>> 1.创建用于承载属性的BeanDefinition 这是一个接口,在spring中存在三种实现:RootBeanDefinit ...

最新文章

  1. MySQL中字段约束有哪些_mysql字段约束
  2. ggtree美颜进化树-宏基因组扩增子
  3. 4:springApplication.run 原理
  4. Java递归基础案例-回文字符串的判断
  5. UVA - 10384The Wall Pushers推门游戏(迭代加深)
  6. 【ArcGIS风暴】何为动态投影?这次全面为您揭开ArcGIS中动态投影的神秘面纱!
  7. mysql not exists 效率高_mysql not in、left join、IS NULL、NOT EXISTS 效率问题记录
  8. C++工作笔记-stl中map基础用法(插入,遍历,删除)
  9. c++如何将两个if函数合并_Excel中的VLOOKUP函数,8种使用技巧与你分享
  10. FMCW毫米波雷达原理
  11. python自增_Python 为什么不支持 i++ 自增语法,不提供 ++ 操作符?
  12. 【总结整理】写给非技术产品经理的技术能力要求----摘自《人人都是产品经理》...
  13. BZOJ 1207(dp)
  14. 形容计算机专业好句子,关于形容专业水平高的句子大全 精于专业的名言警句...
  15. 一个简单的Hook demo
  16. android动画效果 translate,详解Android 动画之TranslateAnimation应用的参数说明
  17. jlink 与 swd 接口定义
  18. 多媒体一体机计算机打不开,多媒体教学一体机突然打不开PPT是怎么回事?
  19. 课后习题7.11 医院内科有A,B,C,D,E,F,G共7位医生,每人在一周内要值一次夜班,排班的要求是: (1)A医生值班日比C医生晚1天; (2)D医生值班日比E医生晚2天; (3)B医生值班日比
  20. [CV]光场和它的各种

热门文章

  1. 设置win10自动登录/免密码自动登录方法
  2. S7-300系列PLC如何通过GSD文件实现PROFIBUS DP主从通讯?
  3. 【STC15】使用PCA0和PCA1做的模拟串口
  4. PHP之GD图像处理
  5. LTE无线接入网的架构
  6. java jshell_Java基础教程——Jshell
  7. 一份某品牌天猫专卖店运营计划书
  8. MATLAB基本语法介绍(上)
  9. 药品查询 API数据接口
  10. linux I2C读写应用程序