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

    构造函数

  • 相关阅读:
    如何将SLIC集成到ESXi中
    System Board Replacement Notice
    分发器上的会话代理进程控制脚本使用说明
    lib和dll的区别与使用
    vs2017自动生成的#include“stdafx.h”详解及解决方案
    禅定是否一定要打坐,为什么?
    PE文件解析 基础篇
    灵修书籍
    HDU 2546 饭卡(01背包裸题)
    codeforces 767A Snacktower(模拟)
  • 原文地址:https://www.cnblogs.com/darrenji/p/3593950.html
Copyright © 2011-2022 走看看