关闭

ILDasm和ILAsm简单使用

标签: stringcilexe
5596人阅读 评论(0) 收藏 举报
分类:

1.       新建ILDasmAndILAsmConApp控制台程序。

static void Main(string[] args)

        {

            string msg = "use ILDasm to ILFile";

            Console.WriteLine(msg);

        }

2.       使用VS命令提示打开exe,并保存为ILDasmAndILAsmConApp.il

 

.method private hidebysig static void  Main(string[] args) cil managed

  {

    .entrypoint

    // 代码大小       15 (0xf)

    .maxstack  1

    .locals init (string V_0)

    IL_0000:  nop

    IL_0001:  ldstr      "use ILDasm to ILFile"

    IL_0006:  stloc.0

    IL_0007:  ldloc.0

    IL_0008:  call       void [mscorlib]System.Console::WriteLine(string)

    IL_000d:  nop

    IL_000e:  ret

  } // end of method Program::Main

3.       ILDasmAndILAsmConApp.il 新增Console.ReadLine()方法。

.method private hidebysig static void  Main(string[] args) cil managed

  {

    .entrypoint

    // 代码大小       15 (0xf)

    .maxstack  1

    .locals init (string V_0)

    IL_0000:  nop

    IL_0001:  ldstr      "use ILDasm to ILFile"

    IL_0006:  stloc.0

    IL_0007:  ldloc.0

    IL_0008:  call       void [mscorlib]System.Console::WriteLine(string)

    IL_000d:  nop

    IL_000e:  call       string [mscorlib]System.Console::ReadLine()

    IL_0013:  pop

    IL_0014:  ret

  } // end of method Program::Main

4.       通过ILAsm,将ILDasmAndILAsmConApp.il生成新的exe

ilasm d:\users\hexe\桌面\ILDasmAndILAsmConApp.il /output=d:\users\hexe\桌面\ILDasmAndILAsmConApp.exe  /exe

 

 

结果:

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:192271次
    • 积分:2793
    • 等级:
    • 排名:第12886名
    • 原创:79篇
    • 转载:51篇
    • 译文:2篇
    • 评论:7条
    最新评论