NET探秘:MSIL权威指南学习笔记(1-3)
来源:互联网 发布:杭州淘宝tnt摄影基地 编辑:程序博客网 时间:2024/06/05 14:35
反编译目标程序集:
>ildasm.exe filename.exe /output=123.il
重新编译程序集:
>ilasm.exe 123.il (会生成123.exe,如果输入是dll,那生成的就是dll)
method的标记号没有顺序问题,只和指令的排列顺序有关,比如以下IL代码还是按从上到下的顺序执行:
IL_FF00: nop
IL_FF00: call Profiler.Profile.Start()
IL_0000: nop
IL_0001: ....
跳转指令都有对应的短版本(.s),短版本处理相对于当前行所在位置1字节内的跳转偏移:
比如br,brtrue,brfalse 和 br.s,brtrue.s,brfalse.s
***这个特性特别重要,因为在我的想法里,添加的代码需要使用一个绝对不会重复的标记号,肯定是往大了设置。
***知道这个特性之后,就明白太大会导致短指令失效,所以到时候可能还得改短指令,也许可以将整个程序的短指令都改了,图省事。
il支持别名(.typedef)
类似c的typedef,不同于c++的typedef,因为在任意位置定义的别名都是全局的,而c++是作用域内的
il支持少量的宏语法:
#ifdef / #ifndef / #else / #endif /
#include(不是插入文本,是挂起当前il的解析,然后跳转到处理include的il,类似中断,然后再回来继续)
#define SYM1
#define SYM2 "SomeText" 替换不带引号
#undef SYM1
ilAsm2.0以后支持以下三种简化的作用域引用
.this 本类
.base 基类
.nester 外层类(内置类的外层类)
- NET探秘:MSIL权威指南学习笔记(1-3)
- NET探秘:MSIL权威指南学习笔记(序)
- NET探秘:MSIL权威指南学习笔记(速读4-16)
- 《.NET探秘:MSIL权威指南》读书笔记
- CSS权威指南学习笔记(1)
- (一)802.11无线网络权威指南学习笔记1-3
- 802.11无线网络权威指南学习笔记1-3
- javas权威指南学习笔记(3)--语句
- javascript权威指南学习笔记-客户端javascript(1)
- MongoDB权威指南学习笔记(1)—简介
- 《Maven权威指南》学习笔记1
- juqery权威指南学习笔记-1
- juqery权威指南学习笔记-1
- Android权威编程指南学习笔记1
- Netty权威指南学习笔记1
- Android编程权威指南学习笔记1
- 《netty权威指南》学习笔记1
- Hadoop权威指南学习笔记1
- 并查集实现
- 一个专门讨论如何在3D中实现海洋和森林的网站,做个收藏。
- java构造方法私有化
- 分页思想
- 三维图形数据格式 STL的 读取
- NET探秘:MSIL权威指南学习笔记(1-3)
- java中HashMap详解
- cf 156 div.2 D. Mr. Bender and Square
- Java必须知道的300个问题
- 最好的HTML 5编码教程和参考手册分享
- Hbase 存储结构 数据模型
- 归属感
- 保护模式
- 2012年末随笔