[转]微信零基础美化反编译教程 – 6 – APKDB

终于要上电脑了..

使用 PC 端 APKDB 进行反编译展开目录

现在开始我们使用 APKDB 来进行反编译,是为了实现更多的修改,也是为了更好地了解 apk 内部各种资源文件的结构

APKDB 的各种功能需要文章一开始提到的「JDK」,没有安装 JDK 环境的话将无法反编译。

而 APKDB 本身的使用非常简单,它把所有的功能都集成在了右键菜单中,比如我们右键我们的微信 apk:

APKDB 右键反编译菜单

我们点击「使用 APKDB 编译」,将会看到下面的 CMD 窗口

APKDB 的反编译菜单窗口

我们可以看到 APKDB 其中集成了几个版本的 Apktool,它还集成了一些其他的诸如 dex2jar, baksmali 之类的工具,我们在之后会有提到,所以 APKDB 的实质是帮助我们用右键菜单的方式快速执行现有的工具的反编译的操作,提供了一个快速入口,即便没有任何基础我们也可以无脑的完成各种反编译操作

这里的选项都是中文,也比较好看懂,需要调整哪一个选项就输入对应选项的字母 / 数字然后回车就行了,需要提醒一下的是由于我们的修改暂时不涉及到 Java 代码的修改,所以我们

  • 输入 C 回车,选择不反编译 Classes,因为我们的修改暂时不涉及到 Java 的修改,反编译 Classes 将浪费大量的时间在反编译和回编译我们不需要修改的地方上
  • 另外我们选择 ShakaApktool 作为我们的 Apktool,因为原版的 Apktool 反编译微信后,在回编译的过程中将出错,如果我没记错的话 ShakaApktool 应该是作为默认使用的版本的,不需要调整,我们输入 C 回车后直接回车进行反编译:

ShakaApktool 反编译过程

反编译的途中会出现大量的重命名以及参数修正,不出意外的话应该是微信自己做了混淆的锅,这也应该是直接使用 Apktool 反编译时回编译会出错的原因,看起来微信对反编译还是有防范的

等待一段时间之后我们就可以在同目录下看到反编译出来文件夹了:

反编译完成

双击进去之后会发现所有的文件夹名的混淆被取消了,文件夹名变成了我们熟悉的未经混淆的样子:

文件夹名终于正常了

那么这些文件夹相应的对应关系其实自己分别查看一下原本混淆的文件夹和反编译之后的文件夹我们就可以知道了,我的建议也是开始修改之前干脆直接反编译再回编译取消文件夹名以及大量其他名字的混淆,回编译的方法和反编译如出一辙,右键反编译出来的文件夹选择「使用 APKDB 进行编译」即可,具体操作在后文也有提及

但是为了方便一些只是想自己在手机上进行简单修改,不想上电脑的同学,以及之后的讲述,我这里还是把一些比较重要的,我们平时需要用到的文件夹列出来:

微信部分混淆后文件夹名与未混淆文件夹名对照表展开目录

混淆后文件夹名 实际文件夹名 包含内容
a3 drawable-xxhdpi-v4 微信第一图片资源存放处
z drawable-hdpi-v4 微信第二图片资源存放处
k drawable 许多被反复调用的样式
f layout 微信主要布局文件
a9 raw 微信 svg 矢量图文件存放处
文 / anson
LEAVE A REPLY
loading