android APK反编译2019-07-02

如何在只有一个APK格式的APP的情况下想获取到APP的一些信息,就需要学习到反编译,下面是反编译的某一种方法,实测有用。

首先需要下载三个插件

1.apktool:最新下载地址(切记下载最新apktool后续如果报错会用到)

 作用:主要查看res文件下xml文件、AndroidManifest.xml和图片。
 (注意:如果直接解压.apk文件,xml文件打开全部是乱码)

2.dex2jar:

 作用:将apk反编译成Java源码(classes.dex转化成jar文件)

3.jd-gui:

 作用:查看APK中classes.dex转化成出的jar文件,即源码文件

反编译三个插件下载地址
下载后解压如下

android APK反编译2019-07-02_第1张图片
三个插件解压后

1.apktool的使用

apktool目录下


android APK反编译2019-07-02_第2张图片

将需要编译的APK放到apktool下,打开cmd.exe

apktool.bat d app-debug.apk(默认在此目录创建文件夹)
或者详细点写
apktool.bat d -f app-debug.apk -o app-debug(app-debug.apk是需要编译的APK名称,app-debug是放编译后文件的目录)
android APK反编译2019-07-02_第3张图片
出现此画面,即为成功

生成资源文件夹app-debug,res文件下xml文件、AndroidManifest.xml和图片即可查看。


android APK反编译2019-07-02_第4张图片
资源文件就在此目录

如果出现编译失败且报错信息如下图的话:(编译成功请忽略)

android APK反编译2019-07-02_第5张图片
编译失败报错信息

如果出现错误 如下
exception in thread main brut  
could not decode arsc file字样的报错信息
解决方法:(没有下载最新版导致的,下载最新版apktool.jar替换apktool文件夹中的apktool.jar)

2.dex2jar的使用

将APK解压下的classes.dex文件复制到dex2jar-2.0


android APK反编译2019-07-02_第6张图片
三个插件解压后

android APK反编译2019-07-02_第7张图片
dex2jar-2.0

打开cmd命令行,进入dex2jar-2.0目录(cd)

写入d2j-dex2jar.bat classes.dex
android APK反编译2019-07-02_第8张图片
生成jar图

生成classes-dex2jar.jar即为成功

3.jd-gui的使用

进入jd-gui


android APK反编译2019-07-02_第9张图片
jd-gui打开图

android APK反编译2019-07-02_第10张图片
打开classes-dex2jar.jar

打开通过第二个插件生成的classes-dex2jar.jar,就可以查看代码了,即为成功

你可能感兴趣的:(android APK反编译2019-07-02)