Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

流氓软件克星

一个专门揪 Windows 右键菜单、自启动、计划任务、服务、浏览器插件和文件关联残留的小工具。

做它的原因很简单:有些软件明明只是输入法、网盘、文档、下载器、看图工具,却很喜欢悄悄把自己塞进右键菜单、开机启动、浏览器扩展和后台服务里。用户只是想用一个功能,它们倒好,顺手把电脑当成自家客厅。

作者:aakk007

v2 方向

v2 改成 C# WinForms 单文件主程序:

  • 运行时不再依赖 RogueCleaner.ps1rules 或其它外部 sidecar 文件。
  • 仓库和源码包也不再保留旧 PowerShell 引擎、旧 Launcher 或 WinRAR SFX 一键运行脚本。
  • 首次运行只在 exe 同目录创建一个数据目录:流氓软件克星数据
  • 扫描核心在 C# 内,多线程扫描右键菜单、“此电脑/资源管理器”入口、启动项、服务、计划任务、浏览器扩展和文件关联。
  • 清理前备份,清理后复核并复扫。
  • 增加恢复中心,可以按批次回滚注册表、被移动文件、服务启动状态和计划任务状态。
  • 检查更新会从 GitHub Release 读取最新版,用户确认后下载直出 exe,替换完成后自动重启。

使用方式

普通用户下载 流氓软件克星.exe 后直接双击。

程序不会把自己搬家。你放桌面,它就在桌面运行;你放某个文件夹,它就在那个文件夹旁边创建:

流氓软件克星数据\

这个目录用于保存:

  • reports:扫描和清理报告
  • backups:清理前备份
  • logs:错误日志
  • updates:更新检查状态
  • quarantine:被移动的文件
  • state:更新检查等运行状态
  • feedback:用户主动生成、提交前可预览的脱敏识别反馈

程序不会创建桌面快捷方式,也不会改动开始菜单或启动项。

用户能看懂什么

列表优先显示人话,不让普通用户看着注册表路径猜谜:

  • 在哪里冒出来:右键菜单、开机启动、后台服务、计划任务、浏览器插件、文件关联等。
  • 用户会看到什么:右键菜单真实标题、服务名、任务名、打开方式名称。
  • 影响说明:它会在右键出现、开机自启、后台常驻,还是接管某类文件。
  • 工具会怎么处理:备份后删注册表、禁用服务、禁用计划任务、弹出卸载器,或者仅提示。
  • 鼠标悬停在行上会显示完整说明、技术位置和证据。

默认打开程序这类容易误伤日常使用的项目只提示,不参与一键清理。 疑似捆绑/弹窗/守护组件如果有卸载命令,工具会显示为“弹出卸载器,用户自己确认”。这类项目不会被“勾选可清理”批量勾上,必须手动勾选。

覆盖范围

当前内置识别:

  • 360 系列
  • WPS / 金山
  • 百度 / 百度网盘
  • 夸克 / 夸克网盘
  • 搜狗
  • 迅雷
  • 钉钉
  • 腾讯系
  • 2345 系列
  • Bandisoft / BandiView / Bandizip
  • 猎豹 / 金山毒霸
  • 驱动/硬件检测工具
  • 国产压缩/看图工具
  • 国产浏览器/导航
  • Flash 中国特供组件
  • 手机助手/设备助手
  • 国产影音/游戏大厅
  • PDF/办公捆绑工具
  • 预装管家/厂商助手

扫描位置:

  • 资源管理器右键菜单和常见 Shell 扩展
  • “此电脑”、资源管理器导航栏和网络位置里的网盘/同步入口图标
  • 开机启动注册表和启动文件夹
  • Windows 后台服务
  • Windows 计划任务
  • Chrome / Edge 扩展策略和 Native Messaging Host
  • Firefox/Mozilla Native Messaging Host
  • 常见图片、视频、压缩包、Office 文档等文件关联和打开方式残留
  • 疑似隐藏、不可移除、没有卸载命令的卸载项

默认不扫描主程序卸载项,避免不懂的人一键全选把正常软件主程序误卸载。 隐藏/无卸载入口的组件只报告,不默认卸载。 有卸载命令的疑似捆绑/弹窗/守护组件,清理时弹出原厂卸载器,由用户自己确认卸载。

厂商名称不是从整段注册表文本里做模糊子串猜测。程序会分别核对显示名、Publisher、文件版本信息、有效 Authenticode 签名、MSI 元数据和安装目录归属;GUID、哈希、PID、完整注册表路径以及 msiexec.exerundll32.exe 等系统宿主不能单独用来认定厂商。数字证书用于确认文件归属,不代表其弹窗、守护或隐藏行为合理。

如果确实命中独立的弹窗、广告、守护或自动恢复行为,但本地证据不足以确认厂商,结果会显示为“未知第三方”,并且只能提示,不能进入一键清理或自动卸载链。

风险控制

  • 打开软件默认不清理。
  • 扫描结果默认不勾选。
  • 勾选可清理 不会勾选“仅提示”项目。
  • 清理前二次确认。
  • 涉及 HKLM、服务、计划任务时需要管理员权限;不是管理员会提示用“管理员重启”。
  • 清理后逐项复核,失败或残留会继续留在复扫列表里。

恢复中心

每次清理都会生成一个备份批次,保存在:

流氓软件克星数据\backups\

恢复中心 可以选择批次恢复。

更新

程序会按天检查 GitHub Release 是否有新版本。发现新版本时会弹窗询问是否下载并自动重启更新:

https://github.com/aakk007/RogueCleaner/releases

不会静默更新。只有用户在弹窗里确认后,才会下载 Release 里的直出 exe,并在本地完成替换重启。

下载与校验

当前推荐只下载 GitHub Release 里的直出 EXE:

RogueCleaner-v2.0.12-*.exe

压缩包主要给需要审查源码或保留完整发布包的人使用。每次打包会同时生成 SHA256SUMS-v2.0.12-*.txt,用于核对下载文件是否和发布文件一致。

如果安全软件提示风险,优先核对来源和 SHA256。这个工具会读取、备份、删除注册表项,禁用服务和计划任务,容易被启发式规则归为系统工具类风险;项目原则是不加壳、不混淆、不内嵌脚本、不做自解压一键包、不绕过安全软件。

构建

需要 Windows 自带的 .NET Framework 4.x 编译器:

powershell -NoProfile -ExecutionPolicy Bypass -File .\Build-Exe.ps1

输出:

流氓软件克星.exe
dist\流氓软件克星\流氓软件克星.exe

v2 发布目录只包含 exe,不再包含 .md.ps1 或规则目录。源码包只包含 v2 源码、manifest、图标和构建脚本,不再混入旧 Launcher、旧 PowerShell 运行链路或 WinRAR SFX 自解压脚本。

开发烟测:

.\流氓软件克星.exe --scan-smoke

这个参数只扫描并写报告,不弹 GUI,不执行清理。GUI 扫描异常时也会写入 reports\scan-error-*.json,方便把失败证据发回来,而不是只剩一句“扫描失败”。

厂商身份碰撞回归:

.\流氓软件克星.exe --identity-smoke

这个参数会验证 Corel GUID 中偶然出现 2345、系统 MSI 宿主、Thunderbird,以及各厂商关键词出现在 GUID、随机路径或注册表位置时均不会误认厂商。

反馈脱敏回归:

.\流氓软件克星.exe --feedback-smoke

这个参数会用包含用户名、SID、用户目录、邮箱、URL、令牌和网络地址的模拟证据验证反馈脱敏,失败时返回非零退出码并在 reports 中写入结果。

界面布局回归:

.\流氓软件克星.exe --ui-smoke

这个参数会在默认窗口和最小窗口下检查“开始扫描”“清理勾选”“检查更新”“反馈”的可见性与排列,填充本地模拟结果验证右侧详情面板,并把主界面、最小窗口和反馈窗体截图写入 reports。它不扫描、清理或提交反馈。

识别反馈

扫描后,可从顶部“反馈”入口反馈当前选中的结果,并选择误报、漏报、身份错误或关联错误;漏报不要求先选中扫描结果。程序只提取当前项目需要的字段,先在本地预览并脱敏,再保存到 流氓软件克星数据\feedback。选择“复制并打开 GitHub”后,详细内容进入剪贴板,浏览器打开结构化 Issue 表单,最终是否公开提交由用户确认。

程序不会保存 GitHub Token,也不会在后台直接提交。默认不包含文件 SHA256,不上传文件或完整系统清单;用户名、SID、计算机名、用户目录、邮箱、URL、令牌和网络地址会被替换。GitHub Issue 仅作为待验证样本,后续需复核并转成回归用例,不能直接改变本机识别或清理规则。

发布前清理验收需单独编译验证版,正式发布版不带验收器,减少安全软件启发式误报:

powershell -NoProfile -ExecutionPolicy Bypass -File .\Build-Exe.ps1 -ValidationBuild
.\dist\流氓软件克星\流氓软件克星.exe --acceptance-test

这个参数会创建带 CodexRogueCleanerTest 前缀的模拟右键菜单、开机启动、浏览器宿主、文件打开方式、计划任务和服务项,调用正式扫描/清理/恢复核心,再写入验收报告。

注意:服务项需要管理员权限;如果当前系统策略禁止创建注册表或计划任务模拟工件,报告里会显示 SetupFailed,不能把这种结果当成“功能已验证”。

原则

  • 不常驻后台。
  • 不加壳。
  • 不混淆。
  • 不静默更新。
  • 不绕过软件自保护。
  • 不改写 UserChoice
  • 不默认卸载主程序。
  • 不删除用户文档。
  • 先备份,再清理,清理后复扫。

关于 About

流氓软件克星:扫描和清理 Windows 流氓右键菜单、自启动、计划任务、服务、浏览器插件和文件关联残留

语言 Languages

C#97.9%
PowerShell2.1%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
18
Total Commits
峰值: 12次/周
Less
More

核心贡献者 Contributors