apk文件反编译
2016-05-20 14:02
169 查看
在学习Android开发的过程中,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。当然,也有可能是出于某种不纯的目的,需要在别人的代码中找到一些答案。怎么做呢?废话不多说。
首先安装jdk+jre
安装包搜一下就有。
Jre 是java runtime environment, 是java程序的运行环境。既然是运行,当然要包含jvm,也就是大家熟悉的虚拟机啦,还有所有java类库的class文件,都在lib目录下打包成了jar。大家可以自己验证。至于在windows上的虚拟机是哪个文件呢?学过MFC的都知道什么是dll文件吧,那么大家看看jre/bin/client里面是不是有一个jvm.dll呢?那就是虚拟机。
Jdk 是java development kit,是java的开发工具包,里面包含了各种类库和工具。当然也包括了另外一个Jre. 那么为什么要包括另外一个Jre呢?而且jdk/jre/bin同时有client和server两个文件夹下都包含一个jvm.dll。说明是有两个虚拟机的。、安装完以后,添加环境变量,我想着就不用我说了吧,不懂的同学可以百度。
下载apktool
作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看。
地址:apktool点击下载
apk反编译得到程序的源代码、图片、XML配置、语言资源等文件。下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar ,将需要反编译的APK文件放到该目录下,
打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入以下命令:
(命令中test.apk指的是要反编译的APK文件全名,test为反编译后资源文件存放的目录名称,即为:apktool.bat d -f [apk文件 ] [输出文件夹])
说明获取成功,之后发现在文件夹下多了个test文件,点击便可以查看该应用的所有资源文件了。
如果你想将反编译完的文件重新打包成apk,也有相应的方法,自行百度。
下载dex2jar和jd-gui
dex2jar作用:将apk反编译成Java源码(classes.dex转化成jar文件)。
jd-gui作用:作用:查看APK中classes.dex转化成出的jar文件,即源码文件
地址:
dex2jar点击下载
jd-gui点击下载
下载上述工具中的dex2jar和jd-gui ,解压。将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到其中的额classes.dex文件,将获取到的classes.dex放到之前解压出来的工具dex2jar-0.0.9.15 文件夹内。
在命令行下定位到dex2jar-0.0.9.15,输入
(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)
首先安装jdk+jre
安装包搜一下就有。
Jre 是java runtime environment, 是java程序的运行环境。既然是运行,当然要包含jvm,也就是大家熟悉的虚拟机啦,还有所有java类库的class文件,都在lib目录下打包成了jar。大家可以自己验证。至于在windows上的虚拟机是哪个文件呢?学过MFC的都知道什么是dll文件吧,那么大家看看jre/bin/client里面是不是有一个jvm.dll呢?那就是虚拟机。
Jdk 是java development kit,是java的开发工具包,里面包含了各种类库和工具。当然也包括了另外一个Jre. 那么为什么要包括另外一个Jre呢?而且jdk/jre/bin同时有client和server两个文件夹下都包含一个jvm.dll。说明是有两个虚拟机的。、安装完以后,添加环境变量,我想着就不用我说了吧,不懂的同学可以百度。
下载apktool
作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看。
地址:apktool点击下载
apk反编译得到程序的源代码、图片、XML配置、语言资源等文件。下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar ,将需要反编译的APK文件放到该目录下,
打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入以下命令:
apktool.bat d -f test.apk test。这里定位提供一个快捷方法,可以鼠标点击打开文件夹后,摁住“shift”鼠标空白处右击,“在此处打开命令窗口” 。
(命令中test.apk指的是要反编译的APK文件全名,test为反编译后资源文件存放的目录名称,即为:apktool.bat d -f [apk文件 ] [输出文件夹])
说明获取成功,之后发现在文件夹下多了个test文件,点击便可以查看该应用的所有资源文件了。
如果你想将反编译完的文件重新打包成apk,也有相应的方法,自行百度。
下载dex2jar和jd-gui
dex2jar作用:将apk反编译成Java源码(classes.dex转化成jar文件)。
jd-gui作用:作用:查看APK中classes.dex转化成出的jar文件,即源码文件
地址:
dex2jar点击下载
jd-gui点击下载
下载上述工具中的dex2jar和jd-gui ,解压。将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到其中的额classes.dex文件,将获取到的classes.dex放到之前解压出来的工具dex2jar-0.0.9.15 文件夹内。
在命令行下定位到dex2jar-0.0.9.15,输入
dex2jar.bat classes.dex。在该目录下会生成一个classes_dex2jar.jar的文件,然后打开工具jd-gui文件夹里的jd-gui.exe,之后用该工具打开之前生成的classes_dex2jar.jar文件,便可以看到源码了。
(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)
相关文章推荐
- Omnibus Gitlab + Runner 配置
- Leetcode no. 165
- Unity 基础 - 预设
- iOS开发-OC中TabView的编辑
- iOS开发-OC中TabView的编辑
- 性能测试
- SwitchButton 开关按钮 的多种实现方式 (附源码DEMO)
- jquery下拉选择生日
- js判断密码强度
- SqlServer批量更新两关联表的数据
- 格式化用户输入的金额(处理RMB的时候适合)
- app 测试点
- JSP开发中对jstl的引用方式(标签库引用)
- jQuery添加和删除输入文本框标签代码
- 电视行业竞争日趋白热化,差异化或成竞争焦点
- spark安装配置
- zabbix如何实现微信短信电话报警
- golang中container/list包用法
- Git 图解剖析(转)
- Java 类和对象7