上面的5种反编译相关的工具都是开源的。
最开始反编译工具是
dex2jar可以将dex转化成jar包,然后可以将jar通过jd-gui来转换。
发现这个过程需要两步才能完成,后来直接使用jadx将apk
使用jd-gui/jadx查看代码的时候,跳转以及查找都比较的慢。就使用enjarify(号称可以反编译出来的类最多)将apk反编译成dex,然后使用jadx将dex反编译成java代码,使用Android Studio查看代码。
使用apktool可以反编译出资源文件。
所以现在我的习惯,对于直接给的jar(其它部门的SDK)使用jd-gui。对于不需要去具体看代码的apk使用jadx直接查看。对于可能需要研究的代码,使用enjarify + jadx + Andorid Studio。需要查看资源文件就使用apktool。
一个小的tips,使用
adb命令快速的找到当前在那个界面。
更多的
adb命令还可以查考awesome-adb
最后反编译不是我们学习的全部,但是了解一点还是对开发有帮助的。