最近工作中遇到了一个问题,那就是我这边的运营专员想让我查一下它打包的apk里面的资源文件的Facebook的id写没写错,由于手上没有这个项目的源文件,所以只能自己手动反编译。以下是我参考了一些文章后简单的教程。
使用工具准备
1.官方最新版本号下载地址(自备梯子):
2.CSDN下载:
3.工具介绍:
apktool :资源文件获取,能够提取出图片文件和布局文件进行使用查看
dex2jar :将apk反编译成java源代码(classes.dex转化成jar文件)
jd-gui :查看APK中classes.dex转化成出的jar文件,即源代码文件
反编译流程
一、apk反编译得到程序的源码、图片、XML配置、语言资源等文件
1.将下载好的工具解压放在C盘根目录下面,将要反编译的test.apk拷贝到改文件夹下。
2.打开命令行界面(执行-CMD) ,定位到apktool目录。输入下面命令:
apktool d test.apk
image.png
3.获取成功之后,会发现如今目录下多了个test文件。点击便能够查看该应用的全部资源文件了。
假设你想将反编译完的文件又一次打包成apk,那你能够:输入apktool b test(你编译出来目录)便可,效果例如以下:
image.png
之后在之前的test文件下便能够发现多了2个目录:build和dist(里面存放着打包出来的APK文件)
二、Apk反编译得到Java源码
1.将要反编译的APK后缀名改为.rar或着 .zip,并解压,得到当中的classes.dex文件(它就是java文件编译再通过dx工具打包而成的)。将获取到的classes.dex放到之前解压出来的工具dex2jar-0.0.7.11-SNAPSHOT目录内,在命令行下定位到dex2jar.bat所在文件夹,输入
dex2jar.bat classes.dex
效果例如以下:
2.在该文件夹下会生成一个classes_dex2jar.jar的文件,然后打开工具jd-gui文件夹里的jd-gui.exe,之后用该工具打开之前生成的classes_dex2jar.jar文件,便能够看到源代码了。
特别注意:你要反编译的文件一定要放在C盘的根目录里
**快速反编译流程
下载工具包:ApkToolBox_1.6.4.zip
解压文件,并打开到jadx
的bin
目录下,如图所示:
然后将需要反编译的.apk拖到
jadx-gui.bat
文件上即可(如果拖上去没有反应或者一闪而过,就得检查一下jdk的环境变量配置是否正确)。
附:jadx闪退问题解决办法:
image.pngimage.png
参考链接:
Android APK反编译详解
jadx 闪退问题
网友评论