高级程序设计语言,比如Java,源代码经过编译生成可执行文件,反编译是逆过程、即用可执行文件生成源代码。安装反编译插件后可以查看没有源代码的程序,方便查找问题。
一、反编译插件安装
1.1、打开Eclipse,点击菜单栏中的Help,选择菜单项Eclipse Marketpalce,弹出的对话框中输入Decompiler,点击Go,选择Enhanced Class Decompiler,Install。
1.2、点击Next继续安装,Enhanced Class Decompiler无缝集成了JD, Jad, FernFlower, CFR, Procyon,用户可以选择安装某个插件,也可以全部安装。
二、反编译插件配置
2.1、点击菜单栏中的Eclipse,选择菜单项Preferences首选项,在弹出的对话框中,依次选择Java>>Decomplier,选择默认的反编译器,笔者习惯JD-Core,因此选择JD-Core。当JDK版本为1.8时建议选择FernFlower,当JDK版本为1.9时建议选择CFR。
2.2、反编译插件提供方便跟踪的功能。勾选“以注释的方式输出原始行号信息”和“根据行号对齐代码以便于调试”,调试程序时可以和源代码一样定位到具体的行号。
歪论:不能跟踪的代码没有价值,面对浩瀚的代码,跟踪是笔者认为最好的入门方式。
三、文件默认编辑器配置
3.1、还是在Preferences首选项对话框中,依次选择General>>Editors>>File Associations,选择*.class和*.class without source的默认编辑器都是Class Decomplier Viewer。
3.2、以上操作完成后,就可以看到反编译后的源代码。
更多信息:
1、Enhanced Class Decompiler 主页
https://ecd-plugin.github.io/ecd/
https://github.com/ecd-plugin/ecd
2、FernFlower 主页
https://github.com/fesh0r/fernflower
3、CFR主页
http://www.benf.org/other/cfr/
4、procyon 主页
https://bitbucket.org/mstrobel/procyon/downloads/