Android 完整反编译APK过程(Mac版)

一、需要的工具

  1. **apktool:**反编译APK文件,得到classes.dex文件,同时也能获取到资源文件以及布局文件。
  2. **dex2jar:**将反编译后的classes.dex文件转化为.jar文件。
  3. **jd-gui:**用于将.jar文件转换成java代码。

二、反编译步骤

第一步:使用apktool工具对APK进行反编译

1. 下载apktool
在这里插入图片描述
注意:1中保存名为apktool的时候不能有后缀名,mac上默认为txt后缀

2. 把下载好的apktool脚本和apktool.jar文件移动到 /usr/local/bin 文件夹下
在这里插入图片描述
3. 使用命令chmod +x 分别对apktool和apktool.jar文件进行提权

//先进入到/usr/local/bin文件夹下

cd /usr/local/bin`
chmod +x apktool`
chmod +x apktool.jar`

4. 测试是否成功,终端输入apktool,若成功,如下图
在这里插入图片描述
5. 运行apoktool脚本进行反编译

①. 把你需要反编译的apk文件也复制到 /usr/local/bin 文件夹下,确保apktoolapktool.jar以及apk文件都在/usr/local/bin目录下
②. 终端输入命令 apktool d -s xxx.apk回车,等待执行完毕

//如果当前已在/usr/local/bin 目录下,忽略此步
cd /usr/local/bin  

//开始反编译目标APK文件
apktool d -s app3.apk

// 命令行添加-s,表示禁止将dex文件解码成smali

③. 执行完毕后目录下会生成反编译apk的对应文件夹
在这里插入图片描述

第二步:使用dex2jar工具把classes.dex文件转化成.jar文件

1. 下载dex2jar并解压

2. 进入到你解压后的dex2jar文件夹下(根据你的实际情况文件夹位置不一样),如:

cd Downloads/dex2jar-2.0

3. 把classes.dex文件复制到解压后的dex2jar文件夹下,终端执行命令sh d2j-dex2jar.sh classes.dex

sh d2j-dex2jar.sh classes.dex

这个时候可能会出现如下脚本没有执行权限的问题“Permission denied”
在这里插入图片描述
可以使用下面代码授权全部权限,密码为你的mac登录密码

sudo chmod 777 d2j_invoke.sh

在这里插入图片描述
3. 执行完毕后,会在文件夹下生成一个.jar文件,里面就是java源码
在这里插入图片描述

第三步:使用JD-GUI软件查看jar包下的java源码

1.下载并安装jd-gui
在这里插入图片描述
2.点击打开,这个时候可能会遇到下面情况
在这里插入图片描述
可以右击“显示包内容”
在这里插入图片描述

使用 这个连接下的文件 替换一下,保存重新打开就可以了

2. 打开安装好的JD-GUI,直接把第二步生成的.jar文件拖进去,就能看到反编译出来的java源码了
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ltym2014

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值