ARTICLE · 1145512
免费开源的 Windows 流氓软件清除小工具
软件卸载了,入口还在。注册表和 Shell 里那些东西,系统自带的功能管不到。
素材核实说明。本文写作时的最新版本为 v2.0.16(2026-08-13)。仓库 star 数、发行版数量、安装包下载量、issue 状态均于发稿当日实查 GitHub API,具体数值会随时间变动,以仓库页面为准。
Windows 用久了,右键菜单会变成软件自家的展示区。装个看图工具,图片右键多出三行;装个网盘,同步和上传挤进资源管理器的导航栏;装个办公软件,文档的默认打开方式、浏览器插件、计划任务一起被换掉。就算卸载了,还有一部分留在原地。
系统自带的任务管理器只管启动项,设置里的应用列表只负责卸载。但是还有一些在注册表和 Shell 里的入口没有办法处理。
流氓软件克星就是专门对付右键菜单、开机启动、后台服务、计划任务、浏览器宿主和文件关联里那些软件悄悄留下的入口。它不靠名字猜厂商,看的是签名、文件版本信息、MSI 元数据和安装目录,没确认的一律只提示。作者是 aakk007,MIT 协议,C# 写的,体积只有 482KB 的单文件 exe。
本文看点
01
七类入口一起扫,从右键菜单到计划任务
02
不靠名字猜厂商,证据不够只提示
03
删之前先备份,服务和计划任务能还原
01
INTERFACE
界面

— 主界面。左侧是总览、启动项管理、右键管理、弹窗与流氓诊断、恢复中心五栏,右侧详情面板留了身份依据、行为事实、建议原因和处理影响四块
扫描哪些?
右键菜单和 Shell 扩展
图片、视频、音频、文本、压缩包上的专用右键,还有磁盘、文件夹、快捷方式上的菜单项,都在扫描范围里。有些插件在注册表里只留了一串编号,程序会拿这串号去 CLSID 里反查默认名、InprocServer32、LocalServer32 和 ProgID,再把菜单文字还原成人能读懂的名字。
「此电脑」和资源管理器导航栏的入口
网盘客户端和手机助手最喜欢往这两个位置挤。程序会查 NameSpace,以及钉在导航栏上的厂商 CLSID,把占着这些位置的入口找出来。
开机启动
要查两处。HKCU 只管当前用户,HKLM 是全机器共用,两边的 Run、RunOnce 都扫一遍,再加上「启动」文件夹里的快捷方式。快捷方式会解析出真实指向,看它到底拉起了哪个程序。
后台服务和计划任务
服务走系统自带的 sc.exe,计划任务走 Windows 的任务计划 COM 接口。找到之后先把启动状态或者任务 XML 备份下来,再禁用,所以这两样都能从恢复中心还原。
浏览器宿主
Chrome、Edge、Firefox 的 Native Messaging Host,也就是浏览器和本机外部程序之间那条通道;还有 Chrome 和 Edge 里被强制装上的扩展策略。
文件关联
常见图片、视频、压缩包、下载和 Office 文档,默认拿哪个程序打开,还有卸过之后残留在「打开方式」里的记录。
没有卸载入口的隐藏项
注册表里标了 SystemComponent、NoRemove 的条目,或者没有显示名、没有卸载命令的条目。这类在系统的应用列表里看不到,普通卸载也找不到它们。
正在运行的进程只报告,不会去关闭。
02
IDENTIFY
如何判断是哪个软件
先要弄明白为什么非得判断是哪个软件。卸载器常见的做法是拿软件名去比对一份关键词表,名字里带了哪些词,就归到可清理那一类。但是名字是厂商自己填的,想叫什么就叫什么,同一个厂商这版叫 A、下版叫 B,也有流氓软件把显示名起得跟系统组件一模一样。只看名字,结果要么误删掉正常软件,要么漏掉真正该清的。把每个入口的归属查清楚,动谁、不动谁才有依据。
软件为什么要把自己藏起来,道理并不复杂。入口越不起眼,用户越难找到、越难卸掉。常见的手法有几种。显示名不写厂商、注册表里标上 SystemComponent 或 NoRemove 让它在应用列表里不出现、干脆不给卸载入口,再借 rundll32.exe、msiexec.exe 这类系统进程当外壳,看上去就像系统自带的东西。一条入口到底是系统自己的,还是外来软件塞进来的,光看它长什么样分不出来,只能去查归属。

— 一次真实扫描的结果。三行分别来自两家国产软件的组件,位置一栏写明它是从哪里冒出来的,处理一栏写清工具会怎么做。红框是提交反馈的用户自己标的,标的是按钮文字被截断的位置
程序会分开核对显示名、Publisher、文件版本信息、有效的 Authenticode 签名、MSI 元数据和安装目录归属,几项对得上才认定厂商。GUID、哈希、进程号、完整的注册表路径,还有 msiexec.exe、rundll32.exe 这类系统宿主,单独出现都不算证据。
作者在说明里说:数字证书用来确认文件归属,不代表它的弹窗、守护行为就合理。
证据不够的时候就不下判断。命中了一个独立的弹窗、广告或者自动恢复行为,但本地证据不足以确认厂商,结果会显示成「未知第三方」,只能提示,进不了一键清理。
03
REMOVAL
删除方式
备份后删。删注册表项之前先导出,导出失败就取消这次删除。
禁用。服务备份启动状态后禁用,计划任务备份 XML 和启用状态后禁用,都能从恢复中心还原。
弹出原厂卸载器。有卸载命令的疑似捆绑、弹窗、守护组件,工具只负责把原厂卸载窗口拉起来,卸不卸由用户自己点。这类项目不参与「勾选可清理」的批量勾选,必须手动选。
只提示。默认打开程序、没有卸载命令的隐藏组件、未确认厂商的项目,一律只报告。
给自己的九条原则
REFERENCE
不常驻后台。不加壳。不混淆。不静默更新。不绕过软件自保护。不改写 UserChoice。不默认卸载主程序。不删除用户文档。先备份,再清理,清理后复扫。
04
USAGE
怎么用
从发布页下 RogueCleaner-v2.0.16-*.exe,双击就跑。作者另外提供只放 exe 与说明的透明版和源码包,附 SHA256SUMS 校验文件。
首次运行会在 exe 旁边建一个 流氓软件克星数据 目录,扫描报告、清理前的备份、错误日志和隔离文件都放在里面。程序不创建桌面快捷方式,也不动开始菜单和启动项。
05
NOTICE
注意
NOTE
会被安全软件当成风险。
这类工具要读注册表、要删项、要禁服务和计划任务,被启发式规则盯上很常见。
高缩放下界面会错位。会有页面布局问题,暂时还未被解决。
∞
LINKS
项目地址与版本发布
GitHub 仓库
https://github.com/aakk007/RogueCleaner
版本发布页
https://github.com/aakk007/RogueCleaner/releases
最新版 v2.0.16,单文件 exe 约 482KB。
如果打不开发布页,私信回复「流氓软件克星」,我把安装包整理好发你。
如果你觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见。