Ohook是一个专为Microsoft Office设计的通用功能启用钩子,主要功能是启用订阅版本的完整功能。该项目通过钩取系统许可证检查机制,为Office应用程序提供完整的订阅版功能体验。
核心原理与技术架构
Ohook的工作原理基于Windows软件保护平台(SPP)的许可证检查机制。系统通过sppc.dll库进行许可证状态验证,Ohook通过替换该库并钩取关键的SLGetLicensingStatusInformation函数来实现功能启用。
技术实现要点
- 函数钩取:拦截
SLGetLicensingStatusInformation系统调用 - 许可证状态模拟:返回正确的激活状态信息
- 系统兼容性:支持32位和64位Office安装
- 最小化侵入:保持系统稳定性同时实现功能
安装部署步骤
环境准备要求
| 组件 | 要求 | 说明 |
|---|---|---|
| Office版本 | C2R安装方式 | 点击即运行版本 |
| 系统架构 | 64位Windows | 兼容32/64位Office |
| 权限要求 | 管理员权限 | 需要系统文件操作 |
详细安装流程
-
创建系统库符号链接 在Office C2R系统的System目录中创建系统sppc.dll的符号链接:
mklink "%programfiles%\Microsoft Office\root\vfs\System\sppcs.dll" "%windir%\System32\sppc.dll" -
部署Ohook钩子库 将编译好的sppc64.dll复制到Office系统目录并重命名:
copy /y sppc64.dll "%programfiles%\Microsoft Office\root\vfs\System\sppc.dll" -
网络检查屏蔽(可选) 对于某些显示许可证状态检查问题的版本,在hosts文件中添加:
0.0.0.0 ols.officeapps.live.com -
安装空白产品标识 根据所需版本安装对应的空白产品标识
版本区别与选择建议
常规版 vs Plus版功能对比
| 特性 | 常规版Ohook | Ohook Plus版 |
|---|---|---|
| 许可证状态钩取 | ✅ 支持 | ✅ 支持 |
| 注册表修改 | ❌ 不支持 | ✅ 支持 |
| 在线检查屏蔽 | 需要手动配置 | 自动处理 |
| 系统侵入性 | 低 | 中等 |
| 杀软兼容性 | 高 | 中等 |
推荐使用场景
- 常规版Ohook:推荐大多数用户使用,系统影响小,兼容性好
- Plus版Ohook:适用于特定需要自动处理在线检查的场景
常见问题解答
许可证标识配置
项目提供了常用版本的空白标识:
| 版本标识 | 营销名称 | 空白标识 |
|---|---|---|
| O365HomePrem | Microsoft 365 | NBBBB-BBBBB-BBBBB-BBBBG-234RY |
| O365ProPlus | Microsoft 365 Apps | NBBBB-BBBBB-BBBBB-BBBCF-PPK9C |
功能限制说明
需要注意的是,Ohook只能启用本地功能,无法提供以下在线服务:
- OneDrive 1TB存储空间
- Excel中的Python功能
- 其他需要订阅验证的在线功能
技术支持政策
该项目主要面向合作伙伴发布,不直接向最终用户提供技术支持。建议通过授权合作伙伴获取使用支持和问题解答。
编译与自定义
项目采用MIT许可证发布,开发者可以根据需要自行编译和修改。Makefile提供了32位和64位版本的编译目标,支持常规版和Plus版的构建。
编译环境需要MinGW工具链,支持Windows下的交叉编译。项目结构清晰,便于理解和自定义功能扩展。
通过合理的配置和使用,Ohook可以为Microsoft Office用户提供完整的订阅版功能体验,同时保持系统的稳定性和安全性。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



