# CertLock - 通过封禁数字证书永久阻止流氓软件全家桶，单文件免安装

**URL:** <https://meta.appinn.net/t/topic/87232>\
**Category:** 发现频道\
**Created:** [2026 年6 月 22 日 12:54 UTC](https://meta.appinn.net/t/topic/87232 "2026-06-22T12:54:46Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

作者： ![zhe\_zhao](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/zhe_zhao/32/71829_2.png) [@zhe\_zhao](https://meta.appinn.net/u/zhe_zhao)\
发布日期： [2026 年6 月 22 日 12:54 UTC](https://meta.appinn.net/t/topic/87232/1 "2026-06-22T12:54:46Z")

</div>

### CertLock 是什么

CertLock 是一款通过 Windows 原生软件限制策略（SRP）封禁流氓软件数字证书的轻量工具。不删文件、不装杀毒、不后台常驻——把流氓厂商的签名证书加入系统黑名单后，该厂商所有软件（包括自动下载的、换目录的、重命名的）都无法运行。

### 为什么不是简单的卸载/删文件

- 卸载：残留服务+计划任务，重启后自动修复重装
- 删文件：自修复组件静默重新下载
- 改 Hosts：域名可换，治标不治本
- 杀毒拦截：占用资源，卸载后失效

CertLock 直接封证书指纹，系统内核加载器层面拦截，重装、换目录、加壳都没用。

### 现在支持

- 证书封禁：内置 360、金山、鲁大师、2345、腾讯等常见流氓厂商证书预设，也支持任意签名软件自定义封禁
- 哈希封禁：无签名软件按 SHA256 文件指纹精确阻止
- 系统目录保护：自动拒绝封禁 C:Windows 等系统路径，防止误操作
- 一键撤销：操作历史记录，误封可回滚
- 命令行模式：支持 --block、–hash、–list、–dry-run 等，方便脚本化
- 策略备份/导出：JSON 格式，跨机器迁移或社区分享

### 使用

下载 Release 里的 zip，解压后右键管理员运行 CertLock.exe 即可。首次运行 Windows 可能提示 SmartScreen，点「更多信息」→「仍要运行」。

### 关于误报

由于使用 PyInstaller 单文件打包 + 修改系统注册表（SRP 策略），部分杀毒引擎会触发启发式误报。VirusTotal 62/70 全绿，报红的 8 家均为行为特征检测（dropper/generic），零恶意代码检出。源码 100% 开源 MIT 可审计。

GitHub: [GitHub - zhaofeiy2002-ctrl/certlock: Windows Certificate Blocker - Block unwanted software via SRP certificate rules. Single-file portable GUI tool. · GitHub](https://github.com/zhaofeiy2002-ctrl/certlock)

### 求测试

想找 10 个真实用户验证效果：

- 你的环境里有哪些流氓软件还在蹦跶？
- 封禁后有没有误杀正常软件？
- 有没有「我靠这居然没封住」的情况？

---

<div class="post-metadata">

作者： ![idkbungle](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/i/71e660/32.png) [@idkbungle](https://meta.appinn.net/u/idkbungle)\
发布日期： [2026 年6 月 22 日 13:33 UTC](https://meta.appinn.net/t/topic/87232/2 "2026-06-22T13:33:12Z")

</div>

看起来确实是很新颖的保护策略，不过我电脑没有什么流氓软件，只能帮顶一下了

---

<div class="post-metadata">

作者： ![e1bc91145138](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/e1bc91145138/32/69325_2.png) [@e1bc91145138](https://meta.appinn.net/u/e1bc91145138)\
发布日期： [2026 年6 月 22 日 14:29 UTC](https://meta.appinn.net/t/topic/87232/3 "2026-06-22T14:29:07Z")

</div>

其实并不新颖  
就我知道的，这个方法已经出现了12年了  
但是这个证书库需要一直维护，而且工作量很大。。。

---

<div class="post-metadata">

作者： ![Colin5887](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/colin5887/32/59253_2.png) [@Colin5887](https://meta.appinn.net/u/Colin5887)\
发布日期： [2026 年6 月 22 日 23:08 UTC](https://meta.appinn.net/t/topic/87232/4 "2026-06-22T23:08:02Z")

</div>

哦，一个简配版本的HIPS

虽然我用不上，但是表示一下支持

---

<div class="post-metadata">

作者： ![zhe\_zhao](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/zhe_zhao/32/71829_2.png) [@zhe\_zhao](https://meta.appinn.net/u/zhe_zhao)\
发布日期： [2026 年6 月 23 日 02:03 UTC](https://meta.appinn.net/t/topic/87232/5 "2026-06-23T02:03:38Z")

</div>

感谢支持！确实定位就是简配版——把 HIPS 里普通人用不到的功能砍掉，只留封禁证书/哈希这一个核心场景，单文件右键运行，用完就关 :globe_showing_europe_africa:

---

<div class="post-metadata">

作者： ![zhe\_zhao](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/zhe_zhao/32/71829_2.png) [@zhe\_zhao](https://meta.appinn.net/u/zhe_zhao)\
发布日期： [2026 年6 月 23 日 02:03 UTC](https://meta.appinn.net/t/topic/87232/6 "2026-06-23T02:03:49Z")

</div>

确实企业 IT 用 GPO 推 SRP 白名单/黑名单是日常操作。做这个的目的就是：被「安全下载」套路塞了 360 的普通用户，不需要知道 `gpupdate` 和 `CodeIdentifiers` 是什么。CertLock 的价值是把这套机制封装成单文件 + 预设 + 撤销，让非技术人员能用。:kissing_face_with_smiling_eyes:

---

<div class="post-metadata">

作者： ![oldsento](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/oldsento/32/58815_2.png) [@oldsento](https://meta.appinn.net/u/oldsento)\
发布日期： [2026 年6 月 24 日 00:34 UTC](https://meta.appinn.net/t/topic/87232/7 "2026-06-24T00:34:00Z")

</div>

搞个虚拟机测一下？

---

<div class="post-metadata">

作者： ![sonichy](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/sonichy/32/44400_2.png) [@sonichy](https://meta.appinn.net/u/sonichy)\
发布日期： [2026 年6 月 29 日 08:35 UTC](https://meta.appinn.net/t/topic/87232/8 "2026-06-29T08:35:01Z")

</div>

我只想去掉鲁大师在回收站底栏增加的C盘清理。

---

<div class="post-metadata">

作者： ![zhe\_zhao](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/zhe_zhao/32/71829_2.png) [@zhe\_zhao](https://meta.appinn.net/u/zhe_zhao)\
发布日期： [2026 年6 月 29 日 08:49 UTC](https://meta.appinn.net/t/topic/87232/9 "2026-06-29T08:49:17Z")

</div>

你可以先封禁，之后重启后本地文件应该是无法运行的了。在后面找到那个位置的文件直接删除就行。（试试看？）

---

<div class="post-metadata">

作者： ![xieyilin.main](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/xieyilin.main/32/58929_2.png) [@xieyilin.main](https://meta.appinn.net/u/xieyilin.main)\
发布日期： [2026 年6 月 29 日 09:36 UTC](https://meta.appinn.net/t/topic/87232/10 "2026-06-29T09:36:07Z")

</div>

我感觉可以扩充一下软件的签名库。  
之前Malware-Patch项目就有一堆这样的签名，不过我也担心这样会增大杀软误杀的可能。

> **[GitHub - the1812/Malware-Patch: 通过 UAC 阻止流氓软件的管理员授权. / Prevent UAC authorization...](https://github.com/the1812/Malware-Patch)**
>
> 通过 UAC 阻止流氓软件的管理员授权. / Prevent UAC authorization of malware.

---

<div class="post-metadata">

作者： ![Colin5887](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/colin5887/32/59253_2.png) [@Colin5887](https://meta.appinn.net/u/Colin5887)\
发布日期： [2026 年6 月 29 日 09:45 UTC](https://meta.appinn.net/t/topic/87232/11 "2026-06-29T09:45:10Z")

</div>

可以使用类似AdBlock或者AdGaurd的思路

- 提供一大堆的列表，软件启用的时候，只默认启用最低限度的列表项。用户可以根据需要，自己决定启用哪个。
- 如果误杀，那就是用户配置的问题

---

<div class="post-metadata">

作者： ![zhe\_zhao](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/zhe_zhao/32/71829_2.png) [@zhe\_zhao](https://meta.appinn.net/u/zhe_zhao)\
发布日期： [2026 年6 月 29 日 09:53 UTC](https://meta.appinn.net/t/topic/87232/12 "2026-06-29T09:53:35Z")

</div>

这个能够手动上传并自动识别。

谢谢！不过确实下面能够一次性提供一大堆（证书）然后软件自启时候最低运行确实不错，我想先试试做出来，但要是失去了软件本身的精简性（简洁的那种舒适感）我可能不会更新 :joy:

---

<div class="post-metadata">

作者： ![NullPointer](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/nullpointer/32/58759_2.png) [@NullPointer](https://meta.appinn.net/u/NullPointer)\
发布日期： [2026 年7 月 10 日 08:34 UTC](https://meta.appinn.net/t/topic/87232/13 "2026-07-10T08:34:11Z")

</div>

是证书粒度的识别拦截吗？还是支持可以部分放行

---

<div class="post-metadata">

作者： ![zhe\_zhao](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/zhe_zhao/32/71829_2.png) [@zhe\_zhao](https://meta.appinn.net/u/zhe_zhao)\
发布日期： [2026 年7 月 10 日 09:02 UTC](https://meta.appinn.net/t/topic/87232/14 "2026-07-10T09:02:16Z")

</div>

这个有意思啊，理论上可以，粒度是证书指纹级别，比如金山系有两张不同的签名证书——毒霸和 WPS 各自一张，可以只封毒霸的证书、保留 WPS 不受影响。但如果同一张证书签了多个程序，证书规则层面是统一拦截的。需要部分放行的话，Windows SRP 支持路径规则覆盖证书规则，在注册表加一条路径 Unrestricted 就行，优先级更高。当前工具 GUI 还没做这个入口，人民有需求我试着这两天加一个路径白名单面板。:face_vomiting:

---

<div class="post-metadata">

作者： ![NullPointer](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/nullpointer/32/58759_2.png) [@NullPointer](https://meta.appinn.net/u/NullPointer)\
发布日期： [2026 年7 月 10 日 09:10 UTC](https://meta.appinn.net/t/topic/87232/15 "2026-07-10T09:10:38Z")

</div>

可以根据定位，先考虑下有没有必要

如过是轻量的绿色定位，那加白名单必然涉及到写文件/规则配置操作逻辑的设计

hips一般是有白名单机制的，但好像没有直接通过证书设置的粒度(ESET没有，冰盾也好像没有)。如果是通过内置黑名单达到快速的广域封锁，感觉也没必要添加白名单功能增加复杂度

---

<div class="post-metadata">

作者： ![zhe\_zhao](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/zhe_zhao/32/71829_2.png) [@zhe\_zhao](https://meta.appinn.net/u/zhe_zhao)\
发布日期： [2026 年7 月 10 日 09:49 UTC](https://meta.appinn.net/t/topic/87232/16 "2026-07-10T09:49:11Z")

</div>

理解你的顾虑。不过这个不是自己实现白名单逻辑——SRP 本身就支持 Path Rules，Windows 内核加载的时候会按「路径 \> 证书」的优先级判的，刚刚我们只是给这个已有的系统能力加了个 GUI 入口，大概 100 行代码，不会碰核心逻辑。

实际场景是：用证书规则一键封了某厂商所有程序，但某个具体 exe（同厂商签名）确实需要用，这时候给这个 exe 加一条路径白名单就行。这是 SRP 自己的设计意图，不是额外加的功能。

对不需要的人完全不可见——藏在第三视图里，默认不展示。所以不影响轻量定位。

---

<div class="post-metadata">

作者： ![quantum1](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/q/f04885/32.png) [@quantum1](https://meta.appinn.net/u/quantum1)\
发布日期： [2026 年8 月 14 日 10:54 UTC](https://meta.appinn.net/t/topic/87232/17 "2026-08-14T10:54:41Z")

</div>

为什么github上的安装包没有了，certlock这个软件

---

<div class="post-metadata">

作者： ![CCR](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/ccr/32/68442_2.png) [@CCR](https://meta.appinn.net/u/CCR)\
发布日期： [2026 年8 月 14 日 11:20 UTC](https://meta.appinn.net/t/topic/87232/18 "2026-08-14T11:20:43Z")

</div>

开发者直接将文件上传到了repo代码内

 ![PixPin_2026-08-14_18-55-12](https://h2cdn.appinn.me/original/3X/b/4/b4fdf0871c736f12bdc21506e8b681e8d3d1a797.jpeg)

---

<div class="post-metadata">

作者： ![quantum1](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/q/f04885/32.png) [@quantum1](https://meta.appinn.net/u/quantum1)\
发布日期： [2026 年8 月 14 日 11:27 UTC](https://meta.appinn.net/t/topic/87232/19 "2026-08-14T11:27:25Z")

</div>

十分感谢

---

<div class="post-metadata">

作者： ![quantum1](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/q/f04885/32.png) [@quantum1](https://meta.appinn.net/u/quantum1)\
发布日期： [2026 年8 月 14 日 11:30 UTC](https://meta.appinn.net/t/topic/87232/20 "2026-08-14T11:30:52Z")

</div>

可以单独发个包吗，真的需要

[下一页](https://meta.appinn.net/t/topic/87232.md?page=2)
