浅析微信系列之深色模式

浅析微信系列之漂流瓶

本次是分析微信最新版7.0.13(1640),手里没有android 10 设备,想体验一下深色模式,本文将手摸手带你实现(体验)微信的深色模式。

准备工作

  1. apktool

  2. jadx

  3. notepad++/sublime/其他好一点的文本编辑器

  4. 准备好这些工具之后,就可以开始了。为了让文章表达的内容具备可操作性,将按顺序步骤说。

详细步骤

apktool

apktool d weixin7013.apk
得到反编译后的文件夹weixin7013,导入到sublimetext备用。

jadx

打开jadx-gui选择weixin7013.apk,等待jadx反编译完成。

线索

我是按自己的经验来的,在weixin7013/res/values/string.xml先搜索深色模式
浅析微信系列之深色模式_第1张图片
1,得到箭头所指的name="bbl"
2,去weixin7013/res/values/public.xml搜索bbl这个id
3,得到结果如图:
浅析微信系列之深色模式_第2张图片
类型一定要找对, type是string类型.
现在复制一下0x7f100b53
4,win7自带的计算器,把这个16进制的值转换为10进制值,结果为2131757907
浅析微信系列之深色模式_第3张图片
5,切换到jadx-gui搜索2131757907
浅析微信系列之深色模式_第4张图片
浅析微信系列之深色模式_第5张图片
6,一开始以为dark_mode_notice_dialog这个值为true就是可以开启深色模式,后来测试没法开启。
7,在这个类的上一个方法看见了日志dark mode kvReport logID:%s , action: %s, isDark:%s
8,hook了ag.Es()之后,重启微信,发现微信底部的Tab背景颜色变黑了。并没有全局暗黑模式。跟想象中的有一丢丢不同。
9,点开ag.Es()方法看看去:
浅析微信系列之深色模式_第6张图片
10,当我hook图中j方法时,就已经可以了,重启微信就开启了暗黑模式。贴代码(白嫖党福利):
浅析微信系列之深色模式_第7张图片

成果

浅析微信系列之深色模式_第8张图片
浅析微信系列之深色模式_第9张图片
浅析微信系列之深色模式_第10张图片
浅析微信系列之深色模式_第11张图片
浅析微信系列之深色模式_第12张图片

结束

  • 这次基本靠猜。
  • 如果你/贵公司有啥相关的需求,可私信哦。
  • 请尊重原创,Javaer

你可能感兴趣的:(微信)