新闻详情

新闻详情

首页 / 资讯中心 / 详情

LightC 如何判断卸载残留?14项信号置信度评分算法源码级解读

发布时间:2026/10/2 0:02:47来源:尧图网络
LightC 如何判断卸载残留?14项信号置信度评分算法源码级解读
LightC 如何判断卸载残留14项信号置信度评分算法源码级解读【免费下载链接】light-cA free, minimalist, lightweight, and high-performance C-drive cleanup tool.项目地址: https://gitcode.com/gh_mirrors/li/light-c你是否好奇免费极简的LightC C盘清理工具是如何精准识别卸载残留的它没有用粗暴的关键词匹配而是在核心文件 leftovers.rs 中实现了一套14项信号加权置信度评分算法——每个目录都会获得一个 0.01.0 的分数只有高分目录才会被标记为残留。本文带你源码级拆解这套算法的完整逻辑。一、评分总览为什么用置信度而不是是/否传统清理工具通常用布尔判断名字像不像某软件、目录在不在黑名单里。这种思路误报率高——cache、data这类通用名几乎每个软件都有。LightC 的解决方案是加权评分模型架构分为四层见 leftovers.rs 开头的架构说明组件作用InstalledAppMap从注册表构建已安装应用 → 路径映射推断目录归属ScoringEngine对每个目录计算 0.0~1.0 的置信度分数WhitelistRule结构化白名单精确/前缀/通配符保护系统目录FileSystemProbe有限深度4 层文件探测.exe/.dll/ 卸载程序基线分为0.0所有分数由正向识别加分 保护性降权扣分驱动最终通过clamp(0.0, 1.0)限制范围ScoringContext。二、扫描哪里4 条路径 预过滤扫描范围由 get_scan_paths 定义%LOCALAPPDATA%AppData\Local%APPDATA%AppData\Roaming%LOCALAPPDATA%\..\LocalLow模拟器残留高发地C:\ProgramData共享数据谨慎处理在进入评分前先做两道硬性预过滤scan_with_paths命中白名单的目录直接跳过包名格式com.xxx.yyy和纯版本号1.2.3.4、v2.0目录直接跳过——这类目录几乎都是框架或系统产物。三、4 项正向信号它们怎么加分信号加分含义① 发现卸载程序残留0.35目录内存在uninstall*.exe/uninst*.exe软件本体已走、卸载器还在是最强残留特征② 匹配历史安装路径0.25目录名曾出现在注册表InstallLocation中但当前注册表已找不到该应用③ 包含可执行文件0.20探测到.exe/.dll等文件④ 长期未修改0.10超过 7 天没有修改记录说明软件早已不活跃其中信号②依赖一个巧妙的安装历史持久化机制每次扫描时LightC 会把当前所有已安装应用的InstallLocation末级目录名合并进 install_history.json。这样以前装过、现在注册表查不到的目录就成了残留候选——这是它能发现干净卸载后遗留文件夹的关键。四、10 项负向信号如何防止误删正向信号决定多像残留负向信号决定多可能是误报这是评分算法的保命部分信号扣分保护对象⑤ 目录名匹配已安装应用 DisplayName-0.45软件仍在用别动⑥ 匹配已安装应用 InstallLocation 目录-0.60最强保护目录明确属于在装软件⑦ 通用目录名cache/logs/temp/data 等 20 种-0.40见 GENERIC_FOLDER_NAMES⑧ 位于 ProgramData-0.30系统共享目录只降权不直接标记⑨ 7 天内有修改记录-0.20最近还在活动⑩ 包名格式目录com.xxx.yyy-0.15预过滤的兜底⑪ 纯版本号目录1.2.3 / v2.0-0.15同上⑫ 已知共享厂商目录Adobe、Microsoft 等 22 家-0.50见 KNOWN_SHARED_VENDORS注意⑤⑥的匹配非常克制注册表DisplayName会先经过 normalize_display_name 规范化去版本号、去括号、转小写且只从InstallLocation的真实目录名推断归属不再拆分 DisplayName 的单词——源码注释明确说这是避免短 token 碰撞导致误判。五、阈值分类0.75 与 0.40 两道关卡评分完成后分数被映射为四类DetectionCategoryscore ≥ 0.75 → 高置信度残留默认推荐清理 0.40 ≤ score 0.75 → 可疑仅展示不默认勾选 score 0.40 → 直接丢弃不输出前端据此渲染不同颜色的分类标签还提供全选可疑项按钮让用户自行权衡LeftoversModule.tsx。六、两条短路通道模拟器与虚拟磁盘有些残留无需评分直接高置信度命中 模拟器特征库EMULATOR_SIGNATURES内置雷电、蓝叠、夜神、MuMu、MEmu、MSI App Player、腾讯手游助手 7 款模拟器的文件夹关键字命中后分数直接置为 0.90并跳过其他信号且大小阈值从 1MB 放宽到 100KB。 孤立虚拟磁盘深度扫描会在用户目录下递归搜索.vmdk/.vdi/.vhd文件深度 5 层≥100MB若父目录不属于任何已安装应用则以0.85置信度标记。这里还有个精妙的防误报设计WSL的ext4.vhdx路径形如\wsl\GUID\ext4.vhdx直接父目录是 GUID于是 is_path_in_whitelist 会逐级向上检查祖先目录是否命中白名单。七、白名单禁止全局 contains白名单规则只有三种结构化类型WhitelistRuleExact精确匹配microsoft、nvidiaPrefix前缀匹配jianyingpro*保护剪映草稿Pattern通配符.*保护所有点开头隐藏目录内置约 90 条规则覆盖系统核心、显卡驱动、运行时框架、开发工具、常见应用build_whitelist_rules。配套的单元测试专门验证了microsoftedge不会被microsoft规则误伤——这正是禁止 contains 模糊匹配的价值。此外用户还可以把误报路径加入个人白名单leftover_whitelist.rs保护规则在扫描和删除两个环节都会重新校验。八、删除前的三重安全检查评分只负责识别删除环节delete_folders还有三道闸门白名单重校验——防止白名单更新后旧扫描结果仍被删除白名单读取失败时直接拒绝删除宁可多问一句路径范围校验——is_safe_leftover_path 用真实 AppData 路径前缀精确匹配杜绝C:\MyApp\fake\appdata这类伪装路径可执行文件浅扫——目录内发现.exe/.dll会跳过删除并提示走深度清理人工确认。九、上手体验在 LightC 中查看评分理由打开 LightC 主界面的卸载残留模块侧边栏即可见点击开始扫描后每个条目都会显示分类标签高置信度 / 可疑 / 可能使用中 / 系统共享置信度百分比鼠标悬停即可看到该目录命中的具体信号理由列表如包含卸载程序残留、已 30 天未修改一键加入白名单对误报条目点击盾牌图标即可永久保护。前端展示逻辑见 LeftoversModule.tsxTauri 命令入口在 commands/leftovers.rs。十、总结这套算法好在哪✅可解释每个分数都有中文理由用户看得见为什么被判为残留 ✅双保险正向信号抓真残留负向信号 白名单防误删 ✅动态学习安装历史缓存让它能记住曾经装过的软件 ✅删除克制三重检查 白名单失效即拒删安全边界清晰。一次扫描的完整流程白名单过滤 → 预过滤 → 模拟器短路 → 文件探测 → 14项信号评分 → 阈值分级 → 排序输出全部封装在 LeftoverScanner::scan 中。想深入源码的读者建议从该函数和文件开头的 架构注释 读起。【免费下载链接】light-cA free, minimalist, lightweight, and high-performance C-drive cleanup tool.项目地址: https://gitcode.com/gh_mirrors/li/light-c创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

自研平台雷达PLFM_RADAR:多维指标关联分析与智能告警实践 2026/10/2 0:48:15

自研平台雷达PLFM_RADAR:多维指标关联分析与智能告警实践

1. 项目缘起:我为什么需要一个PLFM_RADAR做平台开发和运维的朋友应该都有这种感觉:系统上了线,功能跑得通,但心里总是不踏实。页面访问量突然掉了、接口响应时间悄悄变长、某个服务的错误率半夜开始爬升——这些问题往往不是用户先…

阅读更多 →
Unity+3D+C#构建非遗木拱桥交互式营造逻辑引擎 2026/10/2 0:47:50

Unity+3D+C#构建非遗木拱桥交互式营造逻辑引擎

1. 为什么一座木拱桥需要被“搬进Unity”——从非遗保护现场说起去年在闽东北山区做田野调查时,我跟着一位七十六岁的老匠人爬了三小时陡坡,只为看他亲手复原一座清代木拱桥的“编梁”工序。他蹲在溪边,用篾刀削出弧度精准的杉木构件&#xf…

阅读更多 →
Unity3D展馆系统开发:C#驱动的机场数字孪生交互实践 2026/10/2 0:47:49

Unity3D展馆系统开发:C#驱动的机场数字孪生交互实践

1. 项目概述:这不是一个“飞机场模拟器”,而是一套面向公众教育与行业展示的三维交互式展馆系统“基于Unity3DC#实现的飞机场漫游展馆系统”——这个标题里藏着三个关键信号:Unity是引擎底座,3D是空间载体,C#是逻辑中枢…

阅读更多 →
Unity与UE5全面对比:定位、渲染、性能与选型实战指南 2026/10/2 0:47:49

Unity与UE5全面对比:定位、渲染、性能与选型实战指南

Unity和UE5的对比,我们这些做游戏开发的,几乎每个月都要面对一次。不是团队内部在吵,就是网上又有人把两个引擎拉出来互相“吊打”。我自己的情况是,Unity用了很多年,从4.x一路用到2022 LTS,UE5也在两个正式…

阅读更多 →
ONNX Runtime迁TensorRT原生:GPU推理延迟降低50%实战 2026/10/2 0:46:18

ONNX Runtime迁TensorRT原生:GPU推理延迟降低50%实战

模型推理延迟卡在 4 毫秒附近上不去、GPU 利用率一直没过三成,这是我当时用 ONNX Runtime 上线检测服务最大的两个痛点。后来我把整套链路从 ONNX Runtime 迁到了 TensorRT 原生引擎,同样的模型、同一块 GPU,单帧延迟压到 2 毫秒以内&#xf…

阅读更多 →
Python邮件自动化实战:SMTP/IMAP收发与定时任务全解析 2026/10/2 0:44:19

Python邮件自动化实战:SMTP/IMAP收发与定时任务全解析

你有没有遇到过这种情况:每天早上到工位,第一件事是打开邮箱查有没有新邮件;每天下班前,还要手动给领导发一份日报;更麻烦的是,团队里各种报表、通知、审批结果,全靠人工转发处理。这些事情说大…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉