12

[原创]GDA3更新:比JEB更快、更强、更小的Android反编译器

gjden 2017-8-4 14:21 5863


GDA:国内第一款也是唯一一款自主实现Dalvik字节码反编译引擎的逆向分析工具,给你不一样的分析体验- .^。

GDA3简介(官网下载)

   GDA3是一款简洁、轻便、快速的交互式Android反编译分析工具,工具提供强大的静态分析功能,目前支持apk、dex、odex、oat类型的android文件。

在Android可执行文件反编译分析上,GDA摆脱了使用java速度慢的问题,完全采用C++完成核心解析功能,并且使用了字节码直接转java伪代码的解析方式,无需转换成smali汇编后在做反编译,大大提升了解析速度。

此工具提供了很多实用工具,如查壳功能、odex转dex、oat转dex、xml二进制解析器、算法工具、android设备内存dump等等功能,在交互式分析上,提供了字符串、方法、类和域交叉引用查询、调用者查询、搜索功能、注释功能、分析结果保存等等功能。

    GDA3重写了所有反编译器代码,从反汇编、数据流分析、中间语言优化、结构化分析等都做了重大改变,同时极大的优化DEX解析引擎、恶意行为检测引擎、查壳引擎,相比GDA1GDA2,在分析速度、稳定性、使用体验方面都有极大的改善和提升。


    3.0更新

   1.对恶意行为扫描引擎,极大的提高了恶意行为扫描速度,比以前扫描速度提升了2倍以上。

   2.增加全局导入API扫描功能,可查看该APK所使用的所有有效API功能(其中包含所使用的native函数)

   3.优化了点击字符自动背景作色算法,大大改善了作色的速度,尤其是在大函数中,体验会比较明显。

   4.完全重写了反编译引擎,本次花费了大量精力深入研究反编译理论技术并且实现了Android字节码的反编译,反编译效果已经非常接近JEB。

   5.修复S/s快捷键搜索类时,双击类无法显示类的bug.

   6.对GDA文件做了文件关联(需要开启注册表HKEY_CLASSES_ROOT的读写权限)


一、主界面说明

打开GDA并且将你所要分析apk文件拖拽到软件界面上:

如果APP被加固处理,GDA会对加固进行自动识别,显示在Dex头和APK权限之间,如图

点击OPTLoad可以进入到APK的入口函数:



在汇编代码区,可以按F5反编译当前方法。



双击进入被调用函数,X交叉引用查看调用者。

二、快捷键说明

快捷键功能说明

GDA快捷键功能说明
快捷键
功能说明
X
交叉引用,定位调用者(支持字符串,类,方法,域,实用于smali和java
Esc/<-/Backspace
退回到上一次访问的方法或者类
->
下一个访问的方法或者类
G
跳转到指定偏移地址的方法
N
光标放在变量/方法/类上,可以修改相关名称
S
全局搜索
C
添加注释,仅支持java窗口
鼠标双击
光标置于方法处,双击可以进入查看方法或者其他数据。
M
光标置于指令行时编辑指令,仅支持smali窗口
UP
把焦点放在左边树形控件上,按下up键可以访问基于内存的上一个方法
Down
把焦点放在左边树形控件上,访问基于内存的下一个方法
D
Dump方法的二进制数据,仅支持smali窗口
Enter
对所有编辑框的输入修改生效
H
16进制显示窗口
Ctr+A
全选
Ctr+C
拷贝
Ctr+V
粘贴仅适用可剪切的控件)
Ctr+X
剪切(仅适用可剪切的控件)
Ctr+F
查找当前窗口的字符串
Ctr+S
保持当前修改生成GDA数据库文件,如方法名,类名,指令修改、注释。


三、辅助工具
1.二进制XML解码

完全自主实现的解码,可绕过反解码技术,成功解析XML。



2.算法工具



实现加密解密功能,实现了如下算法:

Hash算法: md2 md4 md5 sha sha1 sha224 sha256 sha384 sha512

对称加密:des idea rc2 rc4 rc4-40 rc2-40 rc2-64 bf cast5 aes(128 192 256)及其相应的模式如ecb cbc ofb cfb,其他模式如(cfb1 cfb8

非对称加密:RSA

编码算法:base62, base64




3.进程模块dump工具

具体使用参考知乎:https://zhuanlan.zhihu.com/p/26341224



4.搜索工具(S






本主题帖已收到 3 次赞赏,累计¥16.00
最新回复 (59)
8
kkHAIKE 2017-8-4 14:47
2
win10  报毒
4
疯子 2017-8-4 14:56
3
看着挺不错,后面会支持MAC吗?
12
gjden 2017-8-4 15:03
4
kkHAIKE win10 报毒
误报,应该是加壳的缘故
12
gjden 2017-8-4 15:04
5
疯子 看着挺不错,后面会支持MAC吗?
势单力薄,支持Mac估计是遥遥无期
龙飞雪 2017-8-4 15:42
6
顶一个,不错
吴思泉 2017-8-4 16:00
7
滴滴.只能膜拜了..
25
sudami 2017-8-4 18:14
8
厉害啊,学习了
值得怀疑 2017-8-4 22:10
9
就是界面不太好看···  不知道用Qt重写如何哈·  还可以跨平台!!
猫子 2017-8-4 22:17
10

2.6的很好用,顶一个赞,试一试这个

值得怀疑 2017-8-4 22:25
11
为啥  双击进入不了函数
netsniffer 2017-8-5 11:04
12
感谢LZ,工具不错!
把.jar后缀名也支持一下吧(手动改成.apk也可以用);
反编译的smali能切换p命名法么
能把当前类的所有方法反编译到一起,不是每个方法点进去,只  反编译/F5  当前方法;

偶尔点一个类成员,X,列出引用列表,点击其中一个,进去之后,就在当前反编译的java代码中自动搜索不断循环,等一会儿才停下来
方法、变量的交叉引用这块做好就很实用了。
cqzhou 2017-8-5 11:14
13
厉害  终于更新了
1
破解pj 2017-8-5 18:00
14
界面丑
小科ken 2017-8-5 18:23
15
太花了
12
gjden 2017-8-5 22:54
16
破解pj 界面丑
逆向分析工具重在功能,本人不是美工,谢谢你老夸奖!!
1
破解pj 2017-8-6 10:44
17
gjden 逆向分析工具重在功能,本人不是美工,谢谢你老夸奖!!
其实就是想让你修改下界面  。直言建议。
magicxss 2017-8-7 09:55
18
66666666
茅山小僧 2017-8-7 10:30
19
牛叉叉,膜拜
1
NightGuard 2017-8-7 10:35
20
好强大,膜拜
leidianl 2017-8-7 10:51
21
顶顶顶
mlxdbb 2017-8-7 12:26
22
支持!!!!
12
gjden 2017-8-7 14:51
23
sudami 厉害啊,学习了
相互学习
2
NearJMP 2017-8-7 15:15
24
大神,实现字节码到伪代码的转变,需要哪些方面的知识,有没有相关的开源项目可以学习?
孤月独明 2017-8-7 16:48
25
不知道能不能加载多个dex
tershin 2017-8-8 17:57
26
厉害了
12
gjden 2017-8-8 19:36
27
孤月独明 不知道能不能加载多个dex
多个目前还不支持
12
gjden 2017-8-8 19:52
28
cqzhou 厉害 终于更新了
xibijj 2017-8-9 09:12
29

多DEX未支持

过往烟云 2017-8-9 13:33
30
大神,这个查壳子是怎么弄的呢,扫描so文件特征词?
12
gjden 2017-8-10 06:03
31
NearJMP 大神,实现字节码到伪代码的转变,需要哪些方面的知识,有没有相关的开源项目可以学习?
我最初实现时也寄希望与开源,比如smali2java,但是非常坑人,开源部分反编译效果奇差,而且大量method反编译为空,并且是基于smali文本来做的,于是我完全放弃了smali2java。最后自己研究了一段时间,看了些关于反编译原理相关的论文(基本都是基于intel平台),但是排除与平台相关的,如赋值传递、数据流分析、控制流分析、结构化分析的思想可以直接用。但是Dalvik的程序结构和传统的intel程序结构有很多不一样,所以要做很多的处理。需要解决的新问题主要有循环结构、switch分支、嵌入式try-catch结构的处理(坑爹无极限的结果)等等。
6
Ericky 2017-8-10 12:01
32
顶!期待很久了
12
gjden 2017-8-11 11:31
33
Ericky 顶!期待很久了
Bruce理 2017-8-17 10:30
34
厉害呀!!!
MsScotch 2017-8-17 10:39
35
下砸链接?
windson 2017-8-17 10:52
36
nice  tool
xxRea 2017-8-17 11:28
37
滴滴,nice!
蓝色炫影 2017-8-25 14:10
38
gjden 我最初实现时也寄希望与开源,比如smali2java,但是非常坑人,开源部分反编译效果奇差,而且大量method反编译为空,并且是基于smali文本来做的,于是我完全放弃了smali2java。最后自 ...
可以看看java反编译器,cfr和procyon
影子不寂寞 2017-8-25 15:37
39
支持了楼主大大。
12
gjden 2017-8-25 15:48
40

蓝色炫影 可以看看java反编译器,cfr和procyon

java反编译器更坑人,那是反编译的jar文件,反编译方式完全不同。

KevinMai 2017-8-25 16:08
41
Try  it  on,tks!
ntDownload 2017-8-28 07:31
42
厉害
茅山小僧 2017-8-28 09:15
43
怎么没找到在哪下载啊
松源兄 2017-8-29 09:15
44
yippees 2017-8-29 13:47
45
6
elance 2017-8-30 22:51
46
好强大!
1
holing 2017-8-31 00:37
47
开源么
opL 2017-8-31 16:27
48
大赞
传奇金商 2017-9-1 01:40
49
此楼层已删除
1
学编程 2017-9-4 10:36
50
啥时候能支持多dex哈
返回