jeb和jadx的比较杂谈

jadx又是什么鬼,众所周知,在我们把smali转成java源码时通常是借助d2j+jd-gui,或者是JEB1,这两个软件都有各自的优势和缺陷,前者反编译能力较弱,抗干扰能力很弱,对于一些嵌套循环的反编译展示能力很差,后者反编译能力极强,能够代码跟踪,添加备注,方法重命名等等,相对于jd-gui,代码逻辑性较强,比较友好,但也许是因为是老版本的缘故,毕竟新版依然是2.0,部分情况下,jeb的代码结构有点烂,其次变量名不友好,都是以v0,v1_1这样展示的,需要手动修改,不太方便,那这个时候就出来一个jadx了,我们直接对比下

jd-gui效果:
在这里插入图片描述
结构及其混乱,友好度非常低,简直无法直视

jeb1效果:
在这里插入图片描述
goto是什么鬼,在java中早已摒弃了goto关键字,在c中,goto也是非常不推荐使用的,虽然逻辑感还不错,但在恢复工程时,就有点头疼了

看看我们大杀器,jadx:
在这里插入图片描述

强大的逻辑性,对于需要分析app的人员来说,这简直太TM棒了,优雅的代码展示效果,有意义的变量名,让人一看结构就非常清晰,然而

jadx也是有不少缺陷的:
1:稳定性不够高,依赖于jre,在反编译大型apk时,容易假死和崩溃
2:不支持中文unicode显示
3:抗干扰能力也一般,如下图
在这里插入图片描述

jadx:https://github.com/skylot/jadx
本文转载:https://www.52pojie.cn/thread-457835-1-1.html

下载地址:https://github.com/skylot/jadx/releases

jadx使用:
对于 Mac 或者 Linux,使用 jadx-gui ,Windows 下就需要使用 jadx-gui.bat 了,双击可以直接运行,如果有安全警告,忽略它就可以。

支持的文件类型apk、dex、jar、zip、class、aar,真的强大之前使用过的jd一百倍有木有。

这篇文章写的很详细:
https://blog.csdn.net/Fisher_3/article/details/78654450