01 所需要的软件
- Apktool
反编译 xml 文件和 dex 文件,并可以将编译后的项目重新打包成 apk。
官方下载地址: Apktool
官方的速度有时候不稳定,也可以从我的网盘中下载: 链接 密码:xkao - dex2jar
将 classes.dex 转换为「.jar」文件)
官方下载地址: dex2jar
我的网盘: 链接 密码:xkao - jd-gui
查看「.jar」文件
官方下载地址: jd-gui
我的网盘: 链接 密码:xkao
02 – 1 安装 Apktool
Mac OS:
- 到 这里 或者我的 网盘链接 里下载好 script 脚本文件,修改名称「apktool」(如果从我的网盘下载,无须修改名称) 。
- 到 这里 或者我的 网盘链接 下载 apktool,然后修改名称为「apktool.jar」。
- 把「apktool」、「apktool.jar」移动到
/usr/local/bin
目录下
在命令行中 cd 到 /usr/local/bin
中然后分别输入下面两条命令
$ chmod a+x apktool.sh
$ chmod a+x apktool.jar
- 在命令行中输入
$ apktool
02 – 2 反编译 Apk
- cd 到 apk 的目录下
输入
$ apktool d test.apk
注意:
此时 dex 文件直接反编译成了 smali 文件,而我们需要的是 .dex 文件。
此时再运行:
$ apktool d -s -f test.apk
-d 反编译 apk 文件
-s 不反编译 dex 文件,而是将其保留
-f 如果目标文件夹存在,则删除后重新反编译
03 dex2jar
下载、解压好 dex2jar
- 将上一步得到的 classes.dex 文件(有时候还有 classes2.dex,说明方法数过多,把它当成 classes.dex 处理就好了)复制到 dex2jar 解压好的目录中。
- 在命令行中运行:
$ sh d2j-dex2jar.sh classes.dex
如果提示:
d2j-dex2jar.sh: line 36: ./d2j_invoke.sh: Permission denied
执行
$ sudo chmod +x d2j_invoke.sh
后再次执行
$ sh d2j-dex2jar.sh classes.dex
运行成功,在当前目录下生成了 classes-dex2jar.jar 文件。
04 jd-gui
安装好 jd-gui 之后,用其将 classes-dex2jar.jar 打开,就可以看到反编译出来的 java 代码了!
link:https://www.zhihu.com/question/29370382
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/35572.html