本文主要是介绍android apk反编译 查看源码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先请下载所需要使用的工具包。
工具包有这三个工具:
工具介绍:
apktool
作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看
dex2jar
作用:将apk反编译成java源码(classes.dex转化成jar文件)
jd-gui
作用:查看APK中classes.dex转化成出的jar文件,即源码文件
接下来我们直接进入正题。
一、我们解压apktool工具包,可以看到这三个文件。apk反编译得到程序的源代码、图片、XML配置、语言资源等文件
我把apktool解压在我的E盘,然后我们把需要反编译的appdebug.APK放到跟apktool同一个目录里面。
接下来我们开始进入控制台,进入E:apktool目录。执行命令apktool.bat d -f appdebug.apk appdebug
我们来看图,
Exception in thread “main” brut.androlib.AndrolibException: Could not decode arsc file
之后我百度了,是这样解释的。
apktool.jarl版本不是最新的导致。。
假如你没有报错是因为,上面的工具包链接是最新的apktool.jar。可以直接跳过这个错误。
1. APKTool官网推荐:http://ibotpeaches.github.io/Apktool/install/ 下载最新的apktool.jar。
将下载到的apktool_2.0.0rc4.jar文件改名为apktool.jar,然后替换掉老版本的apktool.jar
接下来就可以正常编译了。
重新编译,由于apktool.jar换成最新的版本。那么输入的命令也有变化。
格式为:apktool.bat d [-s] -f appdebug.apk -o appdebug ,这是我自己要编译的apk名称。你就输入自己要反编译的apk名称。
编译成功后:
说明获取成功,之后发现在文件夹下多了个appdebug文件,点击便可以查看该应用的所有资源文件了。
如果你想将反编译完的文件重新打包成apk,那你可以:输入apktool.bat b appdebug(你编译出来文件夹)便可,效果如下:
二、APK反编译得到源码
我们将生成的classes.dex文件放到 E:\apktool\dex2jar-0.0.9.15文件夹中
然后先定位到E:\apktool\dex2jar-0.0.9.15目录,执行命令:dex2jar.bat classes.dex会看到下面的图
我们看到生成了 classes_dex2jar.jar 文件,我们运行 jd-gui.exe打开该文件,就可以看到源码了
这是我今天了解的反编译。
原本以为能够看到别人的源码,由于大部分APK包都实现了混淆代码。我们所反编译的代码,不容易理解。
如果你看了之后,还有其他的问题,可以直接留言。
以上有借鉴 该作者的文章 链接
这篇关于android apk反编译 查看源码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!