反汇编与编译的区别
‘壹’ 反汇编与汇编一样吗有什么不同
汇编是最基础的计算机编程语言,用作动词时就是说用汇编语言写成的程序代码经过编译连接之后生成可执行程序的过程。而反汇编就是这个过程的逆过程,一般是针对商业软件或病毒等不知道源程序是如何书写的程序,经过反汇编,将由机器码(即一条条01组成的指令)方向翻译为汇编指令,这样一定程度上可以让人们理解认识程序的编写方式,使用的算法特点等,但是针对反汇编,有许多方法可以加大反汇编的难度,比如说在程序中加壳,使用大量跳转等
‘贰’ 反汇编与逆向编程的区别
反汇编只是按将010二进制码这样的目标码分析解释成Assembler ,所以我们叫DisAssembler,当然这与教科书上的汇编语言是不同的,这是由编译器优化生成的目标代码,而反汇编只是将通过如intel 指令手册就可以将之转换出来,而逆向编程是在反汇编的基础上,然后分析他的逻辑,从而用高级语言或是流式语言进行二次编程,比较常见的,就是使用嵌入asm(c语言),再则因为汇编的条件啥的其实基本都在goto,所以你用老一套的跟,只到你跟出自己的思路来了,那就真的就是逆向编程了,不过现在多是以上两种,当然高手我就没资格评论了.
‘叁’ 汇编与反汇编
可以的,但是反编译的效果最常见的就是反编译成汇编语言,但是说你写一个C的程序已经编译程.exe文件了,然后又想用工具对.exe文件进行反编译,那么就只能反编译到汇编语言的状态,不可能反编译到C的状态,虽然现在网上有些人能反汇编成C,但是效果也不好,有很多的错误。
编译的过程是不可逆的,就好像你把猪杀了做成香肠,然后你又想把想把香肠变成猪一样。最多能把香肠又变成肉末,变成猪你听过吗?道理就这样
‘肆’ 反汇编和反编译的区别
反汇编得到的是汇编代码
反编译得到的是所用语言的源代码
比如,一个c语言写的程序
反汇编得到汇编代码
反编译得到c语言的源代码
‘伍’ 反汇编和反编译得差别
汇编是将汇编语言源程序翻译成目标程序的过程;
编译是将高级语言源程序翻译成目标程序的过程;
反汇编是汇编的逆过程,即将目标程序翻译成汇编程序的过程;
反编译是编译的逆过程。
‘陆’ 我想知道逆向编程与反汇编的区别
反汇编就是把机器语言转为汇编语言代码,正常来讲是用来做DEBUG的,不过现在基本上都是指破解、汉化、和某种目的的“学习”源代码……
至于你说的逆向编程嘛,其实就是程序的逆向工程,一般程序设计时是由模型先分析再设计然后编码,而逆向设计就是从代码入手,以还原数据模型等内容,通俗来讲,这个过程就是仿造,个人认为最好理解的例子就是山寨产品就是逆向工程的代表作……
你看到别人写的某个程序能够做出某种漂亮的动画效果,你通过反汇编、反编译和动态跟踪等方法,分析出其动画效果的实现过程,这种行为就是逆向工程
而且不光软件,很多硬件设计也是通过逆向工程来做产品设计的,比如某公司生产的鼠标为例,就其功能而言,只需要有三个按键就可以满足使用需要,但是,怎样才能让鼠标的手感最好,而且经过长时间使用也不易产生疲劳感?
因此该公司首先根据人体工程学制作了几个模型并交给使用者评估,然后根据评估意见对模型直接进行修改,直至修改到大家都满意为止,最后再将模型数据利用逆向工程软件生成 CAD 数据,然后就是市面上的人体工程学鼠标了
‘柒’ 反汇编是什么
反汇编:把目标代码转为汇编代码的过程。
通常,编写程序是利用高级语言如C,Pascal等高级语言进行编程的,然后再经过编译程序生成可以被计算机系统直接执行的文件。反汇编即是指将这些执行文件反编译还原成汇编语言或其他高级语言。但通常反编译出来的程序与原程序会存在许多不同,虽然执行效果相同,但程序代码 会发生很大的变化,非编程高手很难读懂。
另外,有许多程序也可以 进行逆向操作即反编译以求修改,例如Flash的文件生成的SWF文件,也可以被反汇编成Flash原码,但会发现与原程序有很大变化。反汇编可以通过反汇编的一些软件实现DEBUG也能反汇编的,DEBUG文件位置-u,这样就能实现了。
静态反汇编是从反汇编出来的程序清单上分析,从提示信息入手进行分析。目前,大多数软件在设计时,都采用了人机对话方式。所谓人机对话,即在软件运行过程中,需要由用户选择的地方,软件即显示相应的提示信息,并等待用户按键选择。而在执行完某一段程序之后,便显示一串提示信息,以反映该段程序运行后的状态,是正常运行,还是出现错误,或者提示用户进行下一步工作的帮助信息。为此,如果我们对静态反汇编出来的程序清单进行阅读,可了解软件的编程思路,以便顺利破解。
常用的静态分析工具是W32DASM、OllyDbg IDA和HIEW等。简单地讲,反汇编可以看到软件作者的编程思路,可以破解部分资源,可以将软件汉化等,例如找到它是如何注册的,从而解出它的注册码。
‘捌’ 请问:反汇编与反编译有什么差别
有一定区别~一般编译型语言的程序叫反编译~解释型语言的程序叫反汇编~用IDA的一个插件可以做到反汇编一些程序的到源代码的~
‘玖’ 什么是汇编与反汇编,具体用途在于什么
在计算机专业里“汇编”有作为名词用的和作为动词用的两种意思。做名词时,是“汇编语言”的简称,它是一种把CPU可执行的指令用符号化表示出来的一种语言,是继“机器语言”后的第二代语言(现在常用的C、Basic、Java等属于第三代语言)。作为动词用的时候是指把第三代语言程序转变为汇编语言程序的过程。懂汇编语言的人可以通过修改高级语言汇编出来的程序修改,使它具有更高的运行效率。
“反汇编”是指把可执行程序(如*.exe或*.DLL)转化为汇编语言程序的过程。通过反汇编可以把你没有源代码的可执行程序变成可以阅读的汇编语言程序,你可以从中修改(如:破解密码)或找出它的运做过程(如:找出病毒的感染过程、藏身位置、发作条件等,用手工去除杀毒软件对付不了的病毒)。不过要小心的是不要因为破解人家的软件触犯了法律!
‘拾’ 编译程序得到的汇编码和反汇编得到的汇编码 是不是完全一样
汇编语言编写的程序,反汇编后,是一样的,只是有些标号写法不同。
C语言编写的,反汇编后,显然和C源程序是不同的。
