工具:apktool 、dex2jar、jd-gui
一.获取资源文件
1,将apk文件拷贝到 apktool 文件夹,按住Shift键右击空白处,点击 在此处打开命令窗口
2,在命令行中输入 apktool d z.apk 命令,得到的 z 文件夹即是项目的资源文件
其中 res 、 AndroidManifest.xml 、assets 、lib文件夹都可以直接打开查看
二.获取逻辑文件(即.java)
1.将apk文件后缀名改为.zip,解压缩,得到classes.dex文件
2.将该classes.dex文件拷贝到 dex2jar 文件中,同样按住Shift右击空白处,打开命令行
3.命令行中输入 dex2jar.bat classes.dex 命令,得到 classes_dex2jar.jar 的文件
4,用 jd-gui 中 jd-gui.exe 打开 classes_dex2jar.jar 文件即可.
注意:1.混淆过的apk文件内的类名和方法名会变成a.b.c等,仔细读会读懂一部分.比如从AndroidManifest.xml文件中查找到入口类.
2.在逻辑代码中怎么查找资源文件呢? 由于对资源文件的引用都变成了一串数字
将该十进制数字计算器转成十六进制,然后在前面得到的资源文件中res/values/public.xml文件中查找该十六进制数字
即可找到对应的资源文件名.再去res文件夹中查找对应的文件