一、安装
1.help -- Eclipse
Marketplace...
![](https://i-blog.csdnimg.cn/blog_migrate/f8950b69183182465221c64f879232cf.png)
2.
输入 Decompiler 搜索并安装此插件
![](https://i-blog.csdnimg.cn/blog_migrate/07fd1f3ad6620c56bd366750fd2472e7.png)
3.勾选上所有的反编译插件
![](https://i-blog.csdnimg.cn/blog_migrate/ea29ff6c7114f3876b596ced540b7d7e.png)
4.接受条件
![](https://i-blog.csdnimg.cn/blog_migrate/5d56e0e67fc24a612220b070fcfe3aaf.png)
5.点击ok继续安装
![](https://i-blog.csdnimg.cn/blog_migrate/453aec406e8e1c031c7432edb82b0846.png)
6.yes 重启eclipse
![](https://i-blog.csdnimg.cn/blog_migrate/8c788dab519e3fb26b0c0fecab638d7e.png)
7.window -- Preferences 进入设置页面
![](https://i-blog.csdnimg.cn/blog_migrate/5a35087b776728b662f97c9761455a04.png)
8.对
反编译器( Decompiler )进行配置
![](https://i-blog.csdnimg.cn/blog_migrate/56d78e33808a77419b344839ec4aadbb.png)
二、配置说明
1.缺省类反编译器(Default Class Decompiler):
CFR(支持JDK8):
http://www.benf.org/other/cfr/
用java 6编写,反编译现在的java7 java8等特性
FernFlower(支持JDK8):
https://github.com/fesh0r/fernflower IDEA默认Java反编译器,也是Android Studio的默认Java反编译器
Jad:官网
http://www.kpdus.com无法访问,已经不再更新 不支持java 5及以后版本 想下载的朋友可以访问 https://varaneckas.com/jad/ 下载反编译镜像
Procyon(支持JDK8):
https://bitbucket.org/mstrobel/procyon/overview
擅长:
1.枚举声明
2.枚举和字符串switch语句(到目前为止仅针对javac 1.7进行了测试)
3.本地类(匿名和命名)
4.注释
5.Java 8 Lambdas和方法引用(即::运算符)
JD-Core:
http://jd.benow.ca/
是一个从一个或多个“.class”文件中重构Java源代码的库。JD-Core可用于恢复丢失的源代码并探索Java运行时库的来源。支持Java 5的新功能,如注释,泛型或枚举等
2.缺省类反编译器(Decompiler Settings):
2-1.重用缓存代码:只会反编译一次,以后每次打开该类文件,都显示的是缓存的反编译代码。
2-2.忽略已存在的源代码:若未选中,则查看Class文件是否已绑定了Java源代码,如果已绑定,则显示Java源代码,如果未绑定,则反编译Class文件。若选中此项,则忽略已绑定的Java源代码,显示反编译结果。
2-3. 显示反编译器报告:显示反编译器反编译后生成的数据报告及异常信息。
2-4. 使用Eclipse代码格式化工具:使用Eclipse格式化工具对反编译结果重新格式化排版,反编译整个Jar包时,此操作会消耗一些时间。
2-5. 使用Eclipse成员排序:使用Eclipse成员排序对反编译结果重新格式化排版,反编译整个Jar包时,此操作会消耗大量时间。
2-6. 以注释方式输出原始行号信息:如果Class文件包含原始行号信息,则会将行号信息以注释的方式打印到反编译结果中。
2-7. 根据行号对齐源代码以便于调试:若选中该项,插件会采用AST工具分析反编译结果,并根据行号信息调整代码顺序,以便于Debug过程中的单步跟踪调试。
2-8. 设置类反编译查看器作为缺省的类文件编辑器:默认为选中,将忽略Eclipse自带的Class Viewer,每次Eclipse启动后,默认使用本插件提供的类查看器打开Class文件。
三、查看及导出源码
方法一:右键点中 类 || 接口 || 方法 名,选择Open Declaration,即可进入源码。
方法二:右键点中 类 || 接口 || 方法 名,直接按F3键,即可进入源码。
方法三:常按住Ctrl键,然后点击 类 || 接口 || 方法 名,即可进入源码。(我比较喜欢这种操作方式)
进入源码后,在工具栏中会出现反编译器 点击可修改编译器类型 还可导出反编译代码
![](https://i-blog.csdnimg.cn/blog_migrate/b1bfd0a0224355647a9eff68a2ba92a2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cc3658cb7ce927e798bf26e507f580d1.png)