如何反编译APK?
来源:互联网 发布:高中数学刷题软件 编辑:程序博客网 时间:2024/06/06 03:57
1、概述
一些商业的app都包含很多精美的图片还有一些比较好的配置文件,以前某师兄就说过apk把后缀改为zip,然后解压一下就可以获得很多图片资源,但是这时候你打开一下解压出来的xml资源全是乱码。通过反编译不仅可以获取全部图片和正常的xml配置文件,要是没有进行代码混淆的apk还可以看到源码的!所以反编译还是要掌握一下,暑假美团外卖商家版不就是被人反编译然后发现它杀死友商的后门嘛,最近在学车,这里驾校宝典apk给反编译一下来看看吧。
2、工具
通常有Apktool或者ShakaApktool ,这里用的是Apktool做的示范 (工具下载见最后)
里面有三个工具:
【apktool】获取资源文件,提取图片文件,布局文件,还有一些XML的资源文件
【dex2jar】将APK反编译成Java源码(将classes.dex转化为jar文件)
【jd-gui】查看2中转换后的jar文件,即查看Java文件
分为以下3步
2.1、使用apktool反编译APK获得图片与XML资源
为了方便这里将驾校宝典的apk放到 apktool2.2文件夹中,然后进入apktool2.2文件夹中,双击cmd.exe,输入
apktool.bat d com.handsgo.jiakao.android_6.2.9_liqucn.com.apk (可以使用Tab键补齐,不要傻傻的一个个敲)
然后我们会发现在apktool2.2文件夹多出一个反编译之后的文件夹,这时候xml文件不乱码而且图片均可获得!第一步get
2.2、使用dex2jar将classes.dex转换成jar文件
这里我需要将apk改为zip解压后获取到classes.dex文件,将它复制到dex2jar.bat所在的目录下
然后cd到dex2jar-2.0文件夹下
然后输入:d2j-dex2jar.bat classes.dex
得到我们的jar文件
2.3、使用jd-gui查看jar包中的Java代码
打开jd-gui.exe文件夹
然后打开我们转化出来的jar包,好吧这里做了代码混淆想看源码是不可能喽,这是商业软件嘛,不混淆代码就不正常了,但是仔细看看还是可以看到用的一些控件大概逻辑之类的。
最后想说一下,有时候反编译第一步出来是个空文件夹,那是apktool版本太低的原因,通常通过反编译看到配置文件和精美图片还是可以的,源码要看人品了。
工具下载地址http://download.csdn.net/detail/xsf50717/9252337
- 如何反编译APK文件
- 如何反编译APK文件
- 如何反编译apk文件
- 如何反编译apk?
- 如何反编译apk
- 如何反编译apk文件
- 如何反编译apk文件
- 如何反编译APK文件
- 如何反编译APK
- 如何反编译apk
- 如何反编译APK
- 如何反编译APK
- 如何反编译APK?
- 如何反编译APK包?
- mac如何反编译apk
- 如何正确反编译apk
- 如何反编译apk
- Android APK 反编译apk 如何破译apk
- 正向代理、反向代理、Url重写
- Android使用限定符
- log4j(日志记录器)
- 已知三角形三点坐标, 求三角形的面积
- RxJava初体验
- 如何反编译APK?
- 反射原理机制和应用
- LightOJ 1294:Positive Negative Sign
- 关于面相对象的一些想法和生活的感悟
- 三层结构实现用户的显示2015-11-8
- sping IoC和DI
- java中线程安全的实现方法
- Centos使用yum安装mysql
- OC加强笔记2