zoukankan      html  css  js  c++  java
  • 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的界面:

    空

    找到控制台程序文件binDebug下的可执行文件,拖入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方法:

    构造函数

  • 相关阅读:
    连接ACCESS数据库[原创]
    破解金山词霸2007
    上班族饮食十大“夺命”恶习
    C#3.0 新特性速览(1) (2)
    抽象工厂模式(AbstractFactory)创建型模式
    委托创建小记
    八个笑话,八个人生哲理
    自定义对话框[原创]
    一个数字键盘的自定义控件[原创]
    男人绝对需要红颜知己
  • 原文地址:https://www.cnblogs.com/darrenji/p/3593950.html
Copyright © 2011-2022 走看看