博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何反编译APK?
阅读量:5942 次
发布时间:2019-06-19

本文共 1071 字,大约阅读时间需要 3 分钟。

1、概述

一些商业的app都包含很多精美的图片还有一些比较好的配置文件,以前某师兄就说过apk把后缀改为zip,然后解压一下就可以获得很多图片资源,但是这时候你打开一下解压出来的xml资源全是乱码。通过反编译不仅可以获取全部图片和正常的xml配置文件,要是没有进行代码混淆的apk还可以看到源码的!所以反编译还是要掌握一下,暑假美团外卖商家版不就是被人反编译然后发现它杀死友商的后门嘛,最近在学车,这里驾校宝典apk给反编译一下来看看吧。

2、工具

通常有Apktool或者ShakaApktool ,这里用的是Apktool做的示范  (工具下载见最后)

里面有三个工具:

【apktool】获取资源文件,提取图片文件,布局文件,还有一些XML的资源文件

【dex2jar】将APK反编译成源码(将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://blog.csdn.net/xsf50717/article/details/49718777

你可能感兴趣的文章
Spring中实现监听的方法
查看>>
使用Tooltip会出现一个问题,如果行上出现复选框
查看>>
11.03T1 DP
查看>>
P2924 [USACO08DEC]大栅栏Largest Fence
查看>>
jQuery操作table tr td
查看>>
工作总结:MFC自写排序算法(升序)
查看>>
螺旋队列问题之二
查看>>
扩展运算符和解构赋值的理解
查看>>
手机H5显示一像素的细线
查看>>
Menu 菜单栏
查看>>
Integer跟int的区别(备份回忆)
查看>>
集合解析
查看>>
详解分布式应用程序协调服务Zookeeper
查看>>
软件工程之构建之法
查看>>
UVa 10902
查看>>
Mathf.Sin正弦
查看>>
禁止浏览器缓存js
查看>>
【Redis】安装PHP的redis驱动(二)
查看>>
java中string和int互相转化
查看>>
什么是序列化,为什么要序列化
查看>>