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

时间:2024-03-21 13:00:25

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

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

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

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

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

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

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

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

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

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

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

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

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

7.选择File–>Open File…

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

这里是apktool官网地址:

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

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

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

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