MAC环境下对APK进行简单反编译

0x01 测试环境

以下俗称“三件套”
apktool 用于反编译apk,得到资源文件、dex文件等。
dex2jar 将后缀为dex的文件转换为.jar文件方便查阅
jd-gui  用于将.jar文件转换成java代码并查看

0x02 使用apktool

2.1 下载安装apktool

下载地址:

https://ibotpeaches.github.io/Apktool/install/

选择macOS一栏,然后根据步骤安装,下面一步一步解析

在这里插入图片描述

2.2.1 保存脚本

右键点击“wrapper script”另存为“apktool”,不需要任何后缀!可以先存放到桌面。

在这里插入图片描述

2.2.2 下载新版工具

点击“(find newest here)”跳转到apktool下载界面下载最新版本工具

跳转后地址:https://bitbucket.org/iBotPeaches/apktool/downloads/
点击最新版本下载即可!同理先放到桌面。

在这里插入图片描述

2.2.3.拖放文件

打开终端输入以下命令即可打开目录

open /usr/local/bin  

将桌面文件apktool、apktool.jar(需将apktool_2.5.0.jar重命名)拖到该目录下,如下图所示!
在这里插入图片描述

4.赋予执行权限

打开终端输入如下命令,进入刚才的目录

cd /usr/local/bin 

赋予两个文件执行权限

chmod +X apktool
chmod +x apktool.jar

最后在终端输入apktool查看是否安装成功,如下图所示即证明安装成功!

在这里插入图片描述

2.2 使用apktool反编译apk

基本命令

apktool d -s xxx.apk(这里还一定要跟apk绝对路径)  #	-d表示反编译 -s表示不把dex转换为smali文件,方便我们后面查看。xxx.apk为需要反编译的apk,需要指定绝对路径。绝对路径不清楚的可以的右键apk,选择显示简介即可通过位置看到。

在这里插入图片描述

执行后会在当前路径下生成反编译后的结果。

0x03 dex2jar转换dex

下载地址:https://sourceforge.net/projects/dex2jar/files/

我们仅仅需要里面d2j-dex2jar.sh

sudo sh d2j-dex2jar.sh class.dex # 多个class.dex同样用次方式,class.dex 也需要绝对路径

在这里插入图片描述

⚠️:若提示某文件没权限,chmod +x赋予权限即可

在这里插入图片描述

转换前:
在这里插入图片描述

转换后:
在这里插入图片描述

0x04 使用jd-gui查看源码

下载地址:http://java-decompiler.github.io/

下图任意一个即可,我习惯第一个。第二个可能提示JDK版本不符合
在这里插入图片描述

打开jd-gui 拖入class.jar文件即可查看源码
在这里插入图片描述

0x05 结语

1.建议将除了apktool之外的工具放到一个文件夹里面,方便操作。

比如我是这样存放的
在这里插入图片描述

2.本方法并不适用于任何apk,比如混淆加壳的情况!
3.windows步骤类似,只是教程涉及的脚本工具需要对应下载!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值