01使用ILDasm.exe将可执行文件反编译成IL代码

时间:2023-03-09 03:34:17
01使用ILDasm.exe将可执行文件反编译成IL代码

控制台代码

using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
            Console.ReadKey();
        }
    }
}

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

开始→所有程序→Microsoft Visutal Studio 2012→Visual Stuio Tools→开发人员命令提示→输入:ildasm.exe,回车:

01使用ILDasm.exe将可执行文件反编译成IL代码

出现ILDasm的界面:

01使用ILDasm.exe将可执行文件反编译成IL代码

找到控制台程序文件bin\Debug下的可执行文件,拖入ILDasm界面:

01使用ILDasm.exe将可执行文件反编译成IL代码

ManiFest中:

01使用ILDasm.exe将可执行文件反编译成IL代码

01使用ILDasm.exe将可执行文件反编译成IL代码

.assembly extern mscorlib 加载外部核心库mscorlib。

.ver 4:0:0:0 引用外部库的版本

.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) 公匙标记,用于唯一确定程序集,实际是SHAI哈希码的低8位字节的反序。

.assembly ConsoleApplication1 编译目标是ConsoleApplication1。

.assembley只加载或编译实际运用到的程序集列表,在程序中using引用到的程序集,如果在程序中没有用到,将被.assembly忽略。

.ctor表示构造函数。

.hash algorithm 0x00008004为了安全性所使用的哈希算法

.ver 1:0:0:0 类的版本信息

.module ConsoleApplication1.exe中.module是程序集指令,指定当前的模块或程序集

.imagebase 0x00400000影像基地址

.file alignment 0x00000200文件对齐

.subsystem 0x0003  连接系统

.corflags 0x00020003运行库头文件,默认为1

主程序类:

01使用ILDasm.exe将可执行文件反编译成IL代码

 

构造函数:

01使用ILDasm.exe将可执行文件反编译成IL代码

 

Main方法:

01使用ILDasm.exe将可执行文件反编译成IL代码