Java自古以来就可以反编译,Android是基于Java开发的,自然逃不过这个命运。目前Android应用程序apk可以通过2种途径进行反编译各取所需,笔者就是通过以下方法反编译米聊,并成功山寨了其部分功能:),大家可以试试QQ之类的软件。

一.反编译Apk得到Java源代码:

1.下载工具:

dex2jar下载地址:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip

JD-GUI下载地址:

windows版JD-GUI:http://laichao.googlecode.com/files/jdgui.zip

Linux版JD-GUI:http://laichao.googlecode.com/files/jd-gui-0.3.2.linux.i686.tar.gz

2.解压apk取出classes.dex

apk本质就是一个压缩文件,所以把apk文件改名为.zip,然后解压缩其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的。

2.把classes.dex拷贝到dex2jar.bat所在目录。

windows系统下:

在命令行模式下定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex ,生成classes.dex.dex2jar.jar

Ubuntu系统下:

在终端下定位到dex2jar.sh所在目录,运行

sh dex2jar.sh classes.dex

则可生成classes.dex.dex2jar.jar

3.运行JD-GUI工具

打开上面的jar文件,即可看到源代码

 

二.反编译apk得到图片、XML配置等文件。

1.下载工具:

到code.google上下载apktool.jar以及相关文件:http://code.google.com/p/android-apktool/downloads/list

点击下载apktool-1.0.0.tar.bz2 和apktool-install-windows-2.1_r01-1.zip

2.解压apktool.jar 到 C:\Windows文件夹下

解压apktool-install-windows.zip到任意文件夹

3.点击开始菜单,运行,输入CMD回车,用cd命令转到刚刚解压apktool-install-windows所在的文件夹,输入apktool,出现一些命令说明即成功安装。

4.Apktool 命令

apktool d test.apk xxx    反编译test.apk到文件夹xxx

apktool b  test           从文件夹test重建APK

更多相关文章

  1. NPM 和webpack 的基础使用
  2. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  3. Android怎样修改系统时间?
  4. 如何在eclipse中查看Android提供的源码
  5. Android的包管理机制浅析(一)
  6. Android核心基础(二)
  7. Android编程之文件的读写实例详解
  8. Android(安卓)HttpClient上传文件与Httpconnection知识小结
  9. 项目中遇到的问题留下笔记

随机推荐

  1. [Android] 如何查看当前分支
  2. Android锁屏 DevicePolicyManager介绍
  3. 转-Android(安卓)Studio系列教程六--Grad
  4. Android:interpolator用法
  5. androidSDK无法更新的解决方法之一
  6. Android(安卓)Battery 架构
  7. android全屏去掉title栏的多种实现方法
  8. Android将drawable图像转化为二进制字节
  9. 为什么Android不是GPL许可证?
  10. android中如何获取文件的路径总结