单文件 Python 脚本,标准库实现,无需编译器、无第三方依赖。 所有改动前先备份,支持一键还原。
v1.1 架构升级:采用 IFEO(映像劫持)重定向 + 保全原文件完整性 + 彻底切断自修复链路 全新方案。告别粗暴改写或删除原程序导致的校验告警与死循环自修复!
搜狗输入法内部包含校验线程(如 userNetSchedule.exe、SogouImeRepair.exe)以及后台自修复缓存。如果直接将推广程序篡改成空壳或删除:
- MD5 完整性校验失败:输入法检测到文件被篡改或缺失,立即触发后台静默自修复并重新下载;
- 本地自修复缓存回灌:搜狗会在
%TEMP%\sgrepairbackup中保留备份,即使断网也会从缓存恢复弹窗程序。
v1.1 新方案对策:
- IFEO 映像拦截(系统级重定向):通过 Windows 注册表
Image File Execution Options将推广程序(Debugger键)重定向到专用的 1024 字节空转桩(C:\ProgramData\SogouDebloat\noop_x64.exe)。操作系统在加载目标 exe 时直接执行空转桩并瞬间退出,目标程序永远无法运行; - 保留/还原原文件完整性:原程序若已被篡改为空壳,自动从备份或缓存还原为正版官方文件,并通过只读/ACL 锁定。由于原文件 MD5 完整无缺,完全不触发搜狗的完整性损坏报警;
- 切断本地自修复与修复器:
- 清空
%TEMP%\sgrepairbackup缓存,并将已有的官方原版安全移至C:\SogouDebloatBackup\sgrepairbackup-originals; - 对
%TEMP%\sgrepairbackup目录施加拒写 ACL,阻止搜狗继续写入自修复备份; - 将搜狗修复工具
SogouImeRepair.exe及相关拉起程序一并纳入 IFEO 拦截; - 彻底停用
SogouSvc守护服务,hosts 汇流拦截遥测与下载通道(安全保留词库同步域名)。
- 清空
双击 搜狗清理.bat → 弹出 UAC 授权窗口,点「是」 → 出现操作菜单 → 按数字选择。
全程只需要按数字,不需要输入任何命令。
请选择要执行的操作:
[1] 一键清理 执行全部 13 个项目 (推荐)
[2] 自定义选择 自己挑要清理哪些项目
[3] 预演 只列出会做什么, 不修改任何东西
[4] 还原 从备份恢复之前的所有改动
[0] 退出
建议第一次先选 [3] 预演,确认会改哪些东西再执行清理。
启动器会自动检测管理员权限(不足则弹 UAC 自提权)、自动定位 py / python,并在结束时暂停窗口。
python sogou_cleaner.py # 交互菜单
python sogou_cleaner.py --all # 执行全部 (含 repair 与 ads 新方案)
python sogou_cleaner.py --remove ads repair ai hosts
python sogou_cleaner.py --dry-run # 预演全部,不修改
python sogou_cleaner.py --restore # 还原 (自动清理 IFEO 并恢复原样)
python sogou_cleaner.py --list # 列出项目其他参数:--install-dir DIR、--backup-root DIR、--yes、
--block-dict-domains(同时拦截词库域名,会导致无法更新词库)。
非管理员运行时脚本会自动弹 UAC 提权并带上原有参数。
| 项目 | 内容 |
|---|---|
repair |
(核心) 自修复链路切断:锁死 %TEMP%\sgrepairbackup 缓存目录、拦截 SogouImeRepair.exe、提取官方原文件归档 |
ads |
(核心) 广告/推广弹窗拦截:通过 IFEO 拦截 13 个推广/拉起程序,原文件保全并防篡改 |
update |
升级程序 PinyinUp.exe + 禁用 SogouSvc 服务(词库更新域名不受影响) |
crash |
崩溃上报程序 crashrpt.exe |
ai |
AI 助手浏览器(CEF,约 116MB)+ 网页渲染器 |
telemetry |
遥测上报 DLL:shiply / beacon_sdk / qimei / Sogoulog |
components |
营销组件目录 + 组件显示开关 |
login |
登录/账户痕迹 |
mall |
商城/无用设置页入口 + 商城 Web 应用(资源级,实验性) |
hosts |
域名拦截(24 个广告/遥测/账户域名,保留词库域名) |
track |
追踪/状态注册表键 |
logs |
日志/缓存清理 |
startup |
自启动项与计划任务 |
- 备份目录:
C:\SogouDebloatBackup\<时间戳>\(files / dirs / reg 三类) - 原文件安全仓:
C:\SogouDebloatBackup\sgrepairbackup-originals\(提取自自修复缓存的官方原版文件) - 清单:
C:\SogouDebloatBackup\manifest.jsonl,逐条记录每个改动(支持ifeo,lockdir,stub,move等动作) - 还原:菜单选 [4],或
python sogou_cleaner.py --restore- 自动解除 64 位与 32 位 IFEO 劫持注册表项;
- 释放
%TEMP%\sgrepairbackup目录锁; - 恢复服务启动类型、hosts 文件、注册表自启项及文件备份。
- 安全防劣化保护:若原文件已被恢复为官方完整原版,还原程序绝不会将原版覆盖回空壳。
python verify_cleanup.py执行 8 大子系统深度体检:
- 目标 Exe 状态与尺寸:验证文件是否存在、是否为官方原版大小(避免被空壳替换引发自修复);
- IFEO 劫持覆盖:逐一核对 64 位与 32 位(WOW6432Node)双向注册表
Debugger键; - 真实进程拉起拦截实测:现场通过测试参数调用目标程序,证明被空转桩直接拦截且瞬间返回;
- 自修复通道锁闭状态:检查
%TEMP%\sgrepairbackup是否被严格拒写、SogouSvc 服务是否处于禁用; - 核心输入法完整性:确认
SogouTSF.ime、SogouPY.ime、sogou_pinyin.dll及字典完好无损; - TSF 与输入法激活:检查系统输入法 TIP 注册表与加载进程;
- Hosts 拦截与白名单:核对推广域名是否被 sinkhole、词库同步白名单是否保留;
- 配置目录锁:核查营销组件目录是否处于锁定保护状态。
- HKCU 注册表删除是临时的。运行中的输入法会在几分钟内重建
HKCU\Software\SogouInput.user和.store.user(前者只剩首次加载时间戳, 后者是空的统计计数字键)。因为遥测域名已被 hosts 拦截,这些计数发不出去, 但本地仍会重新累积。文件级改动、IFEO 拦截和 hosts 拦截是永久生效的。 mall为实验性:通过重写SGMyInput.exe内嵌资源包隐藏商城入口。 脚本会先备份原文件,并在重写后校验长度一致才落盘;不一致则跳过。- 清理后如需升级搜狗输入法,建议先
--restore还原,升级完成后再重新清理。
legacy/ 下是早期 PowerShell 实现,现已全面同步 v1.1 IFEO + 自修复切断 架构。不需要安装 Python,系统自带的 Windows PowerShell 5.1 即可运行。
双击 legacy/搜狗清理-PowerShell版.bat 即可,用法与 Python 版完全一致。
也可手动运行:
powershell -ExecutionPolicy Bypass -File sogou-debloat.ps1
powershell -ExecutionPolicy Bypass -File sogou-debloat.ps1 -DryRun -All
powershell -ExecutionPolicy Bypass -File sogou-debloat.ps1 -Restore- 非管理员时自动弹 UAC 提权重启,并原样带上原有参数;
- 每个退出路径都会暂停等待回车,防止窗口一闪而过;
- 加了
trap兜底,未捕获的错误也会先显示出来再暂停; .bat用-ExecutionPolicy Bypass启动,并先Unblock-File解除网络来源标记;- 新增
-NoPause开关,供脚本化调用时跳过暂停。
搜狗清理.bat 双击入口:提权 + 定位 Python + 启动菜单 + 结束暂停
sogou_cleaner.py 主程序(单文件,标准库实现,v1.1 IFEO新架构)
verify_cleanup.py 清理结果深度体检工具(8大子系统校验)
README.md 说明文档
legacy/
├── 搜狗清理-PowerShell版.bat 旧版双击入口(无需 Python)
└── sogou-debloat.ps1 PowerShell 实现(v1.1 同步架构)
运行环境:Windows 10/11,管理员权限。 Python 版需要 Python 3.8+;PowerShell 版只需要系统自带的 Windows PowerShell 5.1。