APP反编译

1、工具

        dex2jar(传送门)+jd-gui(传送门),apktool(传送门)。

        两个工具的反编译的效果不一样,dex2jar反编译出的是java源代码,易读性比较高;apktool反编译出的是java汇编代码。jd-gui是用来查看apk中classes.dex转化出的jar文件。

        测试APP:sieve.apk。

2、dex2jar反编译

        把sieve.apk的后缀apk改为zip,解压到sieve,得到基本文件:lib文件夹、META-INF文件夹、res文件夹、AndroidManifest.xml文件、classes.dex文件和resources.arsc文件。

APP反编译

        把classes.dex文件复制到dex2jar目录下,使用dex2jar.bat反编译,就会在当前目录下生成一个classes-dex2jar.jar文件:

APP反编译

APP反编译

        使用jd-gui工具打开classes-dex2jar.jar文件,就可以看到源代码:

APP反编译

        

3、apktool反编译

        使用apktool工具对sieve.apk进行解包,命令:java -jar apktool.jar d sieve.apk

APP反编译

        打开当前目录下的sieve文件夹:

APP反编译

—————————————————————————————————————————————