捣鼓apk反编译,想做一些羞羞的事情,网上的教程大多都比较旧,这里更新一篇比较新且详细的反编译教程。
软件准备
首先我们想要比较完整的解析一个apk需要三个工具:
1.apktool (用于资源文件获取)
2.dex2jar (用于获取源码)
3.jd-gui (用于源码查看)
附上链接
apktool官网 https://ibotpeaches.github.io/Apktool/
dex2jar官方github仓库 https://github.com/pxb1988/dex2jar
jd-gui Google Code仓库(直接下载) https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/innlab/jd-gui-0.3.3.windows.zip
这里jd-gui其实是比较次要的,因为大多数情况到不了看代码这一步,dex2jar就解析不了了
1> apktool安装和使用
apktool官网讲解安装方法非常详细---->>https://ibotpeaches.github.io/Apktool/install/
这里再翻译啰嗦一下
首先先检查java环境,然后把下面这一段放在文本文档里面改个后缀改成 apktool.bat
然后下载官网最新的 apktool.jar ,我这里目前是2.6.0之后改名成 apktool.jar
两个文件放在同一个文件夹下面,然后把要反编译的apk也放进来,之后用cmd在该文件夹下面执行命令 apktool.bat d -f test.apk test 更改你自己的apk名称和输出文件夹打开“test”文件夹,就可以看到反编译后生成的文件,在这些生成的文件和文件夹当中,我们关心的是res文件夹中和AndroidManifest.xml文件,打开res文件夹,里面存放了我们所关心的xml文件,如下图所示:
2> dex2jar安装和使用
dex2jar官方github仓库里面进入下载最新版的SNAPSHOT如下图
解压之后,把apk文件的后缀改成zip再解压获取classes文件,类似下图
把要反编译的classes文件放在SNAPSHOT文件夹里面执行命令
d2j-dex2jar.bat classes.dex
错误示范:如果下载了错误的(低的)版本可能会报错
有些离谱的解决方案是修改dex文件里面的037为036或者035
但是我试了是不行
3> jd-gui使用
最后我们用jd-gui打开反编译出来的jar文件
END
「艾尔登法环」梅琳娜手办开订 立体手办▪
万代「艾尔登法环」白狼战鬼手办开订 立体手办▪
「夏目友人帐」猫咪老师粘土人开订 立体手办▪
「五等分的新娘∬」中野三玖·白无垢版手办开订 立体手办▪
「海贼王」乌索普Q版手办开订 立体手办▪
良笑社「初音未来」新手办开订 立体手办▪
「黑岩射手DAWN FALL」死亡主宰手办开订 立体手办▪
「盾之勇者成名录」菲洛手办登场 立体手办▪
「魔法少女小圆」美树沙耶香手办开订 立体手办▪
「咒术回战」七海建人粘土人登场 立体手办▪
「五等分的新娘」中野二乃白无垢手办开订 立体手办▪
「为美好的世界献上祝福!」芸芸粘土人开订 立体手办▪
「公主连结 与你重逢」六星可可萝手办开订 立体手办▪
「女神异闻录5」Joker雨宫莲手办开订 立体手办▪
「间谍过家家」约尔・福杰粘土人登场 立体手办▪
「街角魔族 2丁目」吉田优子手办开订 立体手办▪
「火影忍者 疾风传」旗木卡卡西·暗部版粘土人登场 立体手办▪
「佐佐木与宫野」宫野由美粘土人开订 立体手办▪
「盾之勇者成名录」第2季拉芙塔莉雅手办开订 立体手办▪
「咒术回战」两面宿傩Q版坐姿手办开订 立体手办▪
「DATE·A·BULLET」时崎狂三手办开订 立体手办▪
「狂赌之渊××」早乙女芽亚里粘土人开订 立体手办▪
「魔道祖师」魏无羨粘土人开订 立体手办▪
「新·奥特曼」奥特曼手办现已开订 立体手办▪