如何反编译APK?
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得到Java源代码 首先要下载两个工具:dex2jar和JD-GUI 前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源 ...
- Atitit.反编译apk android源码以及防止反编译apk
Atitit.反编译apk android源码以及防止反编译apk 1.1. Tool apk逆向助手1 1.2. 二.使用dex2jar + jd-gui 得到apk的java源码1 1.3. 用 ...
- 反编译APK文件
有时源代码丢失了,这时如果有apk文件的话,是可以对apk文件反编译得到源文件的,本文介绍一下简单的反编译apk文件的过程. 1.工具 反编译apk需要的工具有两个:apk2java和apktool, ...
- ubuntu下使用反编译apk,工具dex2jar和jd-gui
ubuntu下使用反编译apk, 工具 1:通过apk-tool反编译出资源文件: http://code.google.com/p/android-apktool/ 2.首先使用dex2jar反编译 ...
- Android 反编译apk 详解
测试环境: win 7 使用工具: CSDN上下载地址: apktool (资源文件获取) 下载 dex2jar(源码文件获取) 下载 jd-gui (源码查看) ...
- Uubuntu 14.04 LTS反编译apk
使用apktool反编译apk 1.安装apktool apktool是Google提供的APK编译工具,能够反编译及回编译apk,需要Java环境的支持(在此不再赘述Java的安装与配置,详见< ...
- Xamarin android如何反编译apk文件
Xamarin android 如何反编译 apk文件 这里推荐一款XamarinAndroid开发的小游戏,撸棍英雄,游戏很简单,的确的是有点大.等一下我们来翻翻译这个Xamarin Android ...
- Android 反编译apk
工具介绍: apktool 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看 下载地址:https://bitbucket.org/iBotPeaches/apktool/downl ...
- 反编译Apk得到Java源代码
原文章转载自:http://hi.baidu.com/%CB%BF%D4%B5%CC%EC%CF%C2/blog/item/2284e2debafc541e495403ec.html 本人转载自:ht ...
随机推荐
- Dynamics 365 Online 试用账号申请方式
专人整理的申请方式PPT,这里转载给大家,下载地址
- hiredis异步接口封装并导出到Lua
hiredis异步接口封装并导出到Lua(金庆的专栏 2017.1)hiredis 不支持 Windows, Windows 下使用 wasppdotorg / hiredis-for-windows ...
- 粗浅看Struts2和Hibernate框架
----------------------------------------------------------------------------------------------[版权申明: ...
- EBS系统管理常用SQL语句整理汇总(参考网上资料&其他人博客)
--1查找系统用户基本信息 SELECT user_id, user_name, description, employeE_id, person_party_id FROM fnd_user; -- ...
- RxJava(五) onErrorResumeNext操作符实现app与服务器间token机制
欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/51533586 本文出自:[余志强的博客] 一.需求场景: 在开发Ap ...
- 使用DWR实现自动补全 类似百度搜索框的自动显示效果
使用DWR实现自动补全 自动补全:是指用户在文本框中输入前几个字母或汉字的时候,自动在存放数据的文件或数据库中将所有以这些字母或汉字开头的数据提示给用户供用户选择 在日常上网过程中,我们经常使用搜索引 ...
- ROS_Kinetic_27 在ROS中使用Cartographer进行SLAM
ROS_Kinetic_27 在ROS中使用Cartographer进行SLAM Cartographer是谷歌新開源的通用的2D和3D定位與構圖同步的SLAM工具,並提供ROS接口. 论文Real- ...
- ROS_Kinetic_26 使用rosserial_windows实现windows与ROS master发送与接收消息
使用rosserial_windows实现windows与ROS master发送与接收消息(适用版本hydro,indigo,jade,kinetic) 官方wiki地址汇总请参考:http://b ...
- [ExtJS5学习笔记]第十八节 Extjs5的panel的dockeditems属性配置toolbar
本文地址:http://blog.csdn.net/sushengmiyan/article/details/39156321 官方例子:http://docs.sencha.com/extjs/5. ...
- Java遍历时删除List、Set、Map中的元素(源码分析)
在对List.Set.Map执行遍历删除或添加等改变集合个数的操作时,不能使用普通的while.for循环或增强for.会抛出ConcurrentModificationException异常或者没有 ...