打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
IL应用之

IL反编译利器——Ildasm.exe和Reflector.exe:

 

一:Ildasm.exe简介

      这一微软VS自带工具,在上一篇博文《初识Ildasm.exe——IL反编译的实用工具》中已经做了详细介绍,这里不再鳌述;

 

二:Reflector.exe简介

     至此(10.02.03),从 http://www.aisto.com/roeder/dotnet 下载的最新版本为Latest version: 5.1.6.0               ,这里还以上篇中经典的"Hello World."示例演示,当用Reflector.ext打开可执行文件时,主界面如下:

 

 

可见Reflect.exe的功能要强于Ildasm.exe,它可以反编译IL、C#、Visual Basic、Delphi、MC++、甚至是Chrome,而且它的界面更加友好,所以他被冠称为深入IL的最佳利器!

我们先看它所反编译的IL代码是何模样?是否同于Ildasm.exe的效果?图示如下:

 

 

比较之后,可得Reflector.exe具有更容易理解的界面(没有Ildasm.exe中众多的标识符,见上篇博文的MSDN帮助图) 。

当然,之所以称 Reflector.exe为深入IL的最佳利器,是因为它可以反编译IL语言,以及C#语言!这样我们:可以在完全没有源代码的情况下研究所使用的程序集!!!示例图见上上图,所示,我们发现果然编译为了源代码,且完全正确,这太令人惊讶了,而它的作用必定是意义深远的!

 

用IL揭示接口的本质:

 

一:接口本质

    我们先看一个普通的接口定义:如图示:

而用Reflector.exe反编译的IL代码为:

 

可见接口实质上 ,被编译为抽象类,其中接口中的方法,被编译为抽象方法(abstract virtual),没有实现体。

 

二:接口的抽象实现原理

先来看最基本的类继承接口的示例,如下图:

 

而其对应的IL代码,用Reflector.exe编译为:

 

这样可以看到该类中,对应接口的函数,在这里实现了"覆盖"——Override!因此接口的抽象机制,采用多态来实现的!

 

综述之,通过对Reflect.exe的实例应用,了解了更多的IL反编译工具。同时通过IL代码,实现了对接口本质的揭示,认识到其在保持接口特有性(这里不铺开论述。)的基础上, 用抽象类的实现机制及其多态性实现抽象的。

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
通过学习反编译和修改IL,阅读高人的代码,提高自身的水平。
反编译C#的dll文件并修改,再重新生成dll
用Reflector反编译.NET程序
汉化教学基地 -- 汉化新世纪教学站
初识Ildasm.exe
教你使用 Reflexil 反编译.NET
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服