一个好用的反编译akp 教程 一个小笔记

非常感谢 

第一步:下载反编译工具集,apktool、dex2jar、jd-gui,最后我会上传这些工具,解压后如下图: 

mac m1运行android app mac运行apk_反编译

第二步,工具集准备好之后还不能进行反编译,你在命令窗口下执行输入apktool 会提示命令不存在,需要配置一下环境变量

1.打开命令窗口,cd /usr/local/bin下,可能有的mac电脑不存在bin这个目录,直接在创建一个就好了,命令是:sudo mkdir bin,执行后会让你输入root权限密码,输入完后执行ls命令查看,bin目录就存在了,如图 

mac m1运行android app mac运行apk_反编译_02

 

2.将你解压后的apktool文件夹下的三个文件aapt、apktool、apktool.jar 复制到/usr/local/bin/目录下 。(用命令cp了,如下图) 

mac m1运行android app mac运行apk_jar_03

 

复制多个文件用空格隔开,android-workspace/APK/apktool/目录是源目录,存放的是我们要复制的那三个文件,执行命令后,提示输入密码,输完密码后就复制成功了,ls查看一下,这三个文件已经存在了。 

3 查看 配置好环境变量PATH 

mac m1运行android app mac运行apk_反编译_04

 

4 再输入 apktool 命令查看 如下配置成功。 

mac m1运行android app mac运行apk_jar_05

第三步:开始进行反编译了,其实用到的命令也很简单,我们随便拿一个apk来。命令行进入这个目录 

执行命令apktool d xxxx.apk 

mac m1运行android app mac运行apk_反编译_06

 

执行成功后,会在当前目录下生成一个 XXXXX文件夹,点击去就看到相关apk的资源文件了,选中AndroidManifest.xml,然后空格键,就可以看到反编译后的内容了

**************需要sudo权限

  使用apktools反编译apk时,输入命令:apktool.bat  d test.apk 

  此时,可能会报bug:

     Exception in thread “main” brut.androlib.AndrolibException: Could not decode 

  这个问题,就是apktool.jar比较老旧的问题。

  apktools.jar下载官网:

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

  对应平台下载,更新即可。



----------------------------------------------------------------------------------------------------------------------------------------------------------

第四步:反编译java源文件 

这就用到dex2jar和jd-gui了,将 XXXXX.apk重命名改成 XXXX.zip,然后利用解压缩软件解压,得到一个dz-android目录,我们要拿到里面的classes.dex文件 将其复制到dex2jar-0.0.9.15目录下 ( 下载的 ); 

mac m1运行android app mac运行apk_mac m1运行android app_07


然后执行命令:sh dex2jar.sh classes.dex,如图: 

mac m1运行android app mac运行apk_jar_08

执行成功后会生成一个classes_dex2jar.jar文件,如图 


mac m1运行android app mac运行apk_jar_09

 

最后,用jd-gui工具打开这个jar包就可以看到java源代码了,如图: 

mac m1运行android app mac运行apk_jar_10

 

下载地址:apktool、dex2jar、jd-gui