交互式反编译器:GDA
以前对APK进行反编译需要用到很多工具:apktool、dex2jar、jd-gui等,还要记住很多命令,很不方便,详见APK反编译一文。有没有将这些工具集成到一起的反编译工具?
1、GDA反编译集成工具
找到一个宣称是中国第一款也是唯一一款全交互式的现代反编译器:GDA。经过一段时间的使用,确实方便好用,功能齐全。
官网:Gjoy Dex Analysizer
GitHub:githubcharles2gan/GDA-android-reversing-Tool
1.1、GDA简介
“GGJoy Dex Analyzer(GDA),中国第一款也是唯一一款全交互式的现代反编译器,同时也是世界上最早实现的dalvik字节码反编译器。 GDA不仅只是反编译器,同时也是一款轻便且功能强大的综合性逆向分析利器,其不依赖java且支持apk、dex、odex、oat、jar、aar、class文件的反编译, 支持python,java脚本自动化分析。...”--摘自官网。
1.2、运行GDA
GDA反编译工具集成度高,只有一个独立GDA.exe可运行程序。
1.3、分析Apk
打开软件,直接将Apk拖到软件窗口,即开始自动分析。Apk从哪里来?当然是从手机里导出,推荐一个高效的Apk提取脚本。

等待一会,Apk分析完毕,展示如下概览界面。存在解析Apk失败的情况,导致软件直接奔溃,可能是Apk加固的比较好。

1.4、开源 or free
这款反编译软件有两个版本:一个是免费free版;另一个是付费pro版,功能更多一些。免费版的就够用了,另外作者也把源码上传至Github,且开源协议是Apache-2.0 License。
GitHub:githubcharles2gan/GDA-android-reversing-Tool
2、GDA功能
功能齐全,都是常用的反编译操作,上手方便,将Apk中的各类信息(String、permission、manifest等)分类汇总展示。
2.1、应用入口
反编译往往从应用启动入口开始研究,GDA在BaseInfo栏中显示应用的Main Activity入口,在工具栏上点击Entry可以直接查看入口代码。

解析AndroidManifest.xml文件,按四大组件分类信息展示:

2.2、信息汇总
Apk文件的签名信息:

查看应用中所有的strings:

应用中所有使用到的链接:

应用用到的所有权限明细,以及所有用到该权限的代码段,点击可以跳转到对应的代码处。

2.3、搜索
搜索反编译出代码中的方法等类型:

搜索反编译出代码中的字符串:

推荐阅读:
GDA:中国第一款现代交互式反编译器
精彩的人生需要浪漫、无畏和勇气。