不死鸟之翼吧 关注:308贴子:39,531
  • 23回复贴,共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
      回复
        大概看得懂


        IP属地:广东4楼2014-02-06 14:36
        收起回复
          鸟鸟下次我的改版能不能拜托你做个电子图鉴


          IP属地:上海5楼2014-02-06 17:33
          收起回复
            推钻石可以用msil看,之后版本作了混淆就


            IP属地:北京来自手机贴吧6楼2014-02-06 20:21
            收起回复
              →_→一想到汇编语言就郁闷……


              来自Android客户端8楼2014-02-07 07:25
              收起回复