如果你写的java程序源代码意外丢了,只有服务器运行的编译后的代码怎么办? 这个时候就可以用JADX这款开源的反编译工具逆向出源代码。
开源地址:https://github.com/skylot/jadx
提供一个可视化的操作界面,主要功能

需要安装
JDK 8或更高的版本
sudo pacman -S jadxbrew install jadxflatpak install flathub com.github.skylot.jadx或者直接在https://github.com/skylot/jadx/releases下载安装包

我下载了
jadx-1.4.3.zip,然后执行对应操作系统的脚本


asm-9.3.jar用
jade-gui打开asm-9.3.jar。

可以查看每个类的源码并高亮显示。

右键选择
搜索,可以进行方法名,字段名,注释,代码等信息的搜索,支持正则匹配。

双击变量名和方法名可以高亮所有出现的地方

鼠标定位到方法上右键,查找被调用的地方

如图找到两个调用的地方

一般安卓的apk安装包为了防止被反编译破解。会对代码进行混淆,使得代码难以阅读理解。jadx可以对混淆后的代码进行还原,使代码变得可读。


源码反编译完成后还可以很方便的导出成Gradle工程,方便二次开发。

更多功能广大网友可以继续挖掘。