反编译什么意思,具体该怎么用?

反编译什么意思,具体该怎么用?,第1张

反编译:高级语言源程序经过编译变成可执行文件,反编译就是逆过程。计算机软件逆向工程,又称计算机软件恢复工程,是指对其他软件的目标程序(如可执行程序)进行“逆向分析和研究”,从而推导出设计思想、原理、结构、算法、处理过程、 *** 作方法等要素,等被其他软件产品使用,在某些特定情况下可能会衍生出源代码。反编译可以作为开发软件时的参考,也可以直接用于软件产品中。

扩展资料:

如果编译过程中发现源程序有错误,编译程序应报告错误的性质和错误的发生的地点,并且将错误所造成的影响限制在尽可能小的范围内,使得源程序的其余部分能继续被编译下去,有些编译程序还能自动纠正错误,这些工作由错误处理程序完成。需要注意的是,一般上编译器只做语法检查和最简单的语义检查,而不检查程序的逻辑。

参考资料来源:百度百科-编译

参考资料来源:百度百科-反编译

反编译exe文件基本上是不可能的,因为反编译过程由很多因素会干扰,反编译过程:

1、检测程序时候加壳了,如果加壳就必须先去壳。

2、去壳后需要猜测程序员采用的是什么编程语言,编程语言有:java/c/c++/c#/vb/VC++等等。

3、猜测到程序员使用的语言后根据编程语言进行汇编,汇编需要考虑到语言中的语法问题,即使是同种语言,一种命令有多种说法,汇编成功率在20%左右。

4、汇编成功后基本就已经到反编译的顶端了,要从汇编程序翻译成源码可能性为1%。

高级语言源程序经过 编译 变成可执行文件,反编译就是逆过程。

但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。

计算机软件反向工程(Reversepengineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,作为自己开发软件时的参考,或者直接用于自己的软件产品中。

反编译是一个复杂的过程,所以越是高级语言,就越难于反编译,但目前还是有许许多多的反编译软件: VB: VBExplorer 、VB反编译精灵和VBRezQ只能反编译界面图像,好像代码不能完全反编译 JAVA: JAD java的反编译比较常见,所以反编译比较完全, 将class文件反编译成java文件也是有可能的 C++ : eXeScope Dephi: DEDE c#:Reflector 易语言:E-Code Explorer.exe(易格式可执行文件分析器)。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7776249.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存