Repository navigation
[rea-360] 360 安全卫士双年代代码审计 #6698
Kaiji-Z
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
受到评论区观众的启发:2006 年不只有千千静听,还有大名鼎鼎的 360 安全卫士也在那年出生。那一年它还是个纯粹的电脑管家,我很好奇的是——它后来怎么就变坏了?
于是有了这篇。上案的千千静听(#5496)和它是同年的邻居,两案正好对照着读。本篇用 REA 把 2006 年的原版安装包和 2026 年的现役版各拆了一遍,从代码里回答上面这个问题。
目标
2006 年样本来自 Wayback Machine 存档的官方 CDN 原件(847,604 B,FileVersion 1.0.5.5005,Last-Modified 2006-12-26),原版性经三项交叉验证后才开拆。
问题
360 以反流氓软件起家,2006 年的发布承诺包括公益、永久免费、所有权转交第三方。一个反流氓软件后来被广泛称作流氓软件,中间应该存在一条可考察的变化线。官方日志可以措辞,代码不会。本次审计的问题是:这条线能否在两个年代的可执行文件中被指认出来。
REA 如何提供帮助
2026 现役版 121MB、437 个 PE 模块,全部无壳,
rea analyze可直接分析。主要工作流:rea trace <模块> <字符串>定位引用函数 →rea decompile --procedure输出伪 C → 截图留证。两条经验:
2006 年样本是 NSIS 封装,按清单尺寸用 7z 切片即可还原全部内部文件;对无壳的老程序,REA 可以直接分析。
发现
1. 弹窗拦截行为本身会上报。 AdPopWnd.dll(内部原名 AdvScnnerPopWnd.dll)的 FUN_10041090:每次拦截行为发生,向
commerce.safe.360.cn/track/plain发送一条带biz=popwnd_intercept_w&action=clean的商务追踪上报。机器标识 m2 持久存储于注册表Software\360Safe\LiveUp。2. 查杀结果页内置浏览器静默安装。 popularize_chasha_new.xml 中 Title 为「快来开启更强安全防护」,CmdLine 含
--silent-install=2_1_1。执行函数为 360ExamineUIEx.dll 的 FUN_1000af00(533 字节伪 C),经 ShellExecuteW 执行,函数体内含down.360safe.com/setup.exe字面量。3. 广告配置可被服务器远程更改。 本地 XML 只是出厂默认值,实际广告配置从
r.conf.wsm.360.cn/popularize_shouye_ws13.dat拉取——当天没弹的广告,不代表之后不会弹。4. 437 个模块中 142 个内嵌完整安装包下载地址,包括卸载器 uninst.exe 本身。 另外 PopWndTracker.dll 的 FUN_004a15d0 实现了一个提问框流程:用户点「是」后由 ShellExecuteW 下载完整安装包——弹窗拦截器内置了重新安装入口。
5. 卸载器检测火绒。 uninst.exe 的 FUN_004107e6 读取
Software\Huorong\Sysdiag\InstallPath并检查 HipsTray.exe 是否存在。用途在函数中未体现,但一个卸载器首先探测竞品安全软件的托盘进程,值得注意。6. 对聊天软件进程的结构化记录上报。 imhelper.dll 构造
imurlv2、procname=WeChat.exe等字段并上报。官方口径是网聊防钓鱼;函数层面只体现为按进程名记录。跨年代对照中最值得注意的一处: 注册表键
Software\360Safe\LiveUp在 2006 年存的是通缉令特征库版本号,在 2026 年存的是机器标识 m2。同一个键,用途从特征库版本变成了用户标识。2006 年的原版也不算完全干净:Rptup(内部原名 FileUp.dll)同样存在 upload_file.php 文件上传管道。但它的主程序不导入 WS2_32,上传内容是文件而非用户信息,且 LibActi.dat 中明文列出百度搜霸、雅虎工具条、搜狗直通车等插件——2006 年的大厂互相把对方列为流氓软件,360 当时的角色接近清理者。
时间线:2006 年出道(发布承诺中「所有权转交第三方」的督导委员会,后查无实据)→ 2008-03-19 v4.1Beta2「新增自我保护」→ 2015 年 advtools 货架出现 FirstAD → 2024 年 promote 目录积累 111 个文件(最早物料 2019-12)→ 2026 年体积 848KB→121MB、模块 12→447、驱动 1→59。
结论:以 2008-03-19「新增自我保护」为界,360 安全卫士的代码行为出现了明确的方向性变化。上案(千千静听)的结论是当年的软件没有收集用户的习惯;本案例补充了后半句——习惯可以是后来加上的,每一步都留在了代码里。全部证据已列出,欢迎用 REA 逐条复核。
完整审计过程剪成了视频,链接稍后补充在评论区。环境:REA 6.4.0 + Ghidra 12.1.4,样本为公开渠道现役版安装包与 Wayback 存档 2006 原件,全程无脱壳需求。
撰文:KAIJI(@Kaiji-Z)
样本与资料来源:360 安全卫士现役版公开安装包 · Wayback 存档 360safe.exe(2006-12-26 构建)· REA 6.4.0 · Ghidra 12.1.4
All reactions