交互式反编译器:GDA

QuibblerQuibbler 2021-08-09 约 3 分钟 5202 次阅读

交互式反编译器: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:中国第一款现代交互式反编译器

        

相关推荐

精选
国内开源镜像站点
分享

国内开源镜像站点

国内开源镜像站点开源,(Open Source)全称为开放源代码。开源就是要用户利用源代码在其基础上修改和学习的,但开源系统同样也有版权,同样也受到法律保护。国内的高校和一些企业也建立了开源镜像站点,支持开源。从开源站点上面可以下载很多开源资源(Android源码),上大学的时候就在这些镜像网站上下载Linux发行版、Qt等软件。 清华大学:http://mirrors.tuna.tsinghua

2.4k
R8编译问题:Missing classes detected while running R8
分享

R8编译问题:Missing classes detected while running R8

R8编译问题:Missing classes detected while running R8Android R8是一个代码混淆和压缩工具,可以将应用程序的大小和安全性优化。它引入了一些新功能,如成员内省、混淆指针、类内省等。但R8使用起来一直不友好,因为自从使用R8之后编译问题不断。主要还是和混淆相关,经常报错,最近又遇到一个:Missing classes detected while ru

8.4k
maven { url 'https://jitpack.io' } 无法下载的问题
分享

maven { url 'https://jitpack.io' } 无法下载的问题

解决maven { url 'https://jitpack.io' } 无法下载的问题要使用GitHub上项目的开源库,比如 BRV ,加强版的RecyclerView框架:需要在项目根目录的 build.gradle 添加 jitpack 仓库:以上这些都照做了,却遇到Gradle无法下载依赖的问题。这种情况以前也遇到过,一般是由于网络故障引起的,可以用国内的镜像仓库。尝试了不同方法,仍然无法

6.6k