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

控制台代码

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

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

打开

出现ILDasm的界面:

空

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

拖入界面

ManiFest中:

mainifest1

mainifest2


.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

主程序类:

主程序类

 

构造函数:

构造函数

 

Main方法:

构造函数

posted @ 2014-03-11 14:55  Darren Ji  阅读(770)  评论(0编辑  收藏  举报

我的公众号:新语新世界,欢迎关注。