原文链接:http://blog.csdn.net/niaonao/article/details/78558056
一、前言
在编程入门时学习C语言,我们都知道GCC编译C语言源码时有四个步骤
预处理:
编译前的步骤,编译器将代码中头文件处理进来,包括宏定义等的处理;
编译:
编译原理中此步骤包括(1)语言和文法、(2)词法分析、(3)语法分析、(4)语法制导翻译、(5)中间代码生成、(6)存储管理、(7)代码优化和(8)目标代码生成这些工作;在这个过程中编译器主要工作就是词法分析、语法分析、语义分析等,将代码翻译成汇编语言。
汇编:
这个过程是把汇编语言转换为机器语言也就是二进制0101010;
链接:
结果为可执行文件;
以Java开发为例,简单的说:
编译是将*.java文件转换为*.class文件的过程;
那么反编译就是将*.class文件转换为*.java文件的过程。
刚接触开发的时候经常遇到下面的情况
某些源码是看不了的,打开文件后是下图所示的这种情况。此时跟踪代码时或者分析某些逻辑时就比较麻烦,不直观,非常影响开发效率。
而反编译工具就是能够将源码转换为Java文件,能够使我们更直观的了解代码逻辑。
这里是基于开发工具Eclipse的图文演示
首先菜单栏选中Help下的Install New Software功能选项
点击Add在弹出框内填写信息,单击OK保存
属性名称属性值
Name jd-eclipse_update_site
Location http://jd.benow.ca/jd-eclipse/update
3-3. Install Java Decompiler Eclipse Plug-in
然后选择出现的资源,单击Next即可;
如果资源已经安装在开发工具上则会给出提示。
一路Next最后Finish完成,会弹出提示框建议重启开发工具。点击重启即可。
打开后选择菜单栏 Window 下的 Preferences 打开 Preferences
选择 General - Editors - File Associations
选中 *.class 文件 default 默认文件打开方式为 Class File Editor
保存设置后,再打开源码*.class文件,就被反编译工具编译过了;
效果如下:
END