反编译与反汇编、C++编译过程,包括预编译--汇编--编译--链接

网友投稿 1520 2022-11-20

反编译与反汇编、C++编译过程,包括预编译--汇编--编译--链接

反编译与反汇编、C++编译过程,包括预编译--汇编--编译--链接

反汇编与反编译:

汇编:是把汇编源程序转变为目标程序(当然还不是最终的可执行的,因为还没有连接程序);

编译:就是把通过用高级语言编写的源程序通过编译器转变为目标程序;

反汇编:将可执行的文件中的二进制经过分析转变为汇编程序。

反编译:将可执行的程序经过分析转变为高级语言的源代码格式,一般完全的转换不太可能,编译器的优化等因素在里面。

反汇编得到的是汇编代码反编译得到的是所用语言的源代码

反编译,就是编译的相反动作。

举例来说,例如一个程序用C语言来写,写完之后要编译成​​CPU​​​可以识别和运行的机器代码,也就是生成​​EXE​​程序。

而反编译是反过来,把​​EXE​​反编译成编程源代码,也就是C程序,不过一般反编译大多数都是从机器码反编译为汇编。

其他语言的情况基本也是这样的。至于具体要怎么用,这个就看你的目的了。

但一般情况下是通过反编译主要是用于没有源码的程序的分析,例如破解别人的软件等。

C++编译过程,包括预编译--汇编--编译--链接。

1.预编译

主要展开包含的头文件,宏定义等操作。例如一个简单的main程序,编译预编译后的文件对比。

2.汇编

把已经预编译的文件编译成汇编代码的过程,整个过程会包含语法,词法的分析,和一些优化操作。

3.编译过程

跟汇编可以合成一个阶段,变成目标代码。也就是二进制文件。

4.链接过程

是将单个编译后的文件链接成一个可执行程序。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:吴恩达机器学习系列课程-基础知识
下一篇:图解Springboot集成七牛云并实现图片上传功能过程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~