1.如何反编译apk文件得到源码和XML文件
如何反编译apk文件得到源码和XML文件
最近因为一些事所以需要得到师兄的取源某个apk的源代码,但师兄说那个项目包已经删了,源码哎,取源没办法,源码评论挖掘源码只能自己想办法了。取源后来找到了反编译apk的源码方法,现在拿出来分享下。取源其实这个方法网上都有,源码我只是取源记载一下自己这段时间的学习情况。
1.下载工具
首先,源码要反编译需要下面这
4个工具:
dex2jar:将apk中的取源js split源码classes.dex转化成Jar文件。
JD-GUI:反编译工具,源码可以直接查看Jar包的取源源代码。
apktool:反编译工具,源码通过反编译APK中XML文件,取源直接可以查看。vb 报表源码
apktool-install-windows-r-ibot:辅助windows批处理工具。
2.解压apk
直接右键解压apk就行了,这没什么好说的。解压后会有个dex后缀的文件,下面会用到
3.反编译dex文件
1)解压下载的windows 源码安装dex2jar,把解压后的文件夹放到系统盘跟目录中并把这个目录加到系统path变量中,就可以直接用:dex2jar.bat或dex2jar.sh转换dex文件了。
2)DOS行命令如下:dex2jar.bat
xx\classes.dex(xx是classes.dex文件所在的路径)。
将在同目录得到普通jar包:classes_dex2jar.jar,就可以用处理普通jar包的java源码分享方法来反编译这个jar包得到原文件。
4.反编译jar文件
1)解压压缩文件JD-GUI
2)运行该文件夹里的jd-gui.exe,打开上面生成的jar包,
即可看到源代码了。
5.反编译xml文件
为什么要发编译xml文件呢?因为直接解压apk得到的xml文件是乱码来的,我们需要用工具把它调会正常来
具体操作方法:
1)将下载的apktool和apktool-install-windows-r-ibot两个包解压到同一个文件夹下,这个文件夹有三个文件:aapt.exe,apktool.bat,apktool.jar。
2)把这个文件夹也放到系统盘的根目录中并把这个目录加到path变量中。以HelloWord.apk为例:
3)在DOS命令行中输入:apktool
d
xx\HelloWord.apk
HelloWord得到HelloWord文件夹,此文件夹中的xml文件就是编译好的可以正常查看的文件。
6.后话
不过,说到底反编译还是反编译,还是不能完全地还原出真正的源代码的,比如一般会出现下面这样的问题:
setContentView();
在真正的源代码中其实是这样的:
setContentView(R.layout.welcome)
2024-11-20 22:261004人浏览
2024-11-20 22:012360人浏览
2024-11-20 21:442486人浏览
2024-11-20 20:562149人浏览
2024-11-20 20:031043人浏览
2024-11-20 19:481856人浏览
1.HTML5七夕情人节表白网页(爱情树 Html5实现唯美表白动画代码) HTML+CSS+JavaScript2.马上七夕到了,用各种编程语言实现10种浪漫表白方式3.想过好情人节,放”码“过来!
1.象棋网页游戏如何2.象棋软件3.象棋软件在好电脑上的表现象棋软件的棋力和电脑配置好坏有没有关系4.元游中国象棋 象棋将可以斜着走吗?5.求高级象棋教学软件6.国际象棋大师:大师版个人出招表象棋网页
1.php ???Դ??2.为什么网站能显示php后缀的源码。但执行不了php文件。求解答3.php获得网页源代码抓取网页内容的几种方法?4.php源码是什么意思5.怎么复制网站的php源码怎么复制网