无需 KMS 也不用补丁:ohook 教你用一枚 DLL 实现 Office 永久激活(原理与实操全解)
无需 KMS 也不用补丁ohook 教你用一枚 DLL 实现 Office 永久激活原理与实操全解【免费下载链接】ohookAn universal Office activation hook with main focus of enabling full functionality of subscription editions项目地址: https://gitcode.com/gh_mirrors/oh/ohook深夜加班Word 顶部又亮起那条刺眼的红字许可证即将到期。你试过 180 天就得重新激活的 KMS试过一更新就失效的破解补丁也试过服务一关就作废的在线激活器。而 ohook 这个开源 Office 激活钩子工具提供了一条截然不同的路它不碰任何系统文件只靠替换一枚sppc.dll就能让订阅版 Microsoft 365 长期维持已授权状态。读完这篇 ohook 使用教程你不仅会部署还能真正看懂它凭什么能做到。先记住结论它改的不是 Office而是 Office 听到的答案如果把激活这件事比作公司门禁Office 就是每天刷卡进门的员工而系统里的许可证检查函数就是读卡器。传统方案要么撬锁改注册表、要么伪造工牌换证书本质都在和门禁系统硬碰硬。ohook 的思路完全不同它没有动门禁也没有动工牌只是在读卡器前放了一块翻译卡——当 Office 问我的许可证正常吗时把结果统一翻译成正常。核心机制只有一个钩子Office 每次启动都会调用系统 APISLGetLicensingStatusInformation来确认授权状态ohook 就在 Office 的加载目录里放一个冒名顶替的同名sppc.dll。Office 找不到系统目录里的真身优先加载了这个冒名者于是检查的流程还在回答的内容被悄悄换掉了。一次入职登记讲清钩子原理把启动过程翻译成人话就是一段三句对话Office我的许可证状态是什么系统 DLL未授权 / 已过期如实上报。ohook 的 DLL 插嘴稍等这个答案我来答——已授权有效期为 0 天宽限期归零原因码清空。关键在第 3 步。被钩住的函数并不是凭空捏造结果而是先调用真正的系统函数拿到原始数据再在返回前做一轮改写。这就是源码 sppc.c 里那段循环在做的事把符合条件的许可证状态从未授权改写为已授权同时清零dwGraceTime、hrReason等字段。Office 拿到的是一份看起来完全正常的体检报告自然不会再纠缠你。一枚 DLL 里的两副面孔拦截与转发各司其职有人会问只拦一个函数Office 调用其他 API 时不会露馅吗这正是 sppc.def 的设计精妙之处——它是整枚 DLL 的分工表LIBRARY sppc.dll EXPORTS ;hooked function SLGetLicensingStatusInformation SLGetLicensingStatusInformationHook ;everything else SLCallServer SPPCS.SLCallServer SLClose SPPCS.SLClose SLInstallLicense SPPCS.SLInstallLicense ...表里清清楚楚只有许可证状态检查这一个函数被钩住其余几十个系统 API 全部转发给SPPCS.前缀对应的真实实现。sppcs.dll是部署时通过符号链接指向系统真 DLL 的传话筒Office 需要的所有真实服务照常运转只有授权状态这一个答案被改写。这就解释了为什么它不需要修改任何系统文件系统文件一直在原地ohook 只是在 Office 的对话框里把话接住了。动手前先回答为什么不用现成的 Mondo 2016这是新手最常问的问题。Mondo 2016 许可证确实能让老版本 Office 全套跑起来并支持 KMS但它是为旧版设计的产品策略product policy缺少新版本的大量条目。而 Office 的功能开关恰恰由这些策略条目控制缺了哪一条无从验证某些新功能就可能悄悄失效。ohook 的做法是给当前安装版本的正式许可证套上钩子——许可证是版本对应的、功能是完整的钩子只负责让状态显示为已授权。这也是它兼容性的来源它改的从来不是 Office 的文件而是启动时的一次对话。第一步交叉编译一次make拿到四个 DLL项目基于 MinGW 交叉编译根目录的 Makefile 已经写好了全部规则。以 Windows 下安装 MinGW 为例git clone https://gitcode.com/gh_mirrors/oh/ohook cd ohook先打开 Makefile把PREFIX32、PREFIX64改成你本机 32/64 位 MinGW 的实际路径然后执行make一次编译会产出四个 DLLsppc32.dll、sppc64.dll对应普通版sppcplus32.dll、sppcplus64.dll对应增强版ohook。普通版和增强版用同一个源码文件编译区别只在于是否带上-DPLUS_BUILD宏后面会详细对比。第二步与第三步建立传话筒放下钩子以 64 位 C2RClick-to-Run安装的 Office 为例它的加载目录是%programfiles%\Microsoft Office\root\vfs\System\。在管理员权限的命令行里依次执行mklink %programfiles%\Microsoft Office\root\vfs\System\sppcs.dll %windir%\System32\sppc.dll copy /y sppc64.dll %programfiles%\Microsoft Office\root\vfs\System\sppc.dll第一行创建符号链接让sppcs.dll指向系统真正的sppc.dll——这是上文中转发功能的落地点第二行把编译好的钩子 DLL 以sppc.dll的名字放进加载目录让 Office 启动时优先选中它。两条命令都只作用于 Office 自己的目录系统文件分毫未动。最后一步给你的订阅版装上空白密钥给当前订阅版本安装一个空白密钥让 Office 认领对应的产品 SKUOffice 版本营销名称空白密钥O365HomePremMicrosoft 365 家庭版NBBBB-BBBBB-BBBBB-BBBBG-234RYO365ProPlusMicrosoft 365 企业应用版NBBBB-BBBBB-BBBBB-BBBCF-PPK9C到这里部署就完成了。重启 Word红色横幅消失订阅版功能全部可用。整个过程完全可逆删掉这两个文件系统恢复原状。普通版还是 ohook一张决策清单帮你选编译时会同时产出两个版本别纠结照着清单勾选即可默认选普通版。它只做一件事钩住许可证状态响应系统侵入性最低被安全软件误报的概率也更小。只有出现特定横幅时换 ohook。如果你看到检查此设备许可证状态时出现问题这类提示说明 Office 还在向在线服务确认订阅到期日。此时再用增强版——它会在HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\Licensing\Resiliency下把TimeOfLastHeartbeatFailure改写为2040-01-01T00:00:00Z让 Office 跳过在线心跳检查。一句话总结先上普通版遇到横幅再升级别一上来就用增强版。源码里那两行continue恰到好处的克制为什么 ohook 能兼容后续更新答案藏在 sppc.c 的核心循环里。它先调用真实接口拿到原始状态再逐条改写但有两个例外会被跳过for(int i 0; i *pnStatusCount; i) { if((*ppLicensingStatusi)-eStatus SL_LICENSING_STATUS_UNLICENSED) continue; if(IsGracePeriodProduct(hSLC, ((*ppLicensingStatusi)-SkuId))) continue; (*ppLicensingStatusi)-eStatus SL_LICENSING_STATUS_LICENSED; (*ppLicensingStatusi)-dwGraceTime 0; (*ppLicensingStatusi)-dwTotalGraceDays 0; (*ppLicensingStatusi)-hrReason 0; (*ppLicensingStatusi)-qwValidityExpiration 0; }第一个continue不碰未授权的 SKU第二个通过IsGracePeriodProduct跳过名称含 Grace 的宽限期产品——它只对本该有效的许可证说没问题。这种最小干预正是兼容性的来源不改 Office 文件、不伪造不存在的东西只是把真实存在的有效授权扶正了。三个容易踩的坑提前避开订阅横幅仍然出现。部分版本在许可证检查后还会访问ols.officeapps.live.com查询订阅到期日在 hosts 文件加一行即可0.0.0.0 ols.officeapps.live.com。杀毒软件误报。钩子 DLL 的行为容易被安全软件误判从官方仓库获取文件、优先使用普通版、加入白名单都比直接关闭防护稳妥。OneDrive 1TB、Python in Excel 管不到。这类在线功能依赖微软账号体系本地钩子无能为力ohook 也明确表示不会去管别抱不切实际的期望。收尾看懂原理你已经是那 1% 的明白人从一枚 DLL 的分工表到两行continue的克制ohook 把一个复杂问题做成了极简方案不动系统、不碰 Office 文件、随时可逆。如果你也在为 Microsoft 365 的订阅成本头疼不妨照着本文的 ohook 使用教程走一遍。遇到问题可以在项目仓库提交 issue或关注后续版本对更多 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),仅供参考

相关新闻

Java日期格式化避坑指南:yyyy与YYYY区别、LocalDateTime与时间戳转换

Java日期格式化避坑指南:yyyy与YYYY区别、LocalDateTime与时间戳转换

1. 项目概述:时间格式化的那些“坑”最近在做一个数据同步的项目,遇到了一个挺有意思的Bug。我们系统每天凌晨会生成一份前一天的运营数据报告,文件名里包含了日期,比如report-2024-12-31.csv。结果跨年那天,我们惊讶地…

2026/10/21 4:15:48 阅读更多 →
风光储(风机、光伏、储能)微电网并网仿真建模附Simulink

风光储(风机、光伏、储能)微电网并网仿真建模附Simulink

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/10/21 4:10:22 阅读更多 →
微信聊天记录永久保存完整指南:四步导出 HTML、Word、CSV 并生成年度报告

微信聊天记录永久保存完整指南:四步导出 HTML、Word、CSV 并生成年度报告

微信聊天记录永久保存完整指南:四步导出 HTML、Word、CSV 并生成年度报告 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub…

2026/10/20 19:28:10 阅读更多 →

最新新闻

技能不是玄学:一套可拆分、可迭代的个人能力管理方法论

技能不是玄学:一套可拆分、可迭代的个人能力管理方法论

“技能”这个词,这几年被讲得太烂了,烂到我一度听到就烦。什么“技能提升”“技能变现”“一技之长”,每个词都像在贩卖焦虑。但认真的讲,回头看这些年我能往前走的一点路,靠的还真就是“技能”这两个字。问题只在于&a…

2026/10/21 4:16:43 阅读更多 →
知识工作插件化:构建可复用的本地化思维外挂系统

知识工作插件化:构建可复用的本地化思维外挂系统

1. 项目概述:这不是插件,而是一套知识工作者的“思维外挂”系统“knowledge-work-plugins”这个标题乍看像某个开源仓库名,但拆开来看——knowledge(知识)、work(工作)、plugins(插件…

2026/10/21 4:16:43 阅读更多 →
Elasticsearch Java 客户端从 TransportClient 迁移到 9.x 新 API

Elasticsearch Java 客户端从 TransportClient 迁移到 9.x 新 API

一套运行在 Elasticsearch 5.6 上的 Java 服务要升级到 9.x,依赖换成新的 elasticsearch-java 之后,原先基于 TransportClient 和各种 *RequestBuilder 的封装全部编译不过。这不是简单的包名替换,客户端的编程模型已经整体换掉了。 问题现象 老代码的 Gradle 依赖是这样的…

2026/10/21 4:16:42 阅读更多 →
热力图绘制完全指南:从配色归一化到实操代码

热力图绘制完全指南:从配色归一化到实操代码

热力图,是我做数据分析这几年用得最顺手、出图最快、解释成本也最低的图表类型。你给业务方或同事丢一张颜色从浅到深的方块图,他们不用听你解释太多,自己就能看出哪里高、哪里低、哪里扎堆。很多人觉得热力图不过就是“把数值变成颜色”&…

2026/10/21 4:16:42 阅读更多 →
PE文件格式详解:从DOS头到节表的二进制分析基础

PE文件格式详解:从DOS头到节表的二进制分析基础

拿到一个二进制文件,很多人习惯先拖进工具里看字符串、看导入表,但我建议你先别急,把PE文件格式当一张“地图”来读。PE格式是Windows下可执行程序、动态库、驱动程序、甚至部分固件的通用骨架,搞逆向、做恶意代码分析、写加载器、…

2026/10/21 4:16:42 阅读更多 →
lingbot-map:自然语言驱动的空间语义理解系统

lingbot-map:自然语言驱动的空间语义理解系统

1. “lingbot-map”不是地图SDK,而是一个语义驱动的空间认知原型系统第一次看到“lingbot-map”这个名字时,我下意识去查了主流地图服务商的开放平台文档、GitHub上热门的地理可视化库,甚至翻了几个开源GIS项目的命名惯例——结果一无所获。它…

2026/10/21 4:15:42 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事:AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里,按宣传口径,本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”,而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起:用户到底在追求什么“封号重开”这四个字,放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流,背后是大量的时间和精力成本。正常情况下,没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”,而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时,就意识到:单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →