IL应用之——用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代码,实现了对接口本质的揭示,认识到其在保持接口特有性(这里不铺开论述。)的基础上, 用抽象类的实现机制及其多态性实现抽象的。
转载于:https://www.cnblogs.com/yangmingming/archive/2010/02/03/1662546.html
IL应用之——用IL分析接口的本质相关推荐
- 拼多多关键词搜索商品详情分析接口(分类ID搜索精准商品数据)代码对接教程
拼多多关键词搜索商品详情分析接口(分类ID搜索精准商品数据)代码对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018) key String 是 调用key(必 ...
- 拼多多搜索商品详情分析接口代码对接教程
拼多多搜索商品详情分析接口代码对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018) key String 是 调用key(必须以GET方式拼接在URL中,点击 ...
- 「技术人生」第2篇:学会分析事物的本质
简介: 对于研发同学而言,探究事物的本质,是最基础最核心最先需要被掌握的技能,没有之一. 作者:贺科学 技术一号位不是岗位,更多的是技术人员在公司中做事的一种心态,这个系列的文章适合所有想要对日常工作 ...
- 网络爬虫--24.【selenium实战】实现拉勾网爬虫之--分析接口获取数据
文章目录 一. 思路概述 二. 分析数据接口 三. 详细代码 一. 思路概述 1.拉勾网采用Ajax技术,加载网页时会向后端发送Ajax异步请求,因此首先找到数据接口: 2.后端会返回json的数据, ...
- python抖音接口_「docker实战篇」python的docker-抖音分析接口数据分析(21)
上节xposed已经安装完毕,设置对应的android的版本和代理服务器. 准备工作 1.xposed和JustTruestMe的安装 2.抖音安装完毕 启动fildder 点击进入指定的粉丝界面 查 ...
- Java写手机专题分析接口_jeesite学习文档API-内容管理模块
内容管理模块功能说明ThinkGem 2014年6月17日 目录 1.管理功能 1.1.内容管理 1.1.1.内容发布 1.1.1.1.概述 栏目列表:以树结构方式显示网站整体设置的栏目,点击在右侧可 ...
- 负反馈分析方法的本质
负反馈的本质原理和计算方法 节点方程 精确 麻烦 替代原理 叠加原理 精确 方便 直观 本质 单端口通用反馈模型 近似 方 ...
- 似然函数的详细分析----似然函数的本质意义
在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性. 似然函数在统计推断中有重大作用,如在最大似然估计和费雪信息之中的应用等等."似然性"与" ...
- [你必须知道的.NET]第十三回:从Hello, world开始认识IL
发布日期:2007.7.22 作者:Anytao ©2007 Anytao.com ,原创作品,转贴请注明作者和出处. 本文将介绍以下内容: IL代码分析方法 Hello, world历史 .NET学 ...
最新文章
- 哪些人工智能公司有望上科创?(一)
- arch linux 同步时间,ArchLinux 设置系统时间
- vue如何split_vue代码分割的实现(codesplit)
- 【ExtJS实践】之五 :常用语句及脚本备忘
- iOS in-app purchase详解
- 票据纸张尺寸对照表_粉丝要求,这期整理一版平面设计必备各种尺寸知识(收藏版))...
- 变分法与最优控制matlab,1987_11变分法与最优控制_10654423.pdf
- vue 倒计时 插件_vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
- 网络工程师考试资料汇总
- java什么是工厂_java – 创建工厂的什么名字是什么? (FooFactoryFactory听起来很傻的imo)...
- 文件服务器 tmp文件夹,Linux管理临时文件tmpfiles
- js中文汉字转拼音详细教程
- 2019下半年的教师资格考试~学霸大佬们总结的记忆口诀涨分必备
- 微信支付【 wx.chooseWXPay、WeixinJSBridge.invoke】
- m=m++到底发生了什么
- linux获取触控板信息,关于linux:Linux-下通过命令行和脚本开关笔记本触控板和其他输入外设...
- 工程管理系统企业工程管理系统简介
- ORA-04091: table xxxx is mutating, trigger/function may not see it
- HTTP_REFERER的用法及伪造及去掉REFERER方法
- 榨汁机、酸奶机、绞肉机、面条机。。。谁在坑你的钱?