Android 反编译apk 到java源码的方法

转载 2014年10月15日 11:31:14

Android 反编译apk 到java源码的方法

   Android由于其代码是放在dalvik虚拟机上的托管代码,所以能够很容易的将其反编译为我们可以识别的代码。

        之前我写过一篇文章反编译Android的apk包到smali文件 然后再重新编译签名后打包实现篡改apk的功能。

http://blog.csdn.net/Zengyangtech/archive/2010/08/12/5807517.aspx

        最近又有一种新的方法来实现直接从Android apk包里的classes.dex文件,把dex码反编译到java的.class二进制码,然后从.class二进制码反编译到java源码想必就不用我来多说了吧。

        首先我们需要的工具是dex2jar和jd-gui

        其中第一个工具dex2jar是用来把classex.dex文件也就是dex二进制码转化为java的标准.class二进制码,然后jd-gui是把标准的.class二进制码再反编译为java源码。

        首先从apk包里面提取出classes.dex

     放到dex2jar目录下

       然后在命令行下执行

        dex2jar.bat classes.dex

        

    这时执行成功后会生成一个classes.dex.dex2jar.jar文件

    这个文件再用jd-gui打开,如下图

    

 

     几乎跟我自己写的这个程序的源码一样

 

提供这个反编译方法主要用于大家学习与研究,有问题可以与我邮件讨论。

希望大家不要用这个方法从事恶意的活动,毕竟,别人辛辛苦苦写程序也不容易,用这个方法可以大致的学习到别人写的程序的逻辑,架构,希望对大家有所帮助

 

本文的版权归博主曾阳所有

转载请注明地址http://blog.csdn.net/Zengyangtech/archive/2010/10/26/5967263.aspx


付:若文中軟件下載地址不可用的話,到我上傳的資源空間下載反編譯工具


Android 反编译apk 到java源码的方法

Android由于其代码是放在dalvik虚拟机上的托管代码,所以能够很容易的将其反编译为我们可以识别的代码。         之前我写过一篇文章反编译Android的apk包到smali文件 然后...
  • ggmmsoo
  • ggmmsoo
  • 2013年09月11日 14:51
  • 361

android 防止反编译的若干方法

第一种方式:混淆策略 混淆策略是每个应用必须增加的一种防护策略,同时他不仅是为了防护,也是为了减小应用安装包的大小,所以他是每个应用发版之前必须要添加的一项功能,现在混淆策略一般有两种: ...
  • xiangzhihong8
  • xiangzhihong8
  • 2016年05月31日 11:05
  • 2535

Android反编译apk得到java源码的方法

用到的软件: dex2jar: 下载地址: http://code.google.com/p/dex2jar/ 。 jd-gui: 下载地址: http://java.decompiler.f...
  • ygc87
  • ygc87
  • 2012年08月06日 09:42
  • 558

apktool反编译重编译微信6.3.7

使用apktool2.0.0-RC2反编译重编译微信6.3.7成功,过程如下: 1.反编译过程很顺利 2.重编译报如下错误: D:\android\apktool>apktool.bat b w...
  • xpb1980
  • xpb1980
  • 2016年08月22日 17:36
  • 7974

Android APK XML解析与反编译方法

APK中的XML为何不能直接打开,是否只是简单的二进制文件,难道被加密了?为什么AXMLPrinter2反编译的时候竟然报错了,如何解决? java.lang.ArrayIndexOutOfBoun...
  • Simbaba
  • Simbaba
  • 2015年04月22日 23:05
  • 3286

Android APK之代码混淆与反编译

首先示例一个Android项目 , 里面包含所需要的混淆脚本以及 一些经常使用的第三方Jar包 问题1 : 如果你创建的项目里没有自带proguard.cfg这个混淆脚本,那...
  • codepython
  • codepython
  • 2015年09月11日 22:09
  • 722

Android之反编译技术

我们都知道,Android程序打完包之后得到的是一个APK文件,这个文件是可以直接安装到任何Android手机上的,我们反编译其实也就是对这个APK文件进行反编译。Android的反编译主要又分为两个...
  • Lingbulei
  • Lingbulei
  • 2018年01月08日 14:43
  • 196

Android Killer--安卓反编译工具

Android Killer--安卓反编译工具
  • guiguzi1110
  • guiguzi1110
  • 2014年12月18日 10:07
  • 8871

Android中对APK进行反编译

其实反编译很简单,只是利用一些工具包和一些基本命令行的命令对apk文件进行反编程,没有什么高深的技术。下面就让我们一起来学习一下反编译的技术。...
  • u013761665
  • u013761665
  • 2015年02月09日 09:47
  • 1884

反编译apk(ubuntu14.04)

1.在linux系统下反编译用到的工具:      dex2jar,jd-gui,apktool 2.首先下载三个软件包https://pan.baidu.com/s/1b9lhcq,https:/...
  • x2017x
  • x2017x
  • 2017年06月28日 08:17
  • 451
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 反编译apk 到java源码的方法
举报原因:
原因补充:

(最多只允许输入30个字)