安卓xml反编译工具,如何反编译apk文件得到源码和XML文件

安卓xml反编译工具,如何反编译apk文件得到源码和XML文件

安卓xml反编译工具目录

如何反编译apk文件得到源码和XML文件

如何反编译apk文件得到源码和XML文件

安卓xml反编译工具常用的有以下几种:

1. Apktool:Apktool一款开源的反编译工具,可以将 APK 文件反编译为 Smali 代码和资源文件。

2. jadx:jadx一款开源的反编译工具,可以将 APK 文件反编译为 Java 源代码。

3. dex2jar:dex2jar一款开源的工具,可以将 APK 文件的 dex 文件转换为 jar 文件,然后使用反编译工具反编译 jar 文件。

4. Enjarify:Enjarify一款基于 dex2jar 开发的工具,可以将 APK 文件的 dex 文件转换为 jar 文件,然后使用反编译工具反编译 jar 文件。

5. jadx-gui:jadx-gui jadx 的图形化界面,可以方便地进行反编译操作。

如何反编译apk文件得到源码和XML文件

1.下载反编译工具

需要下载四个工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot

dex2jar:将apk中的classes.dex转化成Jar文件。

JD-GUI:反编译工具,可以直接查看Jar包的源代码。

apktool:反编译工具,通过反编译APK中XML文件,直接可以查看。

apktool-install-windows-r05-ibot:辅助windows批处理工具。

 

2.解压缩APK包

apk文件也是一种常见的zip,常用的压缩软件就可轻松地解压apk文件。

用压缩软件将apk文件中的文件解压到一个文件夹中,得到APK中的资源包括XML文件和classes.dex文件,classes.dex就是java文件编译再通过dx工具打包而成的。

 

3.反编译dex文件

解压apk文件后,你会发现res目录的图片没有加密,但java源码编译成了一个classes.dex文件,无法用普通的反编译class文件的方法来处理,dex2jar可以将dex文件转换成普通的jar包。

解压下载的dex2jar,把解压后的文件夹放到系统盘跟目录中并把这个目录加到系统path变量中,就可以直接用:dex2jar.bat或dex2jar.sh转换dex文件了。

DOS行命令如下:dex2jar.bat xxclasses.dex(xx是classes.dex文件所在的路径)。

将在同目录得到普通jar包:classes_dex2jar.jar,就可以用处理普通jar包的方法来反编译这个jar包得到原文件。

编译截图:

 

4.反编译jar包

得到jar包后,下载自已喜欢的反编译工具,推荐使用JD-GUI,有比较简单的图形界面,可以反编译单个class文件,也可以反编译jar包,比较方便。

打开压缩文件JD-GUI,运行jd-gui.exe,打开上面生成的jar包,即可看到源代码了。

截图如下:

5.反编译xml文件

打开解压的reslayout目录,有很多xml文件,如果你想看下作者是如何设计界面的,你会很失望,因为你看到的是一大堆乱码!这个时候我们需要用到的是apktool。

具体操作方法:将下载的apktool和apktool-install-windows-r05-ibot两个包解压到同一个文件夹下,这个文件夹有三个文件:aapt.exe,apktool.bat,apktool.jar。

把这个文件夹也放到系统盘的根目录中并把这个目录加到path变量中。

以HelloWord.apk为例:

在DOS命令行中输入:apktool d xxHelloWord.apk HelloWord得到HelloWord文件夹,此文件夹中的xml文件就是编译好的可以正常查看的文件。

 

 

这样就得到了可以得到编译的源码和XML资源。

注意:文件的路径中最好不要出现中文!

如何反编译apk文件得到源码和XML文件

最近因为一些事所以需要得到师兄的某个apk的源代码,但师兄说那个项目包已经删了,哎,没办法,只能自己想办法了。

后来找到了反编译apk的方法,现在拿出来分享下。

其实这个方法网上都有,我只是记载一下自己这段时间的学习情况。

1.下载工具

首先,要反编译需要下面这

4个工具:

dex2jar:将apk中的classes.dex转化成Jar文件。

JD-GUI:反编译工具,可以直接查看Jar包的源代码。

apktool:反编译工具,通过反编译APK中XML文件,直接可以查看。

apktool-install-windows-r05-ibot:辅助windows批处理工具。

2.解压apk

直接右键解压apk就行了,这没什么好说的。

【解压后会有个dex后缀的文件,下面会用到】

3.反编译dex文件

1)解压下载的dex2jar,把解压后的文件夹放到系统盘跟目录中并把这个目录加到系统path变量中,就可以直接用:dex2jar.bat或dex2jar.sh转换dex文件了。

2)DOS行命令如下:dex2jar.bat

xxclasses.dex(xx是classes.dex文件所在的路径)。

将在同目录得到普通jar包:【classes_dex2jar.jar】,就可以用处理普通jar包的方法来反编译这个jar包得到原文件。

4.反编译jar文件

1)解压压缩文件JD-GUI

2)运行该文件夹里的jd-gui.exe,打开上面生成的jar包,

即可看到源代码了。

5.反编译xml文件

为什么要发编译xml文件呢?因为直接解压apk得到的xml文件是乱码来的,我们需要用工具把它调会正常来

具体操作方法:

1)将下载的apktool和apktool-install-windows-r05-ibot两个包解压到同一个文件夹下,这个文件夹有三个文件:aapt.exe,apktool.bat,apktool.jar。

2)把这个文件夹也放到系统盘的根目录中并把这个目录加到path变量中。

以HelloWord.apk为例:

3)在DOS命令行中输入:apktool

d

xxHelloWord.apk

HelloWord得到HelloWord文件夹,此文件夹中的xml文件就是编译好的可以正常查看的文件。

6.后话

不过,说到底反编译还是反编译,还是不能完全地还原出真正的源代码的,比如一般会出现下面这样的问题:

setContentView(2130903048);

在真正的源代码中其实是这样的:

setContentView(R.layout.welcome)

给TA打赏
共{{data.count}}人
人已打赏
影视后期

vue处理svg

2024-3-30 14:19:21

影视后期

0的三种含义,0所表示的三种不同意义是什么

2024-3-30 14:32:05

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
打开微信,扫描左侧二维码,关注【旅游人lvyouren】,发送【101】获取验证码,输入获取到的验证码即可解锁复制功能,解锁之后可复制网站任意一篇文章,验证码每月更新一次。
提交