一、简述
- 声明:本方案仅供技术交流、学习,勿做其他任何用途,请支持正版。
- KMS仅限于VOL的版本激活,例如:Windows 10 的business editions是VOL的版本(商业版一般都是vol版本)。
- 搭建KMS思维:因为vlmcsd是一个模拟程序,所以不管是路由器还是pc机,只需要找到对的vlmcsd的版本运行起来就可以了。对于路由器来说不管官方的固件还是第三方的固件,只要能进入linux系统,那无需刷机就可以上kms服务(当然有些路由器也只有刷机才能使用ssh或者telnet登录路由器系统)。
二、准备路由器
- 路由器:斐讯K3C,基于openwrt的linux系统(这里以我的路由器K3C为例)。
固件版本: 32.1.46.268 官方固件(目前(2018.7)为最新固件)。 - 这里利用K3C 268固件的一个BUG开启telnet服务,从而进入到系统内。
三、开启K3C的telnet服务(已经开启ssh或telnet的跳过)
- 先登录路由器web管理界面进入“功能设置”页面点选“家长控制”应用,如下图:
- 随便添加一个设备设置好允许上网时间段的策略后点击保存,如下图:
- 保存后在浏览器里打开开发人员工具(如何浏览器没有开发人员工具的话,就下载用这功能的浏览器,例如:谷歌浏览器。快捷键F12),打开发开人员工具后,在搜索框里查找 <tr class 找到在<tr class 这条里刚才设置允许上网设备的mac地址:如下图
- 在mac地址后面添加字符“ ;/usr/sbin/telnetd -l /bin/sh &”(不包括引号,注意前面有个分号,分号是紧跟着mac地址后面的),添加好后回车。然后继续在刚才创建的允许上网时间段里重新选择一个时间再保存,看到的效果如下图(会多出一条策略,其mac地址和刚才的设备相同):就表示telnet已经打开了。
四、搭建KMS服务器
- 下载vlmcsd,软件在这里:https://github.com/Wind4/vlmcsd 可以自己编译。这里我们直接就用编译好的vlmcsd,下载地址在这里:https://github.com/Wind4/vlmcsd/releases/download/svn1111/binaries.tar.gz
linux也可以直接用wget下载然后用tar解压出来,最后解压得到一个binaries的文件夹。 - 说明下binaries这个文件夹:这里面包含了各个平台的vlmcsd。
K3C是openwrt系统(linux),框架是mips(openwrt几乎是这个构架),所以就用这个文件:Linux\mips\big-endian\static\vlmcsd-mips32r2-openwrt-atheros-ar7xxx-ar9xxx-uclibc-static(vlmcs开头的文件是用于测试的,vlmcsd才是kms服务器文件),把这个文件直接拷贝路由器的系统里面去(因为路由器的存储比较小,取这一个文件就可以了,其他的不要拷贝进去),K3C支持U盘,所以直接从U盘拷贝到系统里面去很方便。 - 拷贝进去之后就可以运行了:
#cd /vlmcsd所在路径
#chmod 777 vlmcsd-mips32r2-openwrt-atheros-ar7xxx-ar9xxx-uclibc-static #赋权给该文件
#./vlmcsd-mips32r2-openwrt-atheros-ar7xxx-ar9xxx-uclibc-static ##运行这个程序
到这里kms服务器就搭建完成了。下面是自动运行部分。 - 创建脚本(是为了方便运行时不需要手动重复上面“先进入后运行”的两个步骤)
#touch kms.sh #创建脚本,kms是脚本名称可自定义
#vi kms.sh
--------------------------------进入vi编辑器编辑kms.sh内容----------------------------------
cd /vlmcsd文件目录
./vlmcsd-mips32r2-openwrt-atheros-ar7xxx-ar9xxx-uclibc-static
--------------------------------保存kms.sh并退出vi编辑器---------------------------------- - 把kms.sh设置开机启动:
#touch vlmcs.sh #创建vlmcs脚本
#vi vlmcs.sh
--------------------------------进入vi编辑器编辑vlmcs.sh内容----------------------------------
#!/bin/sh /etc/rc.common
/init.d/vlmcs.sh
START=100
start()
{
sh /kms.sh脚本所在路径/kms.sh
}
------------------------------------保存vlmcs.sh并退出vi编辑器----------------------------------------
1.说明:100是启动的优先级,vlmcs.sh为该脚本名称,kms.sh为前面创建的脚本名称。
2.赋给vlmcs脚本可执行权限:
#chmod 777 vlmcs.sh
3.把vlmcs.sh移动到init.d目录下:
#mv vlmcs.sh /etc/init.d
4.把vlmcs.sh做软连接到rc.d目录:
#ln -s /etc/init.d/vlmcs.sh /etc/rc.d/S100vlmcs.sh
5.说明:软连接的名称注意S100+脚本名称,100为脚本里面设置的优先级。
6.重启路由器即可。重启后telnet自动关闭。PS:路由器恢复出厂设置不影响kms服务。
7.下载“KMS服务检测工具”来测试。 - Windows激活:
右键管理员权限运行cmd(依次运行下面命令):cd /d "%SystemRoot%\system32"
slmgr /skms 192.168.x.x #kms主机地址
slmgr /ato - office激活方法:
右键管理员权限运行cmd(依次运行下面命令):cd /d "%ProgramFiles%\Microsoft Office\Office15"
cscript ospp.vbs /sethst:192.168.x.x #kms主机地址
cscript ospp.vbs /act
cscript ospp.vbs /dstatus
1.说明:"%ProgramFiles%\Microsoft Office\Office15" 是Office2013—64位的目录。
2.关于自动激活,目前网上设置dns自动激活的方法(修改/etc/dnsmasq.conf添加srv记录)在K3C里不管用,需要手动运行上面命令激活。
来源:51CTO
作者:s511976
链接:https://blog.51cto.com/4553542/2143277