1、编译反编译
将源代码转换成二进制执行代码的过程叫“编译”,那么把二进制执行代码推导出源代码的过程就叫“反编译”(机器码(汇编语言) → 高级编程语言)。像Java、.net这样基于虚拟机技术的语言反编译很容易,但是把C编译生成的exe文件反编译成C代码非常困难。
反编译得到的代码非常接近于源代码,但是多少与源码有差异。举个最简单的例子,比如int i = 1+1 反编译的时候会将代码优化为int i = 2.
1、编译反编译
将源代码转换成二进制执行代码的过程叫“编译”,那么把二进制执行代码推导出源代码的过程就叫“反编译”(机器码(汇编语言) → 高级编程语言)。像Java、.net这样基于虚拟机技术的语言反编译很容易,但是把C编译生成的exe文件反编译成C代码非常困难。
反编译得到的代码非常接近于源代码,但是多少与源码有差异。举个最简单的例子,比如int i = 1+1 反编译的时候会将代码优化为int i = 2.