如何在 EXE 中找到 PE 部分和 IL 代码?

How to find PE Section and IL Code inside an EXE?

正如我在 google 中搜索的那样,有一个名为 ILDASM 的工具可以找到 IL Code.But 我想了解有关以下内容的更多信息。

1) 哪个是IL代码?

2) PE Header是什么?

3) CLR如何将IL和PE变成Native代码?

提前致谢。

要回答 1 和 2,以及有关 PE header 和 CLR 加载程序的更多详细信息,请阅读 Simon Cooper 在 simple-talk.com 中的帖子系列。该系列称为 "anatomy of a net assembly",他很好地解释了 PE 中指定 .net 程序集的位置以及所有 clr 人员和元数据存在的位置。

3) 关于 IL,有一个即时 (JIT) 编译器可以及时获取每个方法并将其编译为本机代码。

而且我不明白你关于使 PE 成为原生的最后一点。 PE 是 Windows OS 中的可移植可执行文件,它不仅适用于 .net 程序集。对于 .net,它包含与 CLR 相关的字节部分。