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的更多相关文章

  1. 反编译apk

    一.反编译Apk得到Java源代码 首先要下载两个工具:dex2jar和JD-GUI 前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源 ...

  2. Atitit.反编译apk android源码以及防止反编译apk

    Atitit.反编译apk android源码以及防止反编译apk 1.1. Tool  apk逆向助手1 1.2. 二.使用dex2jar + jd-gui 得到apk的java源码1 1.3. 用 ...

  3. 反编译APK文件

    有时源代码丢失了,这时如果有apk文件的话,是可以对apk文件反编译得到源文件的,本文介绍一下简单的反编译apk文件的过程. 1.工具 反编译apk需要的工具有两个:apk2java和apktool, ...

  4. ubuntu下使用反编译apk,工具dex2jar和jd-gui

    ubuntu下使用反编译apk, 工具 1:通过apk-tool反编译出资源文件: http://code.google.com/p/android-apktool/ 2.首先使用dex2jar反编译 ...

  5. Android 反编译apk 详解

    测试环境: win 7 使用工具: CSDN上下载地址: apktool (资源文件获取)  下载          dex2jar(源码文件获取) 下载        jd-gui  (源码查看)  ...

  6. Uubuntu 14.04 LTS反编译apk

    使用apktool反编译apk 1.安装apktool apktool是Google提供的APK编译工具,能够反编译及回编译apk,需要Java环境的支持(在此不再赘述Java的安装与配置,详见< ...

  7. Xamarin android如何反编译apk文件

    Xamarin android 如何反编译 apk文件 这里推荐一款XamarinAndroid开发的小游戏,撸棍英雄,游戏很简单,的确的是有点大.等一下我们来翻翻译这个Xamarin Android ...

  8. 如何反编译APK?

    1.概述 一些商业的app都包含很多精美的图片还有一些比较好的配置文件,以前某师兄就说过apk把后缀改为zip,然后解压一下就可以获得很多图片资源,但是这时候你打开一下解压出来的xml资源全是乱码.通 ...

  9. Android 反编译apk

    工具介绍:    apktool 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看 下载地址:https://bitbucket.org/iBotPeaches/apktool/downl ...

随机推荐

  1. swift上传图片

    import UIKit import AFNetworking class YJRequest: NSObject { //#pragma mark - 上传图片 func uploadImageW ...

  2. HDUOJ------------1051Wooden Sticks

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  3. HDUOJ ---悼念512汶川大地震遇难同胞——来生一起走

    悼念512汶川大地震遇难同胞——来生一起走 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  4. JavaScript 设计模式之单例模式

    一.单例模式概念解读 1.单例模式概念文字解读 单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象.在Ja ...

  5. Eclipse 选中变量高亮显示设置

  6. python核心编程--笔记(不定时跟新)(转)

    的解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找python路径 1.4 –v   ...

  7. 【ERROR】bash: vim: command not found的解决办法

    今天在学习鸟哥的菜的时候,发现自己linux不可以启用vim命令,错误为:bash: vim: command not found. 机器环境:VMWare8+RED HAT Enterprise5 ...

  8. jmeter --- 基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示

    转自:https://blog.csdn.net/RickyOne_RR/article/details/50637839 本文主要讲述如何利用JMeter监听器Backend Listener,配合 ...

  9. 本地服务器能ping通,但是ssh及各种端口都访问不到---待整理

    情况描述: 情况一:后来发现,开机需要很长一段时间之后才能正常的访问那台机器 原因:系统启动时加载的程序多,所以开机需要很长的时间,关掉不用的就可以了 情况二:服务器位于局域网内,有的时候可以访问到, ...

  10. MyBatis generator 使用方式 小结

    1.  配置到 maven 中pom.xml 中 2.  手动运行 脚本文件 3. 基于 web 项目  http://git.oschina.net/redArmy/springboot-gener ...