[转]微信零基础美化反编译教程 – 7 – values 文件夹

values 文件夹 – 反编译出来的 resources.arsc展开目录

除此之外,我们这里还要着重介绍一下我们使用 APKDB 反编译出来的 values 文件夹,我们反编译出来的文件夹里面有很多 values 文件夹,但是我们要看的主要是第一个没有任何后缀的文件夹,这里面存放了主要的信息:

values 文件夹

这个文件夹里的内容也有必要来讲一下,这里同样给出我们需要修改的主要内容的对照表:

文件名 对应 resources.arsc 内容 功能
styles.xml style -> style 存放了许多需要反复调用的样式
public.sml 所有的文件 ID 存放了所有的文件名和 ID 的对应情况
colors.xml color -> color 颜色
dimens.xml dimen -> dimen 长度

使用数值搜索 colors 和 dimens展开目录

我们打开 colors.xml 和 dimens.xml(这里我用了一个编辑器,看起来比较直观,但是实际上用记事本打开也是一样的),现在所有名字和值都被转换成了纯文本格式,我们终于可以使用数值搜索条目了:

终于可以使用数值来搜索了

我个人在平常修改的过程中,如果需要用到颜色或者是长度来定位需要修改的元素的时候,一般的状态是:

  1. 在电脑上打开这两个文件
  2. 搜索我需要排除的数值,比如 64.0dip(dip 其实就是 dp),此时可能出现多个条目都是相同的数值,但是用于确定我需要改的元素的,只有一个,所以需要逐一排除
  3. 在 MT 管理器上通过搜索第 2 步搜索到的颜色 / 长度名,直接修改 /data/app/com.tencent.mm/base.apk 里面的 resources.arsc 相应的 color/dimen 值,随后重启微信,查看是否出现变化
    • 若出现变化:复制颜色 ID,搜索 XML 进一步定位到需要修改的元素其他部分
    • 若无变化:重复第 2 步和第 3 步

有许多相同数值时排查的小技巧:展开目录

一般来说我会先在电脑上搜索看一看我需要逐一排除的颜色 / 长度值总共有多少个,如果是 60 个,那么我会先改 10 个重启一次微信看看是否有变化,如果有变化再反向把一个数值改回来重启一次微信,如果不行再改回来一个数值,如此往复,尽量减少重启微信需要的次数,毕竟微信的启动速度还是很扯淡的


接下来做好心理准备,我们将经历一个很长的实例,一共包括三个部分

  • 修改输入框的按钮
  • 修改输入框背景
  • 去掉输入框下划线

以此来演示是如何使用资源 ID 来顺藤摸瓜的,这非常重要,贯穿了整个修改微信的过程。

文 / anson
LEAVE A REPLY
loading