1625-5 王子昂 总结《2017年6月14日》 【连续第255天总结】
A..NET平台加解密
B..NET是微软设计的独立于操作系统之上的平台,可以将它看成一套虚拟机,无论机器运行的是什么操作系统,只要该系统安装了.net框架便可以运行.NET可执行横须,享受基于.NET的各种服务。
它统一了编程语言,无论是用C#,C++还是VB编写的,最终都被编译为.NET的中间语言IL
扩展了PE文件的格式,可执行文件中不再保存机器码,而是IL指令和元数据,部分结构也被改变用于保存.NET的相关信息
改变了程序的运行方式,Windows不再直接负责程序的运行,而由.NET框架进行管理,框架中的JIT引擎负责在运行时将IL代码即时编译为本地汇编代码再执行。
MISL:微软中间语言,大多时候简称IL。.NET下有很多种高级语言,常见的包括C#,C++/CLI,VB.NET,但无论是哪一种语言编译后都生成IL。IL是NET唯一支持的语言。大多数时候对.NET程序进行分析和调试,实际上就是对IL的分析和跟踪。由于运行完全受.NET监控,因此IL属于托管代码。
CLR:通用语言运行时。CLR是.NET框架的核心内容之一,可以把它看作一套标准资源,理论上可以被任何.NET程序使用。CLR是IL语言运行的环境。
Metadata与token:在.NET中,Metadata描述了一个可执行文件的所有信息。为了区分各项元数据,需要一个单独的标识,就是token,它是同一程序中区分和定位不同元数据的依据
JIT:即时编译,这是.NET运行可执行程序的基本方式。
Assembly和Module:程序集和模块,它们是构成.NET程序的基本元素,两者是包含的概念:一个或多个含有可执行代码的Module,加上一些必要的控制信息就构成了Assembly。
AppDomain:应用程序域,这是.NET独有的概念。.NET中的进程和线程与WIN32平台下的不同,.NET中程序运行的基本单位是Assembly,几个Assembly可以构成一个AppDomain,通常代码只能访问本域中的数据,几个域可以运行在一个传统意义的进程下。
C.明日计划
CrackMe(24)