Android反编译之jadx

技术是一个需要不断学习和积累的过程,除了研究底层源码以外,有时候借鉴别人的代码也是学习的一部分;今天介绍一款好用的反编译软件----jadx;记录自己的学习历程;

首先,我找到了dex2jar、apktool、jd-gui;这三种配合使用也可以完成反编译;但是步骤繁琐,使用的工具也麻烦;

而jadx只需要一步到位,而且图形化界面,找代码的话也很方便。

安装

jadx在github上开源了,所以我们可以直接去下载了

https://github.com/skylot/jadx

点击进行下载,也给大家准备了现成的,大家可以自行下载

https://download.csdn.net/download/upuprita/11060376

下载完解压后可以看到如下目录

进入bin目录下,双击jadx-gui.bat即可运行

简单使用

单击左上角文件目录-->打开-->选择你要反编译的apk文件

即可看到对应的资源和大部分逻辑代码。

全局查找

Ctrl+Shift+F

查找类

jadx可以在应用它的类中跳转到他的主类中

按住Ctrl,鼠标移动到要跳转的类名字上,左键单击跳转

反混淆

我们在打包的时候都会对apk进行混淆,但是我们在阅读代码的时候被混淆后的代码的类名都是用abc命名的,这样使我们的阅读体验非常不好,所以,在这里,jadx还帮助我们反混淆,虽然有些名字反混淆后还是不规范,但是为我们理解代码提供了很大的帮助,操作办法:工具-->反混淆

反混淆前:

反混淆后:

导出Gradle文件

jadx中操作代码始终没有在编辑器中方便,jadx考虑到这一点,故提供了可以将项目导出成gradle文件:文件-->另存为Gradle项目,导出后

src目录下main下:

可以看到资源文件、清单列表、等大部分代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值