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方法:

    构造函数

  • 相关阅读:
    System.Environment.GetFolderPath函数中未开放的枚举参数
    如何获得TextBox里光标位置
    c#中用windows api函数修改内存数据
    C#客户端绑定DataView和DataTable的几个技巧
    如何锁定windows系统以及调用其它系统对话框
    c#中拖动图片的例子
    php数据库操作类mysql
    二级下拉关联菜单 js
    服务器端用 mysql_real_escape_string 清洁客户端数据
    心电正常值范围
  • 原文地址:https://www.cnblogs.com/darrenji/p/3593950.html
Copyright © 2011-2022 走看看