专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

反汇编与逆向编程的区别_java

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/9 5:19:17       共计:3578 浏览

反汇编与逆向编程的区别?

反汇编:一般是只对编译器根据高级语言生成的本机二进制可直接在芯片上执行的机器码”解析“为人类可读的汇编形式的代码(实际上最最早期的计算机操作员具备直接阅读机器码和使用机器码编程的能力,不需要转换为汇编形式,这是计算机普及,程序规模也爆炸性增大后,人们就有需要转换为汇编代码来读懂机器码程序)

早期的反汇编目的是编译器生产商用来检查编译器生成代码的性能。

当今主要在得不到源代码的情况下,研究分析其他人的程序,如病毒程序的分析,系统漏洞的挖掘,或者黑\灰色产业链里的山寨抄袭功能等。通过反汇编分析其功能、算法、逻辑等。

反汇编实际就属于逆向过程,分析得到别人的功能、算法、逻辑后,再根据得到的信息再开发、增加补丁开发、防御产品开发等,在开发的过程根据实际需求而言,比如分析汇编代码得到的一个算法,可以用任意其它编程语言再现,这就是逆向编程了

逆向编程属于逆向工程,

逆向编程一般指根据反向分析别人程序的功能而使用其它编程语言编程再现该功能。

反向分析(逆向工程)不仅仅是反汇编,对不同系统平台语言平台芯片平台的不同也囊括不同内容,如反汇编则基本有对各种芯片(如8086、arm、c51等芯片的反汇编)

反汇编实际属于反编译,反编译就包括各种语言从低级或中间级语言到高级语言的解析

如.NET平台的C#就可由中间语言MSIL反编译成C#

Java平台的就可由.class中的Java字节码反编译为Java代码

后有其它的dex虚拟机的字节码,自定义的虚拟机字节码等等

总言之,反汇编属于反编译的一个分支,

反编译是实现逆向编程的必经步骤

这些都属于IT界的”逆向工程“范畴。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:为什么不能将一个整数赋给一个指针变量_java | ·下一条:idea如何查看引用方法的源码_java

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有