android apk反编译(获取源码,资源文件等)

android apk反编译,是让你可以去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局是怎么实现的

一、当然我们也需要借助工具:

apktool (资源文件获取,可以提取出图片文件和布局文件进行使用查看)

http://download.csdn.net/detail/afanbaby/9921214

dex2jar(将apk反编译成Java源码(classes.dex转化成jar文件))

http://download.csdn.net/detail/vipzjyno1/7025127

jd-gui (查看APK中classes.dex转化成出的jar文件,即源码文件)

http://download.csdn.net/detail/vipzjyno1/7025145

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

这里我们需要使用得工具是 dex2jar和 jd-gui ,下载好这两个工具后,解压。

1.首先要将反编译的apk进行重命名,将后缀明改为.zip或者.rar

这里写图片描述

2.进行解压,把classex.dex文件拷贝到dex2jar解压后的目录下

这里写图片描述

这里写图片描述

3.然后首先使用cmd命令进入到dex2jar-0.0.9.15目录下:

这里写图片描述

4.然后输入命令:dex2jar.bat classes.dex,输入完之后,需要稍等一下,当出现Done的时候,说明生成文件完成。

这里写图片描述

5.可以看到dex2jar解压后的目录下,生成了 classes_dex2jar.jar压缩包

这里写图片描述

6.然后我们运行 jd-gui,

这里写图片描述

7.选择File–>Open File…

这里写图片描述

8.打开之后,就是反编译的程序了

这里写图片描述

但是有一点需要注意:被混淆过以及被加固过的(类文件名称以及里面的方法名称都会以a,b,c….之类的样式命名):

这里写图片描述

二、图形工具(Androidfby):
http://download.csdn.net/download/yangyao_iphone/9480645
1.下载之后,解压,

这里写图片描述

2.运行反编译工具,选择apk,然后点击反编译:

这里写图片描述

然后我们点击确定,但是我们可以看到生成了一个文件夹:

这里写图片描述

文件夹里面就是.dex文件,之后我们就可以重复一中的2–>8了:

这里写图片描述

三、获取程序的源代码、图片、XML配置、语言资源等文件

1.下载apktool后,解压,然后可以看到里面有三个文件,然后将需要反编译的apk放在这个目录下,

这里写图片描述

2.然后使用cmd命令 ,先进入这个apktool目录下,输入命令: apktool.bat d -f test.apk -o test(apktool.bat d -f apk名字 -o 生成的文件名)

这里写图片描述

3.然后就可以看到目录下多出一个test的文件夹,这里面就是我们所需要的资源文件了

这里写图片描述

注意:.如果apktool的版本过低的话,就会导致下面这个问题:

这里写图片描述

这里是apktool官网地址:

https://ibotpeaches.github.io/Apktool/

下载最新的版本后,然后重命名为apktool.jar替换掉之前的低版本,就可以了。

我们学习使用反编译,是为了学习他人的思路,不要做坏事,当然我们也可以避免我们的程序被他人反编译,所以我们开发的时候要做混淆或者加固,这样就不会给他人可乘之机。

本人菜鸟一个,有什么不对的地方希望大家指出评论,大神勿喷,希望大家一起学习进步!

  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Android apktool是一款广泛使用的工具,用于反编译Android应用程序包(APK)。APK是一种Android应用程序的打包格式,包含了应用的所有代码、源和配置信息。而反编译则是指将APK文件还原成可读性较高且易于理解的源代码形式。 使用apktool进行APK反编译时,首先需要将APK文件传递给apktool工具。工具会根据APK文件的结构,解析并提取其中的所有文件和源。然后,apktool会自动将其中的DEX文件(Dalvik Executable文件,包含了Java源代码经过编译后的字节码)转换为Java源码。此时,开发者可以通过查看反编译后的Java源码来了解应用的工作原理和实现细节。 同时,apktool还会还原APK中的XML文件,包括清单文件、布局文件以及其他配置文件。这些XML文件记录了应用的各种配置信息,如权限、活动(Activity)、服务(Service)等。反编译后的XML文件可以帮助开发者了解应用的结构和设计。 尽管apktool的反编译功能可以帮助开发者深入了解和分析应用,但需要注意的是,由于反编译是将编译后的字节码转化为源代码,所以反编译后的代码可能会存在格式混乱、变量命名不一致等问题。因此,反编译源码仅供参考和学习使用,不能完全复原原始代码。 总而言之,android apktool是一款强大的工具,通过它可以帮助开发者反编译APK文件,提取其中的代码和源,从而更好地分析应用和进行代码审查。 ### 回答2: Android apktool是一种常用的工具,用于反编译APK文件。反编译APK可以帮助开发者分析和修改应用程序,并研究其他应用程序的功能和实现原理。 通过使用apktool工具,可以将APK文件解压成源码源文件。这样,开发者可以查看应用程序的源代码,理解其逻辑和结构,并根据需要进行修改。apktool还可以还原源文件,比如图片、音频和布局文件,以供进一步分析和修改。 使用apktool反编译APK文件并不复杂。首先,需要在电脑上安装Java开发环境,然后下载并配置好apktool工具的环境变量。接下来,在命令行中运行apktool命令,指定要反编译APK文件路径。反编译完成后,可以在指定的输出目录中找到反编译源码源文件。 然而,需要注意的是,反编译APK只能得到大致的源码源文件,并不完全等同于开发者的原始代码。因为在编译APK之前,原始代码会经过一系列的编译和混淆过程,这些过程会对源码进行处理,使得反编译后的代码可读性较差。此外,反编译APK可能存在法律和道德问题,因此应该遵守相关法律规定,并尊重开发者的劳动成果。 综上所述,Android apktool是一种有用的工具,可以帮助开发者反编译APK文件,分析和修改应用程序。合法合规地使用该工具,可以加深对Android应用程序的理解,并提升开发能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值