不死鸟之翼吧 关注:308贴子:39,531
  • 2回复贴,共1

.net (MSIL)程序的反汇编

取消只看楼主收藏回复

这是一个C#语言编写的程序,编译后扩展名是.exe,但是并非x86本机代码,而是由.net framework执行的中间语言(IL)
以下是源代码,逻辑很好懂

输出Hello,C#,换行,输出What's your name?
读取一行输入,并输出Hello,(刚才的输入)
如果输入的是ivanlin,那么再额外输出Milawww
运行效果

运行Visual Studio自带的MSIL反汇编程序,打开Hello,CS.exe
找到Main函数,双击
这个程序干了什么就一目了然了

IL虽说是“汇编”,实际上还是非常好懂的
除了.net程序,像Java写出来的程序也是采用类似这样的字节码


IP属地:北京1楼2014-02-06 14:08回复
    @ivanlin25 @Apocalypse_Lee


    IP属地:北京2楼2014-02-06 14:08
    回复
      注意IL_0026是“false跳转”,也就是说如果name不等于"ivanlin",就跳过输出"Milawww"的操作


      IP属地:北京3楼2014-02-06 14:10
      回复