Android APK反编译教程

一、反编译工具

1、apktool:获取资源文件,提取图片文件,布局文件,还有一些XML的资源文件。

2、dex2jar:将APK反编译成Java源码(将classes.dex转化为jar文件)。

3、jd-gui:查看dex2jar中转换后的jar文件。

二、注意事项

1、在反编译的代码看到a、b、c等等,这些是apk发布时进行混淆了,然后进行一些加密,或者使用第三方的加密平台,用的比较多的“爱加密”,有兴趣的也自行百度查看更加详细的介绍!apk进行混淆后里面的代码就没有必要再看了!

2、切勿拿反编译来做违法的事,比如把人家的APK重新打包后使用自己的签名然后发布到相关市场。

3、我们是参考别人的代码,而不是完全拷贝!!!切记!!

三、apktool

1.1 官方链接

链接:https://bitbucket.org/iBotPeaches/apktool/downloads/

1.2 下载安装

三种不同系统的安装教程:https://ibotpeaches.github.io/Apktool/install/
请添加图片描述

我使用的是Windows系统,这里我以Windows为例子来进行讲解如何安装。

1、先创建一个名为apktool的文件夹,用来存放apktool的文件,再根据官方链接下载最新的jar(apktool_2.6.0.jar),再将jar 重命名为 apktool.jar
请添加图片描述
2、在apktool的文件夹里创建apktool.txt文件,再点击wrapper script链接,进入脚本复制内容到apktool.txt文件里,完成后将apktool.txt更改为apktool.bat即可。请添加图片描述
请添加图片描述
3、将两个文件 apktool.jarapktool.bat 移动到你的 Windows 目录(通常是C://Windows)。如果你无权访问C://Windows,你可以将这两个文件放在apktool.txt文件,然后将该目录添加到你的环境变量系统 PATH 变量中。

4、win + r 再输入cmd 打开命令提示符,直接输入apktool 回车即可。

1.3 使用

在命令提示符里找到apk存放的目录,然后输入apktool.bat d Wi-Fi.apk(Wi-Fi指的是apk名) ,Enter回车即可。然后目录下就会出现同apk名的文件夹,里面就是我们所需的资源文件。
请添加图片描述

四、dex2jar

1.1 官方链接

链接:https://sourceforge.net/projects/dex2jar/files/

1.2 下载安装

1、下载最新dex2jar(dex2jar-2.0.zip)保存到文件夹里,并解压即可。
请添加图片描述

1.3 使用

1、将Wi-Fi.apk的后缀名改为Wi-Fi.zip并解压得到Wi-Fi文件夹。
请添加图片描述
2、在Wi-Fi文件夹里有一个classes.dex文件,将classes.dex文件复制到dex2jar-2.0文件夹里。
请添加图片描述
请添加图片描述
3、打开命令提示符,找到dex2jar-2.0目录,输入d2j-dex2jar.bat classes.dex 回车,这样我们就会得到一个classes-dex2jar.jar包,里面就是我们所需的java代码,但需要 jd-gui 打开来看。
请添加图片描述
请添加图片描述

五、jd-gui

1.1 官方链接

链接:http://java-decompiler.github.io/

1.2 下载安装

1、打开官方链接,找到 JD-GUI —> 点击Download —> 点击jd-gui-1.6.6.jar下载,保存到文件夹里,并解压即可。
请添加图片描述

1.3 使用

1、在jd-gui-windows-1.6.6文件夹里打开 jd-gui.exe ,再找到 classes-dex2jar.jar 打开就可以看到代码了。
请添加图片描述
请添加图片描述

  • 12
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Android Hai

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

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

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

打赏作者

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

抵扣说明:

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

余额充值