3分钟解锁 Office 365 订阅版全部本地功能:Ohook 钩子激活工具使用指南
3分钟解锁 Office 365 订阅版全部本地功能:Ohook 钩子激活工具使用指南
【免费下载链接】ohookAn universal Office "activation" hook with main focus of enabling full functionality of subscription editions项目地址: https://gitcode.com/gh_mirrors/oh/ohook
Ohook 是一款开源的 Office“激活”钩子工具,核心使命是让 Microsoft 365 这类订阅版 Office 的本地功能完整可用。它不改动系统文件、不安装常驻服务,部署只需几分钟,之后每次打开 Word、Excel、PowerPoint 都以“已授权”状态运行。本文从原理讲到实操,带你把步骤一次走通。
场景:订阅到期的那个下午,你的 Excel 突然“哑了”
周三下午,你正赶一份季度报表,打开 Excel 却发现顶栏多了一条黄色提示:未授权产品。功能区一大片按钮变灰,公式只剩基础几条,连保存都弹警告。翻进订阅后台一看——Microsoft 365 家庭版过期了。
续费当然最省心,但如果你只是临时要完成手头工作、或者暂时不想立刻掏钱,你真正需要的,是让 Office“以为”自己仍在授权期内。Ohook 就是干这个的:它不破解任何文件,只是让 Office 的许可证检查一路绿灯。
Office 的许可证检查,本质上是一次“你问我答”。Ohook 做的事情,是悄悄把答题的人换成了自己人。
Ohook 是什么:不是破解,是“会撒谎的传话人”
用大白话解释:Office 启动时会向系统提问“我的许可证还有效吗?”Ohook 在中间插了一脚,让回答永远是“有效”。
它做这件事的方式相当克制:
- 只接管一个关键函数:Office 启动时真正会查的只有
SLGetLicensingStatusInformation这一个函数,Ohook 只拦它; - 其余几十个函数原样转发:别的许可证相关调用全部转回系统原版库处理,不重写、不替代;
- 只动 Office 目录:文件只放进 Office 自己的安装目录,系统目录里的原版
sppc.dll一个字节都不碰。
换句话说,它像换了一个“好说话的保安”,而不是拆掉整栋楼的安保系统。
这几类人尤其值得花这几分钟:
- 学生党:论文、实验报告都要用到完整 Office;
- 自由职业者:偶尔使用高级功能,不愿背上长期订阅;
- 中小企业 IT:给员工批量部署,省下可观的软件预算;
- 开发者与测试:需要在多个 Office 版本环境里做兼容性验证。
先看传统激活方案的三座大山
在动手前,先横向看一遍市面上常见的路子,你就明白 Ohook 的位置了:
| 方案 | 大致原理 | 典型痛点 |
|---|---|---|
| KMS 激活 | 模拟企业批量激活服务器,客户端定期续期 | 普遍需要 180 天左右的续期机制,脚本/服务器一断就掉 |
| 替换文件 / 改注册表 | 直接改动 Office 或系统的授权文件 | 破坏性大,更新后容易失效,风险高 |
| 订阅付费 | 官方正途 | 需要持续支出 |
| Ohook | 只拦截许可证检查的返回值 | 在线功能不受影响,日常几乎零存在感 |
KMS 不是不好,它更适合有批量授权场景的组织;但对个人和中小团队来说,KMS 基础设施本身就是负担。Ohook 把“常驻服务、定期续期、改动系统”这几件麻烦事全部去掉了。
一张流程图看懂“瞒天过海”
Ohook 的运行链路并不复杂,全程只发生在 Office 启动的那一瞬间:
关键机关在文件布局上。部署完成后,Office 目录里是这样的:
%programfiles%\Microsoft Office\root\vfs\System\ ├── sppc.dll ← 刚放进去的 Ohook 钩子库 └── sppcs.dll ← 符号链接,指向 C:\Windows\System32\sppc.dll(系统原版)Windows 加载 DLL 时优先找程序自己目录里的文件,所以 Office 加载到的是 Ohook 的sppc.dll;而 Ohook 需要“转发”给系统原版时,就通过sppcs.dll这个符号链接找到真正的系统库。系统原版一个字节没动,只是借了一条“后门小路”——这也是它敢说自己“对系统零侵入”的原因。
动手前先花 2 分钟:认准版本、选对模式
Ohook 提供两个版本,别选错:
| 对比项 | 普通版(推荐) | Plus 版 |
|---|---|---|
| 拦截许可证检查 | ✅ | ✅ |
| 顺带改写注册表心跳值 | ❌ | ✅(把失败时间写到 2040 年) |
| 系统侵入程度 | 更小 | 稍大 |
| 杀毒软件误报概率 | 更低 | 略高 |
| 适用场景 | 绝大多数用户首选 | 出现许可证横幅时再考虑 |
普通版只做“拦截返回值”这一件事;Plus 版会额外写入注册表项HKCU\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency\TimeOfLastHeartbeatFailure,相当于告诉 Office“上次心跳失败发生在 2040 年”,从而跳过在线订阅检查。多数情况下普通版就够了,Plus 版留到遇到横幅问题时再用。
另外确认三件事:
- 系统是Windows 10 / 11,64 位系统配 64 位 Office 就用
sppc64.dll; - Office 是Click-to-Run(C2R)安装版(新版安装器默认就是),订阅版 / Microsoft 365 系列最适合;
- 命令行要以管理员身份运行。
想自己编译也不难:项目是标准 C 语言,Makefile 里写好了 MinGW 编译规则,一条make会同时产出 32/64 位的普通版和 Plus 版共四个 DLL。
Ohook 安装五步走(照着复制粘贴即可)
第 1 步:获取文件
git clone https://gitcode.com/gh_mirrors/oh/ohook cd ohook也可以直接下载编译好的 DLL(64 位系统用sppc64.dll)。
第 2 步:创建符号链接
以管理员身份打开命令提示符,把系统原版sppc.dll以sppcs.dll的名字“挂”到 Office 目录下:
mklink "%programfiles%\Microsoft Office\root\vfs\System\sppcs.dll" "%windir%\System32\sppc.dll"第 3 步:复制钩子库
copy /y sppc64.dll "%programfiles%\Microsoft Office\root\vfs\System\sppc.dll"第 4 步:安装空白密钥
根据你的版本选择对应密钥,用 Office 自带的 OSPP 工具安装(目录名可能随版本略有不同):
| 想解锁的版本 | 空白密钥 |
|---|---|
| Microsoft 365(家庭/个人订阅) | NBBBB-BBBBB-BBBBB-BBBBG-234RY |
| Microsoft 365 企业应用版 | NBBBB-BBBBB-BBBBB-BBBCF-PPK9C |
cscript "%programfiles%\Microsoft Office\Office16\OSPP.VBS" /inpkey:NBBBB-BBBBB-BBBBB-BBBBG-234RY第 5 步:重启验证
获取文件 → 创建符号链接 → 复制钩子库 → 安装空白密钥 → 重启 Office │ │ │ │ │ │ │ │ │ └─ 打开 Word 看账户状态 │ │ │ └─ 30 秒搞定 │ │ └─ 30 秒搞定 │ └─ 30 秒搞定 └─ 约 1 分钟全程算下来,通常一杯咖啡没喝完就装完了。
遇到“检查此设备许可证状态”横幅?改一行 hosts 即可
部分 Office 版本在许可证检查通过后,还会联网访问ols.officeapps.live.com查询订阅到期日。服务器查不到关联订阅,就会弹出一条“检查此设备许可证状态时出现问题”的横幅。
解决办法:编辑 hosts 文件(C:\Windows\System32\drivers\etc\hosts),加上一行:
0.0.0.0 ols.officeapps.live.com保存后重启 Office 即可。如果你已经选了 Plus 版,它改写注册表心跳值的逻辑已经覆盖了这条路径,一般不需要再动 hosts。注意只追加这一行,别误删 hosts 里原有的内容。
装完怎么验收、性能掉不掉、哪些功能依然没有
验收很简单:打开 Word,进入“文件 → 账户”,许可证显示已授权、没有黄色警告条,编辑、保存、宏、加载项、新版函数等功能全部可用。
至于性能,看一下它对系统做了什么就放心了:
| 检查项 | Ohook 的实际表现 |
|---|---|
| 启动耗时 | 仅启动时多执行一次函数拦截与改写,肉眼无感 |
| 常驻进程 | 无,随 Office 进程一起加载和释放 |
| 内存 / CPU | 运行期间占用可忽略 |
| 磁盘占用 | 仅增加约百 KB 级的两个文件 |
| 系统文件 | System32 中的原版 sppc.dll 完全不动 |
同时要有一说一,以下功能 Ohook 不会解锁:OneDrive 附赠的 1TB 存储、Python in Excel 这类云端在线能力,项目本身明确不支持。它解决的是“本地功能完整可用”这件事。
如果某次 Office 更新后功能又受限了,多半是更新把目录文件重置了——按上面五步重新部署一遍即可,属于常规维护。
你可能想问的几个问题(含避坑清单)
Q1:为什么不直接装 Mondo 2016 许可证?Mondo 是老版本许可证,对新版 Office 只做部分适配,产品策略文件里会缺新版本才有的策略项,哪些功能会受影响无法逐一验证。Ohook 用的是与你已装版本匹配的正式许可,功能对齐更可靠。
Q2:会被杀毒软件拦吗?普通版侵入性小,误报率低;如果被杀软标记,把相关文件加入白名单即可,并务必只从可信来源获取文件。
Q3:这是“永久”的吗?机制上,它让 Office 每次启动都能通过检查,不需要反复续期;如果 Office 大版本更新导致失效,重新部署一遍就好。
Q4:想还原怎么办?删除 OfficeSystem目录下的sppc.dll和sppcs.dll两个文件即可,系统本身没被动过,随时可逆。
Q5:出问题找谁?项目主要面向授权合作方发布,不直接对普通用户提供支持;遇到问题建议参考官方合作方文档与社区中的部署经验。
避坑清单速记:
- 命令行务必以管理员身份运行,否则
mklink会失败; - 32 位 Office 的安装路径可能是
Program Files (x86); - 空白密钥要和已装版本匹配,装错会白忙一场;
- 改 hosts 前先备份原文件,只追加、不删除。
现在就动手,给 Office 一次“解禁”的机会
如果你正被“未授权产品”的黄色横幅困扰,或想给公司机房统一铺一套免维护的 Office 方案,现在就可以按本文的五步试一遍——整个流程不到十分钟,随时可逆、不伤系统,试错成本几乎为零。也欢迎把你的使用体验、不同版本下的兼容情况反馈给社区,帮更多人避坑。
最后提醒一句:本工具适合技术研究、学习与测试场景。请在符合当地法律与软件许可协议的范围内使用,经济条件允许时,还是优先支持正版订阅。
【免费下载链接】ohookAn universal Office "activation" hook with main focus of enabling full functionality of subscription editions项目地址: https://gitcode.com/gh_mirrors/oh/ohook
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
