Adnroid 反编译APK
http://blog.csdn.net/vipzjyno1/article/details/21039349
http://blog.csdn.net/zx19899891/article/details/7559201
http://showlike.iteye.com/blog/1686103
我们知道,apk程序实际上是个压缩包,通过解压后发现里面主要是一些xml文件和一个classes.dex文件,xml对应于android工程中的各种原始xml文件,而classes.dex则是由工程中的src下的java文件编译而成,所以我们主要的反编译工作就分别针对xml文件和dex文件来进行。
1.反编译xml文件
如果直接解压apk,打开里面的xml文件发现全是些看不懂的乱码,为了能够正常的反编译,首先需要下载一个apktool工具(http://code.google.com/p/android-apktool/),如果是window平台,就要下载apktool1.4.3.tar.bz2和apktool-install-windows-r04-brut1.tar.bz2,然后都解压到同个目录下,这里为了以后使用方便,我直接将其拷贝到sdk的platform-tools,进入命令行,然后进入到你存放apk的目录下,我这里就直接放在d盘根目录下,执行下图所示命令

其中的mytext是由你任意指定的,执行完后就在d盘下生成一个mytext文件夹,进入该文件夹,打开其中任意个xml文件,你会发现再也没有乱码了,都是你看得懂的。。。另外还有个文件夹smali,这个其实是反编译classes.dex到java文件的一个中间文件类型,虽然能看懂点,可是还是不能像看java文件那么爽,所以就用第二步中的方法单独反编译这块。
2.反编译classes.dex
首先下载dex2jar(http://code.google.com/p/dex2jar/)和XJad,同样为了执行方便,我直接将解压后的dex2jar文件夹里的所有内容拷贝到sdk的platform-tools,之后进入命令行,执行如下命令,其中classex.dex文件是用常用的解压缩工具解压apk后得到的。

执行完后,就在d盘下生成一个classes_dex2jar.jar 包,然后运行刚才下载的XJad中的XJad.exe,依次点击菜单-文件-反编译jar文件,选择刚生成的jar包,稍等片刻后即可在jar同目录下生成一个~classes_dex2jar.jar这样的目录,进入后会发现全是java类型的文件,而且按文件夹都分好类了,这些你都能读得懂。
至此,将1步反编译出的xml文件和2步反编译出的java文件和在一起,就完成了一个apk的反编译工作,你可以尝试各种第三方开发的apk,基本都能解压出来,希望对大家有所帮助。
所有工具我都打包上传了:http://download.csdn.net/detail/zx19899891/4296409
Adnroid 反编译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 ...
- 如何反编译APK?
1.概述 一些商业的app都包含很多精美的图片还有一些比较好的配置文件,以前某师兄就说过apk把后缀改为zip,然后解压一下就可以获得很多图片资源,但是这时候你打开一下解压出来的xml资源全是乱码.通 ...
- Android 反编译apk
工具介绍: apktool 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看 下载地址:https://bitbucket.org/iBotPeaches/apktool/downl ...
随机推荐
- HashTable、List、ArrayList的经典使用和相互转换
1.添加引用 using System.Collections; 2.创建并添加数据 Hashtable hs = new Hashtable(); hs.Add("Name1", ...
- RCF库ClientStub.setAutoReconnect
这个选项为false时,当连接断开时,第一次调用服务会抛出异常,而第二次调用时,也会自动连接.
- HDUOJ------(1230)火星A+B
火星A+B Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- Python程序数据溢出问题或出现 NAN 问题
[数据溢出问题] overflow:溢出 overflow:上溢 underflow:下溢 数据溢出包括上溢和下溢. 上溢可以理解为:你想用一个int类型来保存一个非常非常大的数,而这个超出了int类 ...
- vi命令速查图
Lesson 1 Lesson 2 Lesson 3 Lesson 4 Lesson 5 Lesson 6 Lesson 7
- 摘:用ADO操作数据库的方法步骤
用ADO操作数据库的方法步骤 ADO接口简介 ADO库包含三个基本接口:_ConnectionPtr接口._CommandPtr接口和_RecordsetPtr接口. _ConnectionPtr接口 ...
- Linux内核中锁机制之内存屏障、读写自旋锁及顺序锁
在上一篇博文中笔者讨论了关于原子操作和自旋锁的相关内容,本篇博文将继续锁机制的讨论,包括内存屏障.读写自旋锁以及顺序锁的相关内容.下面首先讨论内存屏障的相关内容. 三.内存屏障 不知读者是是否记得在笔 ...
- java servlet中执行linux命令
public HttpServletResponse execCmd(String cmd, HttpServletRequest request, HttpServletResponse respo ...
- 如何安装rockmongo(gui for mongodb)
1.下载rockmongo 下载地址: http://rockmongo.com/downloads 将下载下来的压缩包rockmongo-1.1.5.zip解压到web 发布目录(我这里使用的是ap ...
- maven的部署安装
首先上传apache-maven-3.3.9-bin.tar.gz tar -xfvz apache-maven-3.3.9-bin.tar.gz mv apache-maven-3.3.9 /dat ...