反编译工具篇 1) jadx 爆锤 jeb 和 GDA

反编译工具篇 GDA Jadx-Gui Jeb的对比

00 前言:

视频演示:https://space.bilibili.com/430241559

首先,这只是我对自己常用的几个反编译器的对比,带有强烈的主观倾向。

然后,我对这几个工具的作者都十分尊重,感恩他们写出了这么好的工具,这里并没有拉一个打一个,或者贬低谁的意思,我觉得都是大佬。

至少人家编译原理的熟悉程度,不是我不能比的,我还要再学挺久才能到达人家那个高度。

还有,对比的只是我自己经常用的功能,我并没有像素级的使用每个功能,并详细对比,结论也会一定程度的偏颇,大家这里做个参考就好。

这里,我只是站在一个普通使用者的角度。去开箱做对比,没人给我塞钱让我说好话或说坏话,毕竟我也没啥知名度,只是个小透明。


这里主要登场的工具版本号是

GDA3.95 免费版 (收费版我没用过,想着后续跟工地申请一下,买一年用下)

jadx-gui 1.2.0

jeb pro 3.19 (实测 jeb pro4.3跟这一版 区别不大)


工具截图

这里我经常用的反编译工具主要有3个 GDA jadx-gui Jeb 这里先上一下工具截图

image-20210718135911756

上图有的工具不是最新版,主要是因为懒得去更新,而不是因为我选的这个版本版本稳定啊之类的。

下面用网上的一个apk样本,和我自己写的一个apk样本, 简单说一下这三个工具的优缺点。

01 apk样本相关

样本1

来源:

https://www.52pojie.cn/thread-311989-1-1.html

样本1 是被 dexguard加固壳加固过的样本,dexguard在国内用户不多,是歪果仁写的加固壳, 这个加固壳的特点就是,java层混淆很强,比国内的很多壳强多了。

这个样本是14年的,混淆不是那么变态,这两年的dexguard真是让人看了就想直接回收站。

image-20210717142632323

样本2

来源:一个不愿透漏姓名的某铁头 自己写的

某铁头自己写的这个apk,写了一个字符串加密的方法,并且进行了调用,就是为了让大佬们对比某工具,反混淆优化的效果。

image-20210718145316084

之所以选择这两个样本,是为了更好的展示这几个反编译器的优缺点。


02 JADX-GUI 登场

github地址:https://github.com/skylot/jadx

编译好的release版本地址: https://github.com/skylot/jadx/releases

当前演示版本:1.2.0

Jadx-Gui的优点

1.反编译的代码可读性强

1.1 有调试信息的apk反编译对比:

首先看源代码

image-20210717154736883
image-20210717153949792
image-20210717154456741

在有调试信息的apk里, 完美还原了所有的变量名。

看完smali, 看看反编译的java代码。

image-20210717234041817

这里看看友商的表现

1.1.1 jeb出来挨锤

首先是 debug版带调试信息apk Jeb 和 Jadx反编译的对比

这里可以看到,参数和一个局部变量的名字并没有完美还原。

image-20210718000632314

行吧,下一个。

行吧 这一场 jadx-gui 成功 ko Jeb .

1.1.2 GDA出来挨锤
image-20210718004615153

这里e2 我猜测作者 可能是考虑到多重异常嵌套的情况下

为了区分,所以加了一个随机数?

但是这里类型都错了还是比较减分的。

同样的问题,换到3.85就没有了, 这里想着,可能是GDA作者做新功能 类似frida 支持啊之类的太累,所以出了bug?

image-20210718183131721

行吧 下一个吧。

这一场 jadx-gui 成功 ko GDA .

1.2 无调试信息 被混淆过的apk反编译对比:

如果没有调试信息,又会咋样呢?

这里找了一个用Proguard混淆过代码,并且删除过.source信息的样本。

image-20210717180807532
image-20210719000739307

这里看看jadx对方法体对代码的还原。

image-20210717181451405

这里可以看到,在没有任何调试信息,还被Proguard混淆过后,Jadx自己实现了一套重命名的规则。

简直是福音一样,代码变得清晰可见,吊打友商。

看看友商是啥样

1.2.1 GDA和JEB同时被锤。
image-20210719000610974

这里GDA和jeb两个友商恢复的代码,可读性都不咋样

不管是 p0 p1 p2 还是 arg8 arg10 arg11

可读性都不强,自己一个一个改 可太累了

2. 字符串 搜索简单便捷 展示信息全

image-20210719020101968
2.1 GDA出来挨锤
image-20210718011005022

这里GDA搜索字符串 详情,只展示了字符串信息,没展示引用代码。

字符串所在的方法,对应的包名啊类名啊,都没有展示。

这里字符串少还好,如果十多个地方引用到了,我不得看看包名,类名,引用代码,然后定位我想要分析的位置吗。

害,下一个。

2.2 JEB出来挨锤
image-20210718011140925

查看引用之后

image-20210718011216640

JEB这里搜索字符串这个步骤 就比较麻烦了,

多了一个查看交叉引用的操作,把操作分解成了2个操作。

而且详情展示这里,展示的也不是java代码 ,而是smali, 咋,是让我人肉翻译成java吗?

行吧,下一个

3. 免费

另外两个工具,JEB Pro 和 GDA Pro都是收费的

这个没啥说的,恰饭挺正常的。

jadx-gui 不要钱就是香。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,569评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,499评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,271评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,087评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,474评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,670评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,911评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,636评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,397评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,607评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,093评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,418评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,074评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,092评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,865评论 0 196
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,726评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,627评论 2 270

推荐阅读更多精彩内容