探索flutter框架开发的app在移动应用市场的潜力与挑战
1610
2022-11-20
反编译与反汇编、C++编译过程,包括预编译--汇编--编译--链接
反汇编与反编译:
汇编:是把汇编源程序转变为目标程序(当然还不是最终的可执行的,因为还没有连接程序);
编译:就是把通过用高级语言编写的源程序通过编译器转变为目标程序;
反汇编:将可执行的文件中的二进制经过分析转变为汇编程序。
反编译:将可执行的程序经过分析转变为高级语言的源代码格式,一般完全的转换不太可能,编译器的优化等因素在里面。
反汇编得到的是汇编代码反编译得到的是所用语言的源代码
反编译,就是编译的相反动作。
举例来说,例如一个程序用C语言来写,写完之后要编译成CPU可以识别和运行的机器代码,也就是生成EXE程序。
而反编译是反过来,把EXE反编译成编程源代码,也就是C程序,不过一般反编译大多数都是从机器码反编译为汇编。
其他语言的情况基本也是这样的。至于具体要怎么用,这个就看你的目的了。
但一般情况下是通过反编译主要是用于没有源码的程序的分析,例如破解别人的软件等。
C++编译过程,包括预编译--汇编--编译--链接。
1.预编译
主要展开包含的头文件,宏定义等操作。例如一个简单的main程序,编译预编译后的文件对比。
2.汇编
把已经预编译的文件编译成汇编代码的过程,整个过程会包含语法,词法的分析,和一些优化操作。
3.编译过程
跟汇编可以合成一个阶段,变成目标代码。也就是二进制文件。
4.链接过程
是将单个编译后的文件链接成一个可执行程序。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~