apk
前段时间玩了个手游,中途碰到一个副本迟迟无法攻破,又不没钱氪金,想着弄个破解版的,搜了半天没找到,于是决定自己动手干!
首先要对apk有个初步的了解,..apk文件是一种压缩文件,网上有种说法:apk文件就是zip压缩文件改个后缀名而来,于是尝试一下,把apk改后缀zip然后解压,打开一看,差点没笑出声,真有!该有的文件夹都有,挺像那么回事的。
于是随便改一点游戏参数,想着压缩一下改下后缀名就能玩了。 然而,,,,,,too young too simple!
这样得到apk文件死活安装不了 ! What??? 被骗了?? 于是检查了一下被我“”破解“”的apk文件,与源文件相比 变小了!!
我明明加了东西,为什么反而缩水了?想着可能是压缩方式的问题,于是试了用最好压缩试了一下。WQ更小了。。实在百思不得七姐咨询了一位大牛,apk安装包不是一般的apk文件,这种方法虽然可以查看部分源文件,且会丢失一些安装文件。想要破解需要进行反编译。Get!于是动手开干
1.如何查看源代码:
工具下载:
Dex2Jar: https://sourceforge.net/projects/dex2jar/ (用于反编译java)
JDGUI :https://download.csdn.net/download/qq_37422933/10579043 (用于查看jar文件
将需要反编译apk的后缀格式改成zip,然后使用解压出来,如上图。其中的classes.dex就是我们需要进行反编译的部分。
在cmd命令行中进入Dex2Ja文件夹,反编译命令:d2j-dex2jar.BAT [classes.dex文件]
成功后,会在Dex2Ja文件夹下生成classes-dex2jar.jar文件,这个jar文件就是反编译后的文件。
然后就可以安装JDGUI后用JDGUI打开classes-dex2jar.就可一查看java代码了
2.apk反编译
apktool: https://ibotpeaches.github.io/Apktool/ (反编译apk)新版本
(新版本可以进行反编译,但回编译时无法签名,因此无法安装回手机,下面会给出解决办法)
安装完成后,在cmd命令行中进入ApkTool的文件夹,反编译命令:apktool.bat d [apk文件] -o [输出文件夹] 即可。
成功后如下图
3.做点啥
得到了反编译后的文件夹,总该做点什么,我在这对assets(配置文件夹)里的一些游戏参数,至于具体怎么改,改什么,因游戏而异,大家自行摸索。
4.apk回编译
https://download.csdn.net/download/qq_37422933/10579092 旧版本,包含回编译必须的签名文件
(用旧版本最燃无法被反编译会出问题,但回编译时没问题的且可以签名)
下载完成后,解压文件包,将需要回编译的文件夹复制到该目录下,重命名为APK,然后在cmd命令行中进入该文件夹,执行:apktool
弹出使用指南如下
,
按照指南安装 这个文件包里已有的这两个文件
如果安装过程出问题,--(找不到XXX文件夹)则按要求手动新建所需文件夹。一切完成后运行3 回车就完成啦!!
进入build文件夹
这个已编译(已签名).apk就是最终的成品。建议先安装到安卓模拟器上测试一下再发到真机上运行。
相关阅读
反编译的项目中查找问题是很常见的操作,所以反编译工具也是非常重要的,经典的反编译软件时 jd-gui 但是这个工具目前是有严重的bug
作者:We Test小编商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。原文链接:https://wetest.qq.com/lab/view/423.html腾讯
Device supports x86,but APK only supports armeabi-
简介:做项目的时候经常会使用到so文件。例如使用高德地图,其SDK中就包含了armeabi、armeabi-v7a、arm64-v8a、x86等其他文件夹,里面
前言一直听说过反编译,感觉很高大上,一直没自己用过,今天因缘巧合之下,终于要开始逐渐认识,了解和学习一下反编译了~先给自己说下
学习和开发Android应用有一段时间了,今天写一篇博客总结一下Android的apk文件反编译。我们知道,Android应用开发完成之后,我们最终都