文档章节

ubuntu下反编译android apk 获取xml文件资源文件和java文件

b
 bin-os
发布于 2014/05/07 03:24
字数 477
阅读 1320
收藏 8

      在开发学习的过程中,反编译成熟的apk能从中学到不少东西,在ubuntu反编译apk。
获取相应的配置文件和资源文件  已经java源代码文件,从中可以吸取有用的设计。

反编译apk 主要有三个工具
apktool       :反编译获取xml文件 资源文件
dex2jar        :把dex文件转换成jar文件
jd-gui            : 把.class.jar文件转化为java文件

一. apktool     反编译获取xml文件 资源文件
apktool  需要下载的文件:

apktool1.5.2.tar.bz2:

         https://android-apktool.googlecode.com/files/apktool1.5.2.tar.bz2


apktool-install-linux-r05-ibot.tar.bz2:

         https://android-apktool.googlecode.com/files/apktool-install-linux-r05-ibot.tar.bz2


解压下载的文件
           tar -jxvf apktool1.5.2.tar.bz2
           tar -jxvf apktool-install-linux-r05-ibot.tar.bz2
将文件拷贝到/bin目录下
        sudo cp apktool1.5.2/apktool.jar apktool-install-linux-r05-ibot/aapt apktool-install-linux-r05-ibot/apktool /bin
更改文件的权限
        sudo chmod 755 /bin/apktool.jar /bin/aapt /bin/apktool
命令:
查看apk信息:aapt d badging android-package.apk

解开apk文件(解包):apktool d android-package.apk


即可 反编译生成 xml文件 资源文件


二. dex2jar  + jd-gui      反编译获取java文件


dex2jar 下载地址   http://code.google.com/p/dex2jar/downloads/list

jd-gui 下载地址(下载linux版本):http://java.decompiler.free.fr/?q=jdgui

解压dex2jar-0.0.9.15.zip    然后 到dex2jar目录下
把apk包的classes.dex文件copy到dex2jar目录下 执行如下命令
$ sh dex2jar.sh classes.dex
         会生成 classes_dex2jar.jar

解压jd-gui-0.3.3.linux.i686.tar.zip后   
 进入目录点击 jd-gui 直接运行。打开文件classes_dex2jar.jar  即可查看java源代码

参考  
1.http://blog.csdn.net/android_xiaoqi/article/details/7278639
 


© 著作权归作者所有

共有 人打赏支持
b
粉丝 1
博文 2
码字总数 822
作品 0
深圳
私信 提问
android 反编译工具

1、smali-1.2.6.jar 用途:.smali文件 转成 classes.dex文件 说明:.smali文件,类似于.class文件,可以用普通文本编辑器查看和修改。 用法举例:命令行:java -jar smali.jar classout/ -o ...

SamZel
2012/05/29
0
0
Android APK反编译详解(附图)(转)

原文转自:http://blog.csdn.net/ithomer/article/details/6727581 这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是...

巴顿
2015/01/16
0
0
Android的反编译和代码混淆

系列文章: Android的反编译和代码混淆 Android的打包签名 Android的多渠道打包 前言 包括以下内容 要反编译apk需要下面3个工具 反编译资源文件 反编译类文件 代码混淆 要反编译apk需要下面3...

跳动的松鼠
2017/11/21
0
0
android apk反编译详解

这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。 在此郑重声明,贴出来的目的不是为了去破解人家的软...

刘小米
2014/10/30
0
0
android技巧:apk文件反编译以及签名打包

android技巧:apk文件反编译以及签名打包(dex2jar&jd,apktool,apk-si 通过dex2jar和jd我们可以反编译apk中的dex,可以比较完美的查看java源文件;通过apktool可以反编译apk中的xml等资源文件...

迷糊
2011/01/18
0
7

没有更多内容

加载失败,请刷新页面

加载更多

mysql导入较大的数据文件

mysql一次导入较大的sql文件的时候会出现导入的瓶颈,用工具例如sqlyog之类的执行几十M都不行了,直接报内存不足,看来去服务器上执行sql命令才是王道。 服务器上执行有两种思路: 以Linux命...

sensy
2分钟前
0
0
Redis 基础入门

为什么需要Redis 传统的关系数据库MySQL,ORacle等的数据主要还是存储在磁盘上,虽然数据库各自都带有缓存功能,但随着业务量的增大,数据库自身的缓存终将成为瓶颈,次数如果要提供应用的效...

PeakFang-BOK
3分钟前
0
0
VS2017设置“编辑并继续”无效的问题

设置“编辑并继续” 在“工具”菜单上,单击“选项”。 在“选项”对话框中,打开“调试”节点,然后选择“编辑并继续”类别。 若要启用它,请选中“启用‘编辑并继续’”复选框。 若要禁用它...

随你疯
15分钟前
0
0
(5)添加svg支持

(5)添加svg支持 1 安装svg-sprite-loader cnpm install svg-sprite-loader --save svg-sprite-loader是一个webpack loader,可以将多个svg打包成svg-sprite。 2 配置svg-sprite-loader 我们......

neumeng
16分钟前
0
0
17-《深度拆解JVM》之即时编译(上)

一、问题引入 在第一篇中,我们简单了解过即时编译。这是一项用来提升应用程序运行效率的技术。通常而言,代码会先被 Java 虚拟机解释执行,之后反复执行的热点代码则会被即时编译成为机器码...

飞鱼说编程
33分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部