Android APK 反编译工具使用详解(附图与apk反编译工具下载)

所属分类: 软件教程 / 其他工具 阅读数: 1779
收藏 0 赞 0 分享

在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。

本文Android反编译教程,测试环境:

Win7 Ultimate x64

Ubuntu 12.04 x86_x64

反编译工具包 下载 (2012-10-10更新)

一、Apk反编译得到Java源代码

下载上述反编译工具包,打开apk2java目录下的dex2jar-0.0.9.9文件夹,内含apk反编译成java源码工具,以及源码查看工具。

apk反编译工具dex2jar,是将apk中的classes.dex转化成jar文件

源码查看工具jdgui,是一个反编译工具,可以直接查看反编译后的jar包源代码

dex2jar 和 jdgui 最新版本下载,分别见google code:

dex2jar(google code)

jdgui(google code),最新版本请见 官方

具体步骤:

首先将apk文件后缀改为zip并解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的,将classes.dex复制到dex2jar.bat所在目录dex2jar-0.0.9.9文件夹。

在命令行下定位到dex2jar.bat所在目录,运行

dex2jar.bat    classes.dex

生成

classes_dex2jar.jar

然后,进入jdgui文件夹双击jd-gui.exe,打开上面生成的jar包classes_dex2jar.jar,即可看到源代码了,如下图:



HelloAndroid源码在反编译前后的对照如下:

 

二、apk反编译生成程序的源代码和图片、XML配置、语言资源等文件

如果是汉化软件,这将特别有用

首先还是要下载上述反编译工具包,其中最新的apktool,请到google code下载

apktool(google code)

具体步骤:

下载上述反编译工具包,打开apk2java目录下的apktool1.4.1文件夹,内含三个文件:aapt.exe,apktool.bat,apktool.jar 

注:里面的apktool_bk.jar是备份的老版本,最好用最新的apktool.jar

在命令行下定位到apktool.bat文件夹,输入以下命令:apktool.bat  d  -f   abc123.apk   abc123,如下图:

 

上图中,apktool.bat 命令行解释:apktool.bat   d  -f    [apk文件 ]   [输出文件夹]

反编译的文件如下(AndroidManifest.xml为例):


将反编译完的文件重新打包成apk,很简单,输入apktool.bat   b    abc123(你编译出来文件夹)即可,命令如下:

 

打包apk后的文件在目录C:\HelloAndroid下,生成了两个文件夹:

build

dist

其中,打包生成的HelloAndroid.apk,在上面的dist文件夹下,Ok

三、 图形化反编译apk

上述步骤一、二讲述了命令行反编译apk,现在提供一种图形化反编译工具:Androidfby

首先,下载上述反编译工具包,打开Androidfby目录,双击Android反编译工具.exe,就可以浏览打开要反编译的apk


本文反编译工具包整理历史版本:

Android反编译工具包(升级)  (2012-10-10)

本博客反编译方法,仅供参考学习使用,禁止用于非法和商业等用途,谢谢!

更多精彩内容其他人还在看

UG钣金模块怎么制作合叶模型?

UG钣金模块怎么制作合叶模型?UG中绘制零件很方便,该怎么绘制合叶模型呢?下面我们就来看看UG使用钣金模块制作合叶模型的详细图文教程,需要的朋友可以参考下
收藏 0 赞 0 分享

UG模型中的文字无法拉伸该怎么办?

UG模型中的文字无法拉伸该怎么办?在拉伸模具的时候,发现模型中的文字没有跟着模型变化,拉伸对文字不起作用,该怎么办呢?下面我们就来看看这个问题的解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享

Axure RP 8怎么完成一个登录界面并链接对应功能?

Axure RP 8怎么完成一个登录界面并链接对应功能?我们在做网页的时候,一般都会在Axure中先做原型并实现相应功能,今天我们就来看看Axure RP 8制作登录并链接功能的教程
收藏 0 赞 0 分享

ug怎么装配台虎钳? 虎钳ug建模到装配的教程

ug怎么装配台虎钳?在设计虎钳的时候想看看虎钳部件设计是否合适,以及检查配合部分的干涉问题,该怎么办呢?下面我们就来看看ug建模到装配的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

ansys有限元怎么导入solidworks绘制好的模型?

ansys有限元怎么导入solidworks绘制好的模型?ansys需要使用一些模型软件模型,在solidworks绘制好以后该怎么导入到ansys中呢?下面我们就来看看详细的教程
收藏 0 赞 0 分享

谷歌卫星地图怎么添加标注?

谷歌卫星地图怎么添加标注?想要在地图上标注文字,该怎么标注呢?下面我们就来看看谷歌卫星地图添加标注的详细教程,下面我们就来看看这个问题的解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享

ug中怎么绘制鼠标外壳模型?

ug中怎么绘制鼠标外壳模型?ug可以制作零件模型,今天我们就来看看使用ug绘制鼠标的实例教程,绘制教程很简单,图文很详细,需要的朋友可以参考下
收藏 0 赞 0 分享

Acrobat DC Pro怎么注册 Acrobat DC Pro注册详细图文教程

acrobat pro dc是目前Adobe公司最新发布的全新一代PDF制作软件,很多朋友不知道Acrobat DC Pro怎么注册,今天小编就为大家带来Acrobat DC Pro注册教程,一起看看吧
收藏 0 赞 0 分享

MathType编辑积分符号该怎么编辑?

MathType编辑积分符号该怎么编辑?MathType中可以编辑公式,word经常nag使用它 编辑公式,但是MathType中该怎么输入积分符号呢?下面我们就来看看这个问题的解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享

MathType中怎么编辑箭头上下都添加文字?

MathType中怎么编辑箭头上下都添加文字?MathType中编辑公式很方便,如果想编辑类似于往返的符号,就是做大巴经常能看到双向箭头上下都有往返的路线文字,该怎么编辑呢?请看下文详细介绍
收藏 0 赞 0 分享
查看更多