一、简述

  1. 声明:本方案仅供技术交流、学习,勿做其他任何用途,请支持正版。
  2. KMS仅限于VOL的版本激活,例如:Windows 10 的business editions是VOL的版本(商业版一般都是vol版本)。
  3. 搭建KMS思维:因为vlmcsd是一个模拟程序,所以不管是路由器还是pc机,只需要找到对的vlmcsd的版本运行起来就可以了。对于路由器来说不管官方的固件还是第三方的固件,只要能进入linux系统,那无需刷机就可以上kms服务(当然有些路由器也只有刷机才能使用ssh或者telnet登录路由器系统)。

二、准备路由器

  1. 路由器:斐讯K3C,基于openwrt的linux系统(这里以我的路由器K3C为例)。
    固件版本: 32.1.46.268 官方固件(目前(2018.7)为最新固件)。
  2. 这里利用K3C 268固件的一个BUG开启telnet服务,从而进入到系统内。

三、开启K3C的telnet服务(已经开启ssh或telnet的跳过)

  1. 先登录路由器web管理界面进入“功能设置”页面点选“家长控制”应用,如下图:
    斐讯K3C路由器无需刷机用vlmcsd搭建KMS服务器激活Windows&office
  2. 随便添加一个设备设置好允许上网时间段的策略后点击保存,如下图:斐讯K3C路由器无需刷机用vlmcsd搭建KMS服务器激活Windows&office
  3. 保存后在浏览器里打开开发人员工具(如何浏览器没有开发人员工具的话,就下载用这功能的浏览器,例如:谷歌浏览器。快捷键F12),打开发开人员工具后,在搜索框里查找 <tr class 找到在<tr class 这条里刚才设置允许上网设备的mac地址:如下图
    斐讯K3C路由器无需刷机用vlmcsd搭建KMS服务器激活Windows&office
  4. 在mac地址后面添加字符“ ;/usr/sbin/telnetd -l /bin/sh &”(不包括引号,注意前面有个分号,分号是紧跟着mac地址后面的),添加好后回车。然后继续在刚才创建的允许上网时间段里重新选择一个时间再保存,看到的效果如下图(会多出一条策略,其mac地址和刚才的设备相同):就表示telnet已经打开了。
    斐讯K3C路由器无需刷机用vlmcsd搭建KMS服务器激活Windows&office

四、搭建KMS服务器

  1. 下载vlmcsd,软件在这里:https://github.com/Wind4/vlmcsd 可以自己编译。这里我们直接就用编译好的vlmcsd,下载地址在这里:https://github.com/Wind4/vlmcsd/releases/download/svn1111/binaries.tar.gz
    linux也可以直接用wget下载然后用tar解压出来,最后解压得到一个binaries的文件夹。
  2. 说明下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盘拷贝到系统里面去很方便。
  3. 拷贝进去之后就可以运行了:

    #cd /vlmcsd所在路径
    #chmod 777 vlmcsd-mips32r2-openwrt-atheros-ar7xxx-ar9xxx-uclibc-static #赋权给该文件
    #./vlmcsd-mips32r2-openwrt-atheros-ar7xxx-ar9xxx-uclibc-static ##运行这个程序
    到这里kms服务器就搭建完成了。下面是自动运行部分。

  4. 创建脚本(是为了方便运行时不需要手动重复上面“先进入后运行”的两个步骤)

    #touch kms.sh #创建脚本,kms是脚本名称可自定义
    #vi kms.sh
    --------------------------------进入vi编辑器编辑kms.sh内容----------------------------------
    cd /vlmcsd文件目录
    ./vlmcsd-mips32r2-openwrt-atheros-ar7xxx-ar9xxx-uclibc-static
    --------------------------------保存kms.sh并退出vi编辑器----------------------------------

  5. 把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服务检测工具”来测试。

  6. Windows激活:
    右键管理员权限运行cmd(依次运行下面命令):

    cd /d "%SystemRoot%\system32"
    slmgr /skms 192.168.x.x #kms主机地址
    slmgr /ato

  7. 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里不管用,需要手动运行上面命令激活。