171213 逆向-.Net基础概念

1625-5 王子昂 总结《2017年12月13日》 【连续第439天总结】
A. .NET平台加解密
B.

概述

  • 统一了编程语言
    无论程序是用C#、C++还是VB编写的,最终都会被编译为.NET的中间语言IL
  • 扩展了PE文件的格式
    可执行文件中保存的不是机器码,而是IL指令和元数据
  • 改变了程序的运行方式
    程序的运行不再由Windows负责,而是.NET框架。.NET框架中的JIT引擎负责在运行时将IL代码即时编译为本地汇编代码再执行

IL指令

中间语言MSIL和高级语言C#、C++和VB比起来要低级许多,所以又称作IL汇编。是.NET的最小执行单位。
但是与asm汇编比起来又要高级,最明显的特征就是IL不直接操作内存。

常用的.net反编译器如.Net Reflector、dnSpy等等都是直接将IL指令反编译成C#语言,通常会很方便
但是如果遇到压缩壳、加密壳等等处理时就会使得IL指令不再跟直接编译的结果相同格式了。此时常见的反编译器就会报错了

微软提供的ildasm可以直接反汇编出IL语句,虽然难以阅读但是通用性要强很多

IL汇编的特点是以堆栈为基础进行操作,变量、操作都在堆栈中进行而不直接得到内存地址(指针)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值