被需要激活弹窗折磨三周后我用3步在Office目录里埋了一枚叫ohook的钩子【免费下载链接】ohookAn universal Office activation hook with main focus of enabling full functionality of subscription editions项目地址: https://gitcode.com/gh_mirrors/oh/ohook周三下午两点你正赶一份第二天就要交的方案Word顶部却弹出一行黄字需要激活。你点了关闭五分钟后它又回来了还附赠一条红色横幅无产品。真正把这个问题一次解决的是藏在Office目录里的一枚钩子——它叫ohook是一个专治订阅版Office的Office激活钩子让微软365家族恢复到满血状态。先说那个下午的真实经历我的故事开始得并不体面。连续三周我每天都要和Word的许可证横幅玩你关我弹的游戏。功能没全锁但每开一个文档就跳一次提示就像有个推销员站在你工位旁边每隔五分钟重复一遍该续费了。我试过KMS180天一个轮回到期那天永远在我最忙的时候。也试过各种补丁结果更新一次Office补丁就阵亡一次。直到我翻到ohook这个项目它的第一句话就让我停住了一个通用的Office激活钩子。注意它没说破解说的是钩子。它是什么以及它坚决不是什么先把定义钉死免得后面产生误会。它是什么一个只有几KB的DLL钩子库通过替身方式接管Office启动时的一次许可证检查让订阅版Office认为自己持有有效许可。仓库里的核心逻辑全部集中在一个文件里sppc.c 总共也就一百来行。它不是不是密钥生成器不碰任何加密算法不是系统补丁不改写系统文件、不动内核不是后台驻留服务部署完就完事不用常驻内存更不是万能激活OneDrive的1TB存储、Python in Excel这类云端在线功能它一概不管——项目作者在FAQ里对这个问题的回答干脆利落No。这个是什么/不是什么想清楚了后面你就不会抱错期待。用大楼前台的故事讲透钩子原理别急着上手先花两分钟弄懂它凭什么能行。这个原理用一个场景就能讲明白。想象一栋办公楼前台负责接待所有访客。Office每次启动就像一位访客走到前台例行公事地提交请求确认一下我在楼里有合法工位吗 系统原本的前台会老实去翻会员系统发现你没续费于是回答没有。ohook做的事情很巧妙它把前台换成了自己人。访客的其他所有请求——问会议室在哪、找某位同事、借门禁卡——这位新前台都原样转给原来的同事处理唯独我有没有合法工位这个问题它永远笑眯眯地回答有的请进。访客进了楼该开会开会该用会议室用会议室一切照常。对应到代码里Office目录中的sppc.dll被换成了ohook编译的版本但它的导出表里只有SLGetLicensingStatusInformation这一个函数被动了手脚其余上百个函数全部转发给真实的系统库通过符号链接sppcs.dll指向System32\sppc.dll。也就是说整个系统只被骗了这一个回答其余全部原样放行。这就是为什么它和改文件、打补丁完全不同——它是搭了一座桥而不是拆了一堵墙。跟着我亲手走一遍3步部署部署的全部家当就是两个文件加一条命令。以64位系统的Office C2R安装为例官方步骤在 readme.md 里写得很清楚git clone https://gitcode.com/gh_mirrors/oh/ohook编译或直接取用sppc64.dll32位系统对应sppc32.dll然后打开管理员命令行依次做三件事第一步给系统库搭一座桥mklink %programfiles%\Microsoft Office\root\vfs\System\sppcs.dll %windir%\System32\sppc.dll第二步把钩子放到Office眼皮底下copy /y sppc64.dll %programfiles%\Microsoft Office\root\vfs\System\sppc.dll第三步安装一个空白密钥让Office知道自己装的是哪个版本拿不准就用营销名称去查版本营销名称空白密钥O365HomePremMicrosoft 365家庭版NBBBB-BBBBB-BBBBB-BBBBG-234RYO365ProPlusMicrosoft 365企业应用版NBBBB-BBBBB-BBBBB-BBBCF-PPK9C密钥装完重启Word横幅没了。整个过程五分钟全程只动了Office自己的目录系统层面只多了一条符号链接。更进一步普通版还是Plus版先看完这张表再决定项目提供两种构建很多人在这一步纠结。别纠结一张表搞定对比维度普通版ohookohook增强版核心行为只钩住许可证状态检查额外改写注册表心跳值系统改动仅一条符号链接会写入注册表项防误报表现更不容易被安全软件盯上改动更显眼适用人群绝大多数个人用户遇到订阅心跳检查横幅的人推荐度⭐ 首选⭐ 按需使用普通版的思路是能不动就不动Plus版会额外把TimeOfLastHeartbeatFailure这个注册表值改到未来用来阻止Office向微软服务器确认订阅到期时间在源码里对应PLUS_BUILD宏编译时加-DPLUS_BUILD即可构建。默认建议先用普通版只有当界面出现检查此设备许可证状态时出现问题之类的横幅再考虑升级到Plus版。四个最容易踩的坑我替你提前踩过了坑一装了却还弹检查许可证状态横幅。某些版本会偷偷联网问ols.officeapps.live.com要订阅到期日拿不到就弹通知。在hosts里加一行即可0.0.0.0 ols.officeapps.live.com坑二杀毒软件把钩子当病毒。它是DLL代理类技术的产物被误报很正常。优先用普通版把文件加入白名单并从官方仓库下载别碰第三方改版。坑三觉得它和Mondo许可证方案等价。这是项目FAQ里预判的头号问题。Mondo 2016许可证虽然也能让Office跑起来但那是老许可证缺少新版Office的部分策略项某些功能是否受影响根本无法验证ohook用的是与所装版本匹配的正式许可证功能完整性有保障。坑四指望它解锁在线功能。再次强调OneDrive容量、云端AI这类在线服务不在它的管辖范围本地功能满血不等于云端服务免费。动手之前把这三件事想清楚第一这个项目以MIT协议开源作者明确说项目主要面向授权合作伙伴发布不对普通用户提供直接技术支持——遇到问题社区和文档就是你的主要依靠。第二它只是让Office认为自己有合法许可属于灰色地带的工具。请把它用在技术研究和学习上遵守你所在地区的法律与软件许可协议有能力时支持正版。第三如果你只是想少一个弹窗、少一次续费焦虑它确实值得一试。仓库就在文章开头那个命令里clone下来翻一翻sppc.c和readme.md你会比我更快理解这枚钩子的全部秘密。哦对了我三周没再见过那条黄横幅了。希望你的Word也能安静下来。【免费下载链接】ohookAn universal Office activation hook with main focus of enabling full functionality of subscription editions项目地址: https://gitcode.com/gh_mirrors/oh/ohook创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考