1.获取工具apktool
反编译 APK,首先要有工具apktool.jar
apktool下载地址:https://bitbucket.org/iBotPeaches/apktool/downloads
作者github 地址:https://github.com/iBotPeaches/Apktool
![](https://i-blog.csdnimg.cn/blog_migrate/02a42e62ba22d7ffb5fa3b306c3e130d.png)
无脑下最新版就行了。
将下载好的工具放到文件夹中
![](https://i-blog.csdnimg.cn/blog_migrate/c8feb48aed5827d49520e7db2f48f2d0.png)
2.反编译流程
进入CMD命令行 (快捷键 win+R)
![](https://i-blog.csdnimg.cn/blog_migrate/4d4edcb973a0d213f18c82ca2adf1cf7.png)
进入到刚刚apktool的文件夹目录
![](https://i-blog.csdnimg.cn/blog_migrate/f2fe889c813f7a934014d6e15384178b.png)
这里反编译的前提还需要配置java环境,这个就不多介绍了,各位都懂。
在java中,运行可执行jar包的命令是:java -jar jar包名.jar
使用如下的命令运行apktool_2.5.0.jar 反编译apk:
java -jar apktool_2.5.0.jar d -f D:\XXX\破解\app-release.apk -o app
这个命令是启动apktool_2.5.0.jar将位于【D:\XXX破解\】目录下的"app-release.apk"反编译,反编译生成的文件存放到当前目录(apktool_2.5.0.jar所在的目录,也就是"D:\反编译破解"目录)下的【app】文件夹中
![](https://i-blog.csdnimg.cn/blog_migrate/3fe494bd99820c4334775edf5f39d85b.png)
执行反编译成功
当然,也可以直接将要反编译的APK放到apktool_2.5.0.jar的当前目录,命令行会更简洁,不需要再填写APK的文件路径:
java -jar apktool_2.5.0.jar d app-release.apk -o app
这个命令是启动apktool_2.5.0.jar将位于当前目录下的"app-release.apk"反编译,反编译生成的文件存放到当前目录(apktool_2.5.0.jar所在的目录)下的【app】文件夹中
![](https://i-blog.csdnimg.cn/blog_migrate/bc978c779d8f1f886bc5e3c09a10609d.png)
当前目录(D:\反编译破解)下生成一个【app】文件夹,里面有反编译后生成的文件
![](https://i-blog.csdnimg.cn/blog_migrate/2ce6d52c2e1b3ab2e6efb1ee10bc99af.png)
![](https://i-blog.csdnimg.cn/blog_migrate/df12538f5334e7f262f7cebd09f97291.png)
3.重新打包APK
跟反编译出apk源码流程一样,
![](https://i-blog.csdnimg.cn/blog_migrate/08ed290974e5eef93afed596b66413e8.png)
进入CMD命令行
进入到apktool_2.5.0.jar的文件夹目录
输入java -jar apktool_2.5.0.jar b app,(app是你要重新打包APK源码的文件夹)
执行
![](https://i-blog.csdnimg.cn/blog_migrate/d24bf104ece0b3bd7d5909829c2c4514.png)
然后就可以在app目录下的dist文件中看到刚刚重新打包的APK
![](https://i-blog.csdnimg.cn/blog_migrate/6ddb1fb34ac0d87a1d714aca283ab4e0.png)
这个APK还不能正常安装,因为没有签名。后面会讲解如何给APK重新签名。