Skip to content

About

你一个输入法要chromium内核干什么?!

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

10 Commits

Folders and files

Repository files navigation

搜狗输入法 去广告/去推广/去遥测 清理工具 (v1.1)

单文件 Python 脚本,标准库实现,无需编译器、无第三方依赖。 所有改动前先备份,支持一键还原。

v1.1 架构升级:采用 IFEO(映像劫持)重定向 + 保全原文件完整性 + 彻底切断自修复链路 全新方案。告别粗暴改写或删除原程序导致的校验告警与死循环自修复!


核心机制:为什么采用新方案?

搜狗输入法内部包含校验线程(如 userNetSchedule.exe、SogouImeRepair.exe)以及后台自修复缓存。如果直接将推广程序篡改成空壳或删除:

  1. MD5 完整性校验失败:输入法检测到文件被篡改或缺失,立即触发后台静默自修复并重新下载;
  2. 本地自修复缓存回灌:搜狗会在 %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 大子系统深度体检:

  1. 目标 Exe 状态与尺寸:验证文件是否存在、是否为官方原版大小(避免被空壳替换引发自修复);
  2. IFEO 劫持覆盖:逐一核对 64 位与 32 位(WOW6432Node)双向注册表 Debugger 键;
  3. 真实进程拉起拦截实测:现场通过测试参数调用目标程序,证明被空转桩直接拦截且瞬间返回;
  4. 自修复通道锁闭状态:检查 %TEMP%\sgrepairbackup 是否被严格拒写、SogouSvc 服务是否处于禁用;
  5. 核心输入法完整性:确认 SogouTSF.ime、SogouPY.ime、sogou_pinyin.dll 及字典完好无损;
  6. TSF 与输入法激活:检查系统输入法 TIP 注册表与加载进程;
  7. Hosts 拦截与白名单:核对推广域名是否被 sinkhole、词库同步白名单是否保留;
  8. 配置目录锁:核查营销组件目录是否处于锁定保护状态。

已知限制与说明

  1. HKCU 注册表删除是临时的。运行中的输入法会在几分钟内重建 HKCU\Software\SogouInput.user 和 .store.user(前者只剩首次加载时间戳, 后者是空的统计计数字键)。因为遥测域名已被 hosts 拦截,这些计数发不出去, 但本地仍会重新累积。文件级改动、IFEO 拦截和 hosts 拦截是永久生效的。
  2. mall 为实验性:通过重写 SGMyInput.exe 内嵌资源包隐藏商城入口。 脚本会先备份原文件,并在重写后校验长度一致才落盘;不一致则跳过。
  3. 清理后如需升级搜狗输入法,建议先 --restore 还原,升级完成后再重新清理。

旧版 PowerShell 版(无需 Python)

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。

About

你一个输入法要chromium内核干什么?!

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages