问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何反编译xml文件?

发布网友 发布时间:2022-04-21 20:07

我来回答

3个回答

热心网友 时间:2023-07-10 20:47

相信很多开发者都知道反编译APK,正常情况下,如果我们想要看看xml,看看java源代码,是看不了的。用压缩工具解压apk得到的文件也都是二进制文件,打开后全是乱码。
开发者能够用的也仅仅是图片资源,这往往也满足不了开发者的需求。

下面我就给大家详细讲解一下Android-apk的反编译步骤:
注意:反编译的前提是:开发者没有使用proguard(java代码混淆的工具)。

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批处理工具。
下载地址:
dex2jar:http://code.google.com/p/dex2jar/downloads/list
JD-GUI:http://code.google.com/p/innlab/downloads/lis
apktool:http://code.google.com/p/android-apktool/downloads/list
工具截图:

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 xx\classes.dex(xx是classes.dex文件所在的路径)。
将在同目录得到普通jar包:classes_dex2jar.jar,就可以用处理普通jar包的方法来反编译这个jar包得到原文件。
编译截图:

生成jar文件的截图如下:

4.反编译jar包
得到jar包后,下载自已喜欢的反编译工具,推荐使用JD-GUI,有比较简单的图形界面,可以反编译单个class文件,也可以反编译jar包,比较方便。
打开压缩文件JD-GUI,运行jd-gui.exe,打开上面生成的jar包,即可看到源代码了。
截图如下:

5.反编译xml文件
打开解压的res\layout目录,有很多xml文件,如果你想看下作者是如何设计界面的,你会很失望,因为你看到的是一大堆乱码!这个时候我们需要用到的是apktool。
具体操作方法:将下载的apktool和apktool-install-windows-r05-ibot两个包解压到同一个文件夹下,这个文件夹有三个文件:aapt.exe,apktool.bat,apktool.jar。把这个文件夹也放到系统盘的根目录中并把这个目录加到path变量中。以HelloWord.apk为例:
在DOS命令行中输入:apktool d xx\HelloWord.apk HelloWord得到HelloWord文件夹,此文件夹中的xml文件就是编译好的可以正常查看的文件。
截图如下:

生成的文件:

这样就得到了可以得到编译的源码和XML资源。
注意:文件的路径中最好不要出现中文!

热心网友 时间:2023-07-10 20:47

最近因为一些事所以需要得到师兄的某个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 xx\classes.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 xx\HelloWord.apk HelloWord得到HelloWord文件夹,此文件夹中的xml文件就是编译好的可以正常查看的文件。

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

在真正的源代码中其实是这样的:
setContentView(R.layout.welcome)

热心网友 时间:2023-07-10 20:48

要看反编译程度 apk反编译两部部res等xml资源文件 用android apktool 些xml文件都eclipse直接打 dex文件(源代码)需要使用dex2jar工具转化jar文件 jar文件eclipse查看其结构
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
求狗狗不能吃的东东? 魔兽世界60级猎人带什么宝宝的问题 沈阳苹果手机售后维修点有哪些 沈阳哪里修理手机比较好一点 妈咪,胸口第三根肋骨骨折吃什么可以补。 胸口肋骨断掉最适宜的方法? ...不小心胸口摔着了,上周去医院查出左侧4 5肋骨骨折,当时医生只配了两... 有百度文库VIP账号的大神们可以帮我下载这个文档吗 百度文库免费下载ppt方法介绍-百度文库怎么免费下载ppt 初中英语翻译 在线等! 滴滴专车怎么完成新人奖? 为什么我拿不到了 苹果手机如何磁力下载? XML用什么编译器编写? 滴滴新人营任务奖励几天 mysql在xml文件中的编译 滴滴新手司机为什么很难接到订单? 如何编辑xml文件 跑了两天滴滴快车接了30单,不见新人奖也没的高峰... 苹果手机装软件怎么那么麻烦啊 xml的编译工具有哪些 我跑滴滴三天了,怎么新人奖励,活动,高峰,什么... 苹果手机真的好垃圾,装个软件要钱,下个东西麻烦。 滴滴代驾新手期任性完成了但是没给积分 为什么我的iphone6 plus每次下载软件都要输入密码... 苹果手机下载软件方便吗? 苹果手机为什么下载东西要钱? 我想买个苹果4s但是我听说苹果手机程序乱,下载挺... 苹果手机 下载软件方便吗? 苹果手机怎么装软件啊?真麻烦 苹果手机用起来是不是很麻烦 可以将XML文件编译到DLL文件中吗 苹果手机迅雷下载链接怎么复制不了 我是滴滴司机新人,为什么接不到单? 跑滴滴的基础任务是什么? 滴滴打车司机为什么我接了那么多单都没奖励? 滴滴新车主现在没有奖励了吗?我才开始跑车,有20... 苹果手机下载软件总是需要链接无线网或者4G移动网... 滴滴代驾新手期任务不通过怎么办 滴滴代驾新手期任务是什么? 如何反编译apk文件得到源码和XML文件 苹果手机现在怎么才能下载磁力链接? 滴滴快车的新人接满三单200元奖励怎么不到账啊 如何使用c++开发一个xml编辑工具 苹果网上链接的软件下载不了怎么回事? 新人在跑滴滴,最近有几单,收入明细里有里程、时... Android Studio XML 编译的时候没有提示和补全 AXMLPrinter2.jar这个反编译XML的工具怎么使用? 现在感觉滴滴打车越来越垃圾了,奖励越来越少了,... 苹果手机有可以下载链接的软件或浏览器吗? cruisecontrol编译xml内存不足是什么原因