首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
逆向工程
发新帖
0
28
[原创]企业微信Windows深色模式原理浅析
发表于: 2025-4-11 16:52
4282
[原创]企业微信Windows深色模式原理浅析
GhHei
1
2025-4-11 16:52
4282
之前写过[微信Windows隐藏的深色模式](https://bbs.kanxue.com/thread-282584.htm), 后来微信真的实现深色模式,但界面框架不再是Duilib而是QT。 最新版本的企业微信也支持了深色模式,界面框架还是Duilib,好奇背后的思路,简单分析一下。 # 个人微信 XML里面的是'@'开头 ```plain textcolor="@color:Text_1" ``` 具体的数值写在xml里面 ```plain 浅色:theme\default\theme.xml <!-- color --> <IncludeTheme source="weui/Theme/default/colors.xml" /> <!-- 文字颜色 --> <Color id="Text_1" opacity="1" color="#161616" /> // 浅色模式的文字比较深 深色:theme\dark\theme.xml <!-- color --> <IncludeTheme source="weui/Theme/dark/colors.xml" /> <!-- 文字颜色 --> <Color id="Text_1" opacity="1" color="#F7F7F7" /> // 深色模式的文字比较浅 ``` # 企业微信 XML里面的值是'!'开头 ```plain bkcolor="!bg_gray_desktop_3" ``` 解析的时候多了GetColorAttribute ```plain void __thiscall DuiLib::CControlUI::SetAttribute(DuiLib::CControlUI *this, wchar_t *String1, wchar_t *String) if ( !wcscmp(String1, L"bkcolor") || !wcscmp(String1, L"bkcolor1") ) ColorAttribute = DuiLib::GetColorAttribute(String, 0, (bool)v61); DuiLib::CControlUI::SetBkColor(this, ColorAttribute); ``` GetColorAttribute判断是不是'!'开头 ```plain unsigned int __cdecl DuiLib::GetColorAttribute(WCHAR *lpsz, const wchar_t *a2) if ( v9 == '!' ) v11 = sub_CD620(v3, a1); unsigned int __usercall sub_CD620@<eax>(const WCHAR *a1@<ecx>, double a2@<st0>) return DuiLib::GetWWColor(v4, v13); ``` 最终GetWWColor根据是不是深色模式返回不同的值 ```plain int __cdecl DuiLib::GetWWColor(_DWORD *a1) v9 = dword_407C44; if ( DuiLib::CPaintManagerUI::IsDarkMode() ) return *(_DWORD *)(v9 + 36); else return *(_DWORD *)(v9 + 32); ``` 具体地的值直接在Duilib里面代码写死成map ```plain int sub_227A0() std::wstring::wstring(v971, L"bg_gray_desktop_3"); v199 = 0xFFFAFAFB; v200 = 0xFF2C2C2D; int __stdcall sub_D1B9A(int a1, void **Src) v19 = &dword_407C44; std::_Xlength_error("unordered_map/set too long"); ``` # 小结 核心思路还是一样,XML里面的固定值变成一个变量值,然后解析的时候多了一步取值的过程,只不过个人微信是配置在XML里面,而企业微信是写死在代码里。企业微信的思路看起来简单粗暴,工作量其实不少,效果还不错。
回复或点赞可查看完整内容
冰与火的战歌:Windows内核攻防实战高级班!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。
最后于
2025-4-15 10:59 被GhHei编辑 ,原因:
#调试逆向
收藏
・
0
点赞
・
28
打赏
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
git_99440qimingminimax
为你点赞!
1天前
git_51951meggadf3df
非常支持你的观点!
3天前
mb_lthgjpwj
为你点赞!
2026-8-21 09:19
mb_wsoacceo
为你点赞!
2026-8-11 01:22
智童
为你点赞!
2026-7-1 14:30
npc0vo
这个讨论对我很有帮助,谢谢!
2026-4-25 21:56
mb_prjvvuia
非常支持你的观点!
2025-12-3 08:28
Mr_Seven
谢谢你的细致分析,受益匪浅!
2025-11-18 19:36
灰灰Hui
感谢你的贡献,论坛因你而更加精彩!
2025-11-18 17:12
mb_jkxcugii
你的帖子非常有用,感谢分享!
2025-11-18 10:19
mb_gwfersya
为你点赞!
2025-11-3 20:34
kill_joy
为你点赞!
2025-9-14 23:06
renpl
期待更多优质内容的分享,论坛有你更精彩!
2025-9-7 11:37
mb_dtidoewd
为你点赞!
2025-7-23 16:38
StephenWan
感谢你的积极参与,期待更多精彩内容!
2025-5-10 13:17
wx_kx47394
期待更多优质内容的分享,论坛有你更精彩!
2025-5-5 17:41
FANTASYING
感谢你的贡献,论坛因你而更加精彩!
2025-4-14 16:54
sonyps
这个讨论对我很有帮助,谢谢!
2025-4-13 14:19
mb_tubdjgcz
你的分享对大家帮助很大,非常感谢!
2025-4-13 01:46
MiaoWoo
期待更多优质内容的分享,论坛有你更精彩!
2025-4-12 13:23
mb_hzfcelhs
感谢你分享这么好的资源!
2025-4-12 10:21
crackwiki
感谢你的贡献,论坛因你而更加精彩!
2025-4-11 22:14
huangyalei
为你点赞!
2025-4-11 21:42
顽劣
你的帖子非常有用,感谢分享!
2025-4-11 19:53
DawnDawnDawn
感谢你的积极参与,期待更多精彩内容!
2025-4-11 18:20
我的小拇指啊
感谢你的贡献,论坛因你而更加精彩!
2025-4-11 18:06
mb_bdmeocbo
感谢你的贡献,论坛因你而更加精彩!
2025-4-11 17:26
evilbeast
期待更多优质内容的分享,论坛有你更精彩!
2025-4-11 17:00
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
6
)
Imxz
雪 币:
112
活跃值:
(9435)
能力值:
( LV2,RANK:10 )
在线值:
发帖
6
回帖
754
粉丝
9
关注
私信
Imxz
2
楼
6666666666
2025-4-11 17:22
0
淡然他徒弟
雪 币:
5589
活跃值:
(7273)
能力值:
( LV10,RANK:160 )
在线值:
发帖
23
回帖
297
粉丝
124
关注
私信
淡然他徒弟
1
4
楼
mark
2025-4-12 23:55
0
绿林科技
雪 币:
19
活跃值:
(438)
能力值:
( LV2,RANK:10 )
在线值:
发帖
8
回帖
80
粉丝
5
关注
私信
绿林科技
5
楼
谢谢分享
2025-4-30 21:32
0
CreateSun
雪 币:
14
活跃值:
(566)
能力值:
( LV2,RANK:10 )
在线值:
发帖
5
回帖
11
粉丝
6
关注
私信
CreateSun
6
楼
6
2025-11-18 17:10
0
mb_hmkjcqix
雪 币:
0
能力值:
( LV1,RANK:0 )
在线值:
发帖
0
回帖
8
粉丝
0
关注
私信
mb_hmkjcqix
7
楼
2025-12-27 14:38
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
GhHei
1
15
发帖
34
回帖
100
RANK
关注
私信
他的文章
[原创]企业微信隐藏的配置:屏蔽AI+IM窗口
3998
[原创]Android-SO复杂VMP的分析思路
12977
[原创]微信版本检测新漏洞分析
21679
[原创]企业微信对远程控制的检测和绕过
29045
[原创]企业微信Duilib奇怪的RecyclerView
4795
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部