我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:荣兴彩票 > 反编译程序 >

反编译exe文件就是把exe还原为汇编?

归档日期:07-07       文本归类:反编译程序      文章编辑:爱尚语录

  一共三个问题:NO1.反编译exe程序就是把exe还原为汇编语言吗?除了还原为汇编语言,还能反编译为其他高级语言吗?比如cc++java等NO2.是不是所有exe程序都可以反编译为汇编语言?NO3.推...

  一共三个问题:NO1. 反编译exe程序 就是 把 exe 还原为汇编语言吗? 除了 还原为 汇编语言,还能 反编译为 其他高级语言吗? 比如 c c++ java 等NO2. 是不是所有exe 程序 都 可以 反编译 为 汇编语言?NO3. 推荐一款 把 exe 程序 反编译为 汇编语言 的 软件。 要求 兼容 windows vista home basic 本人是 有一丁点 汇编基础 的 菜鸟,,希望高手 不吝指教。 谢谢。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  首先了解一下概念,exe程序只是WIN下PE格式的可执行文件的一种,而所谓的计算机执行的代码只是一串二进制数,跟数据没区别,当CS,EIP指向哪,哪里就是程序,而汇编语言之所以叫最底层的语言,是因为, 汇编的每一个语法,都应对了一串二进制的指令,这也就是反汇编的原理,所以NO1.一、反编译exe程序 就是 把 exe 还原为汇编语言吗?,这句话,不能叫还原,应该叫解释,“解释”的东西,没还原的那么逼真,比如,在汇编源程序中所有的标号和注释,进行编译后,变成二进制可执行文件后,在反汇编,标号就变成数字了,而注释更是没了..... 二、除了 还原为 汇编语言,还能 反编译为 其他高级语言吗?不能,高级语言的语法是建立在大量的计算机二进制代码之上的,比如你C语言随便调用一个子函数,到了二进制中,他是先压栈,参数(编译后参数从右往左压,每个语言还不一样),然后就是call 子函数,子函数运行后,他还要清理堆栈,所以你一个句简单的高级语言,其实蕴含了大量的代码,而高级语言编译后的程序,就脱离了他的开发环境,楼上说的会引起你误会,Java的中间码,可以用他自带的反编译工具,因为Java不是编译器,而是解释器,所以他不编译,只是解释他的中间码NO2.所有的exe都可以反汇编,但是你要注意,不只exe这种pe格式,linux下可执行文件是elf,所以你在反汇编的时候,要注意可执行文件的文件的头,而早期的DOS只是纯二进制代码,没有头文件,这个很重要,你要反汇编什么格式,就要选择相应的工具NO3.exe反汇编,当然是OD,不过,我对OD不熟悉,好像他只支持WIN下的反汇编

本文链接:http://flordelotus.net/fanbianyichengxu/713.html