Android APK反编译查看源码及资源文件

转载 2013年12月03日 11:20:46

本文主要介绍如何反编译Android应用程序查看源代码、资源文件和xml文件以及修改后重新打包成APK。鼓励大家反编译去学习他人的设计而不是将应用换壳后混乱市场。也可以直接使用网友整理的 anti-droid.

 

Android APK实际就是个Zip文件,可以解压缩后反编译查看源代码和资源文件。以下以微信为例:

我们可以右击APK文件,”打开方式”选择Winrar压缩文件管理器,截图如下:

rar查看
是不是跟程序的目录结构很像,源码已经被压缩在了classes.dex文件中。这里我们可以直接查看res下面的图片文件,但对于源代码无法查看,AndroidManifest.xml清单等xml文件打开也是乱码。

 

需要用到的工具包下载地址(截止2013-03-14最新),包括dex2jar、jd-gui、apktool。也可以在下面需要时分别下载最新。
1、 查看源码
(1) 修改待反编译文件后缀.apk为.zip后用winrar解压,记录classes.dex的路径。
(2)使用工具包中的android-reverse-trinea\dex2jar-0.0.9.13或下载最新的dex2jar后解压,在命令行运行

如下:

dex2jar
结果会在classes.dex所在目录下生成classes_dex2jar.jar,用jd-gui.exe(使用工具包中jd-gui或下载最新)打开此文件,如下:
source code
从中我们可以大致了解代码结构,虽然源码经过proguard混淆后可读性很差,但还是可以通过关键字(不可混淆的类名等)查找获取到一定的信息。不过jd-gui无法通过源码查找,只支持查找类型、构造函数、常量、属性、方法。

 

2、查看资源文件和xml文件
(1)使用工具包中的android-reverse-trinea\apktool-1.5.2-windows或下载最新的apktool(需同时下载apktool及对应平台的依赖包,解压后将平台依赖包中的apktool.jar复制到apktool目录下),在命令行运行

其中d表示解包,xxx.apk为待反编译apk路径,xxx为目标文件夹名,(apktool不支持中文目录),如下:
apktool
结果会再apktool.bat所在目录下生成weixin文件夹,现在就可以正确的查看xml资源(包括res下的所有资源,如点9图片、drawable、layout、value、menu等等)了,比如AndroidManifest.xml
AndroidManifest

 

3、修改后重新打包成APK

依然使用步骤2中的apktool,命令如下

其中b表示build,xxx表示步骤2中解包出来的文件夹,我们可以对某一文件进行修改,重新打包rebuild
打包完成后会在xxx目录下生成build和dist两个文件夹,dist存放重新生成的APK,build存放该APK的具体组成信息。
这里我们可以简单的替换资源也可以通过修改smali完成代码的修改,别做坏事哦^_*。

Android APK反编译查看源码及资源文件

转载出处:http://www.trinea.cn/android/android-apk-decompile-to-view-source-code-and-resource-files/ ...
  • coder_nice
  • coder_nice
  • 2015年02月05日 12:31
  • 2718

android apk反编译 查看源码

首先请下载所需要使用的工具包。 工具包有这三个工具: 工具介绍:apktool 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看 dex2jar 作用:将apk反编译成java源码...
  • u013290250
  • u013290250
  • 2016年08月16日 11:58
  • 1543

反编译APK获取代码&资源

本节引言 "反编译Apk",看上去好像好像很高端的样子,其实不然,就是通过某些反编译软件,对我们的APK进行反编译,从而获取程序的源代码,图片,XML资源等文件;不知道你有没有这样做过,看到...
  • fuguotao1
  • fuguotao1
  • 2016年02月19日 14:57
  • 385

apk反编译查看*.java,AndroidManifest.xml,布局xml文件

这个对没有使用jockey混淆代码的管用! 一、反编译Apk得到Java源代码 首先要下载两个工具:dex2jar和JD-GUI 前者是将apk中的classes.dex转化成Jar文件...
  • qq_17007915
  • qq_17007915
  • 2015年12月08日 10:35
  • 4219

Android APK反编译得到Java源代码和资源文件

一.反编译Apk得到Java源代码 首先要下载两个工具:dex2jar和JD-GUI,前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看J...
  • u014626557
  • u014626557
  • 2015年08月28日 15:48
  • 1261

APK反编译--查看源代码

模仿是最好的学习 在工作工程中,往往产品经理一句话,“这个功能就跟XX做成一样的效果就可以了”,然后我们就开始模仿,开始百度、谷歌等等。而最好的参考对象,其实就是要模仿的APP本身,借助Apk反编译,...
  • guan7411084120
  • guan7411084120
  • 2015年10月26日 21:54
  • 1661

Mac下对APK进行反编译

window下进行APK的反编译非常简单,有很多集成工具,选择安装包然后就可以一健反编译得到资源文件和源码的jar,然后使用JD-GUI即可查看源码,使用文本编辑器查看资源文件等。换了MAC之后至今未...
  • ttdevs
  • ttdevs
  • 2014年12月31日 18:33
  • 5885

apktool反编译apk,提取资源文件

APKTool是GOOGLE提供的APK编译工具,需要JAVA运行环境,推荐使用JDK1.6或者JDK1.7 下载工具:http://code.google.com/p/android-a...
  • luopeiyuan1990
  • luopeiyuan1990
  • 2016年04月12日 17:09
  • 1804

Android APK反编译方法(可以获取APK xml和android Manifest,java代码等内容)

APK反编译和签名 apk文件反编译以及签名打包 通过dex2jar和jd我们可以反编译apk中的dex,可以比较完美的查看java源文件;通过apktool可以反编译apk中的xml等资源文件,...
  • daditao
  • daditao
  • 2014年02月16日 23:24
  • 7262

使用apktool反编译apk获取资源文件

介绍: apktool的主要作用是资源文件获取,可以提取出图片文件和布局文件进行使用查看 使用: 1. 下载新版apktool 这里是传送门 2. 解压得到3个文件:aapt.exe,apkt...
  • ygd1994
  • ygd1994
  • 2016年07月02日 01:03
  • 4669
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android APK反编译查看源码及资源文件
举报原因:
原因补充:

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