初步接触APK反编译。刚刚使用android-apktool软件反编译了一下QQ.apk,目的只是想看看QQ这个应用软件是内部是如何设计的,希望可以在某些方面借鉴一下。下面就如何反编译做一个简单的记录(前提是你电脑上的Java环境已经搭建好了,如果没有搭建好请先搭建好后再来看本教程):

1:需要下载的工具有:

apktool-install-windows-r05-ibot.tar.bz2

apktool1.5.2.tar.bz2

这两个工具可以到其官方网站下载,下面是链接地址:

https://code.google.com/p/android-apktool/downloads/list

2:下载完后,进行解压,将解压后的文件全部放在一个文件夹里面,比如我新建一个APK_Tool文件夹用于存放解压后的文件。解压后共有三个文件,如下图所示:

3:Win+R打开DOS,转到APK_Tool文件夹路径,以我的为例,在DOS中输入:

D:\Program Files>cd APK_Tool

D:\Program Files\APK_Tool>apktool.bat

此时将会DOS出现下面的代码时便说明该Bat执行成功。

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 D:\Program Files>cd APK_Tool D:\Program Files\APK_Tool>apktool.bat Apktool v1.5.2 - a tool for reengineering Android apk files
Copyright 2010 Ryszard Wi?niewski <brut.alll@gmail.com>
with smali v1.4.1, and baksmali v1.4.1
Updated by @iBotPeaches <connor.tumbleson@gmail.com>
Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0) Usage: apktool [-q|--quiet OR -v|--verbose] COMMAND [...] COMMANDs are: d[ecode] [OPTS] <file.apk> [<dir>]
Decode <file.apk> to <dir>. OPTS: -s, --no-src
Do not decode sources.
-r, --no-res
Do not decode resources.
-d, --debug
Decode in debug mode. Check project page for more info.
-b, --no-debug-info
Baksmali -- don't write out debug info (.local, .param, .line, etc.) -f, --force
Force delete destination directory.
-t <tag>, --frame-tag <tag>
Try to use framework files tagged by <tag>.
--frame-path <dir>
Use the specified directory for framework files
--keep-broken-res
Use if there was an error and some resources were dropped, e.g.:
"Invalid config flags detected. Dropping resources", but you
want to decode them anyway, even with errors. You will have to
fix them manually before building. b[uild] [OPTS] [<app_path>] [<out_file>]
Build an apk from already decoded application located in <app_path>. It will automatically detect, whether files was changed and perform
needed steps only. If you omit <app_path> then current directory will be used.
If you omit <out_file> then <app_path>/dist/<name_of_original.apk>
will be used. OPTS: -f, --force-all
Skip changes detection and build all files.
-d, --debug
Build in debug mode. Check project page for more info.
-a, --aapt
Loads aapt from specified location. if|install-framework <framework.apk> [<tag>] --frame-path [<location>]
Install framework file to your system. For additional info, see: http://code.google.com/p/android-apktool/
For smali/baksmali info, see: http://code.google.com/p/smali/

在执行成功后就可以进行APK的反编译了。

具体是这样的:

在DOS中转到APK_Tool的位置,然后输入apktool d 需要反编译的apk的绝对路径

以我的为例,代码如下:

D:\Program Files\APK_Tool>apktool d D:\Downloads\快播\QQ.apk
I: Baksmaling...
I: Loading resource table...
I: Loaded.
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: E:\360data\重要数据\apktool\framework\1.apk I: Loaded.
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Done.
I: Copying assets and libs... D:\Program Files\APK_Tool>

转到APK_Tool文件夹,然后输入要反编译的QQ.apk的绝对路径:

D:\Downloads\快播\QQ.apk

完整的格式如下:

D:\Program Files\APK_Tool>apktool d D:\Downloads\快播\QQ.apk

按【Enter】后就静静地等待吧,反编译完成后会自动跳到原始目录,即APK_Tool目录:

D:\Program Files\APK_Tool>

4:大功告成,现在你打开APK_Tool目录,看看,是不是多了一个QQ文件夹,里面就是反编译出来的资源。

更多东西,后续加入……

APK反编译之一的更多相关文章

  1. apk反编译工具

    反编译工具: apktool:资源文件获取,可以提取出图片文件和布局文件进行使用查看 dex2jar:将apk反编译成Java源码(classes.dex转化成jar文件) jd-gui:查看APK中 ...

  2. apk 反编译

    http://blog.csdn.net/vipzjyno1/article/details/21039349/ [置顶] Android APK反编译就这么简单 详解(附图) 标签: android ...

  3. apk反编译

    在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...

  4. JAVA_Android APK反编译就这么简单 详解(附图)

    在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...

  5. 【转】Android APK反编译就这么简单 详解(附图)

    转载地址:http://blog.csdn.net/vipzjyno1/article/details/21039349 在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂 ...

  6. apk反编译、smali修改、回编译笔记

    最近下了一个apk程序,但是一启动会弹出一个流氓广告.这个广告不是原厂商加的,而是有人在原有apk程序的基础上,加了一个壳,让apk先启动他加的广告,再启动原来的程序,很恶心.于是想去掉它. 试了几个 ...

  7. Android APK反编译详解(附图)

    转载自http://blog.csdn.net/sunboy_2050/article/details/6727581 这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而 ...

  8. Android APK反编译easy 详解

    在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...

  9. Android APK反编译就这么简单 详解(附图)

    在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...

  10. 从原生APK反编译,拿到界面,用于mono for android

    从原生APK反编译,拿到界面,用于mono for android 1.用apktool反编译apk,得到xxx.apk.de 2.从xxx.apk.de\res\layout 3.复制所有xml到M ...

随机推荐

  1. So Hard (水题)

    题目网址:http://acm.fzu.edu.cn/problem.php?pid=2193 Problem Description 请将有限小数化为最简分数. Input 一个整数n 表示需要转化 ...

  2. python 爬取百度云资源

    pan1 1 import urllib.request 2 import re 3 import random 4 5 def get_source(key): 6 7 print('请稍等,爬取中 ...

  3. 组合vs继承

    继承,建立子类. 组合(或聚集),在类定义中引用其它类的实例.

  4. Grunt 之 RequireJS

    RequireJs 提供了一个打包工具 r.js,可以将相关的模块打包为一个文件.相关说明:http://www.requirejs.org/docs/optimization.html 将相关的脚本 ...

  5. TchApp项目说明

    概述 使用Web做UI,csharp编程,构建跨平台桌面软件,项目目标是打造一个框架,做完相关的基础设施,让使用者能够只关注业务开发,而不需要重新构建基础设施. 项目应该包括:窗口管理API,跨语言( ...

  6. SDUT 3347 数据结构实验之数组三:快速转置

    数据结构实验之数组三:快速转置 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 转置运算是一 ...

  7. Swift学习(二)

    一.方法 在OC中,函数是C语言的形式,跟方法不一样 函数:int sum (int num1, int num2) { return num1 + num2;   } 方法:- (int)sum:( ...

  8. c语言描述简单的线性表,获取元素,删除元素,

    //定义线性表 #define MAXSIZE 20 typedef int ElemType; typedef struct { ElemType data[MAXSIZE]; //这是数组的长度, ...

  9. css各兼容应该注意的问题

    1.div布局在ie浏览器和chrome浏览器,firefox浏览器不同,不如在div里面嵌套3个div,分别左中右,左边div的pading和margin在ie8以上都是几乎相同,ie8以下做内边距 ...

  10. extern c

    extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码.加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C+ ...