apk文件反编译

2016-9-7 liuyingcong 安卓开发

工具:apktool 、dex2jar、jd-gui

apktool.part1.rar    apktool.part2.rar    apktool.part3.rar     apktool.part4.rar    dex2jar.rar     jd-gui.rar

一.获取资源文件
1,将apk文件拷贝到 apktool 文件夹,按住Shift键右击空白处,点击 在此处打开命令窗口

shift+鼠标右键弹出.png

2,在命令行中输入 apktool d z.apk 命令,得到的 z 文件夹即是项目的资源文件

资源文件夹+配置文件.png

其中 res 、 AndroidManifest.xml 、assets 、lib文件夹都可以直接打开查看

二.获取逻辑文件(即.java)
1.将apk文件后缀名改为.zip,解压缩,得到classes.dex文件

解压xxx文件得到dex文件.png

2.将该classes.dex文件拷贝到 dex2jar 文件中,同样按住Shift右击空白处,打开命令行
3.命令行中输入 dex2jar.bat   classes.dex 命令,得到 classes_dex2jar.jar 的文件
4,用 jd-gui 中 jd-gui.exe 打开 classes_dex2jar.jar 文件即可. 

用jd-gui工具打开jar文件.png

注意:1.混淆过的apk文件内的类名和方法名会变成a.b.c等,仔细读会读懂一部分.比如从AndroidManifest.xml文件中查找到入口类.
       2.在逻辑代码中怎么查找资源文件呢? 由于对资源文件的引用都变成了一串数字
将该十进制数字计算器转成十六进制,然后在前面得到的资源文件中res/values/public.xml文件中查找该十六进制数字
value中的public文件为索引.png
即可找到对应的资源文件名.再去res文件夹中查找对应的文件

网站备案号:京ICP备11043289号-1 北京市公安局网络备案 海1101084571
版权所有 北京育灵童科技发展有限公司 Copyright © 2002-2018 www.elight.cn, All Rights Reserved