1. 阿里云>
  2. 云栖社区>
  3. 主题地图>
  4. W>
  5. 无法il

当前主题:无法il

元数据与IL简介

文/玄魂 1.3.2 元数据 元数据是描述数据的数据。在CLR的上下文中,元数据表示由描述符组成的一套体系,这些操作符包括了在一个模块中被声明或引用的所有项。由于CLR模型是面向对象的,因此在元数据中描述的项是类和它们的成员,以及它们伴随着的特性、属性和关联。

阅读全文

IL系列文章之二:Make Best Use of Our Tools

工欲善其事,必先利其器。这一节我谈的就是我们用于研究IL的工具。 第一篇文章贴出来之后,网上有朋友问我“能不能看到c#程序的IL代码?”。看来还有些朋友对IL的编译与反编译还不太熟悉,所以我个人认为写一篇关于工具的文章还是有必要的。我们的工具主要有三个,第一个

阅读全文

某壳对.Net程序加密的原理及解密探讨四(翻译IL字节码)

在前面几章我们已经能够去掉被加密程序原始的IL字节码了。这些字节码是十六进制的,我人脑直接来阅读是非常困难的。这一章主要介绍将字节码翻译成 可阅读的 MSIL 汇编代码,以及前几章的遗留问题解决。 这里我们将用到上面这个工具软件 IlByteDecoder.

阅读全文

native compile 保护的dotNet本地程序还原成dotNet IL程序集

前面讨论了 .Net 保护中的 native compile 方式 。 提到了 native compile的两种方式 伪编译 和 ngen 编译。仍然没有像C++那样的完全native的编译。 这里要讨论的就是 ngen编译 生成的  ni 文件。 前面讨论

阅读全文

某壳对.Net程序加密的原理及解密探讨五(元数据还原以及IL解码的改进)

前一回讲了 IL字节码的解码问题,并提供了一个小工具,但解码的效果和 ildasm还是差很多,给阅读也带来了一些困难。还有就是有些文件选择文件后解码会出错,这是因为maxtocode对文件里面的元数据进行了随机加密。这一回主要解决元数据的还原以及对解码进行改进

阅读全文

说说emit(中)ILGenerator

说说emit(中)ILGenerator 文/玄魂 在上一篇博客(说说emit(上)基本操作)中,我描述了基本的技术实现上的需求,难度和目标范围都很小,搭建了基本的架子。在代码中实现了程序集、模块、类型和方法的创建,唯一的缺憾是方法体。 方法体是方法内部的逻

阅读全文

《CLR Via C# 第3版》笔记之(七) - const和readonly

C#中经常用const或者readonly来定义不可改变常量,那么如何使用它们呢? 主要内容: const和readonly的区别 readonly的补充说明 1. const和readonly的区别 主要的区别在于 const是在编译时确定值的,readon

阅读全文

[C#6] 2-nameof 运算符

0. 目录 C#6 新增特性目录 1. 老版本的代码 1 using System; 2 namespace csharp6 3 { 4 internal class Program 5 { 6 private static void Main(string[

阅读全文