Aldebaran

人生最棒的感觉,就是你做到别人说你做不到的事。

0%

使用py-kms搭建KMS服务器

三田寺円

我们会经常碰到Windows操作系统或者office激活的问题,大多数人都会网上找一些key或者KMS激活工具,用key的话会出现各种key都无效,用KMS的话害怕下载下来的有病毒,或者下载下来后会被电脑的杀毒软件给误杀。下面我们来介绍如何自己搭建一台属于我们自己的KMS服务。

KMS激活原理

在使用 KMS 主机的环境中,批量激活过程如下:

  1. 将 KMS 安装到服务器上
  2. 将 KMS 主机密钥安装到 KMS 主机,然后联系微软进行激活
  3. KMS 启用后,每天启动的时候会在 DNS 中主次一条 SRV 记录
  4. 客户端通过配置的注册条目或者 DNS 中的 KMS SRV 记录发现 KMS 主机
  5. 客户端向 KMS 服务器的 TCP/1688 发送 RPC 请求,请求中包含一个加密的计算机 ID。如果该计算机尚未激活,并且 KMS 主机没有响应,客户端 2 小时后重新发送 请求。如果计算机已激活,客户端在 7 天后发送一个新请求。
  6. KMS 服务器将客户端计算机 ID 添加到一个表格中,并将激活计数返回给客户端
  7. 客户端将激活计数值与授权策略对比,如果满足激活阀值条件,则进行激活。

环境要求

安装

$ cd /data
$ pip install pytz
$ git clone https://github.com/SystemRage/py-kms
$ cd py-kms/py3-kms

运行

  • KMS Server

    # 查看当前的系统版本:
    $ wmic os get caption
    # 默认IPADDRESS为“0.0.0.0”,默认端口为“1688”。
    $ python3 server.py [IPADDRESS] [PORT]
    
    # 要运行客户端(仅用于测试目的),请使用
    $ python client.py IPADDRESS [PORT]。
    参数IPADDRESS始终是必需的,而默认端口是“1688”,所以有效的命令是:python client.py 0.0.0.0
    
    # 要显示帮助页面,请键入:python3 server.py -h和python3 client.py -h
    # 要生成一个随机的HWID类型:python3 randomHWID.py或直接在服务器上(带-w选项)python server.py -w random
    # 要从任何服务器获取HWID,请使用客户端,例如键入: python3 client.py 0.0.0.0 1688 -m Windows81 -v INFO
    # 要生成一个随机的EPID类型: python3 randomPID.py
    

    如果你的防火墙默认 DROP,那么需要手动放行1688端口

    • CentOS / Redhat / Fedora

      $ iptables -I INPUT -p tcp --dport 1688 -j ACCEPT
      
    • Debian / Ubuntu / Mint

      # 如果有 ufw 的话
      $ ufw allow 1688
      
  • KMS Client

    • 激活windows(这里以Win2012 DataCenter为例)

      # 查看当前的系统版本
      cmd> wmic os get caption
      # 安装公钥
      cmd> slmgr /ipk D2N9P-3P6X9-2R39C-7RTCD-MDVJX
      # 指定KMS服务器
      cmd> slmgr /skms 你的KMS服务端主机的IP或者域名
      # 请求KMS服务器进行激活
      cmd> slmgr /ato
      # 显示详细的许可证信息
      cmd> slmgr /xpr
      cmd> slmgr -dlv
      
    • 激活Office

      以 64 位的 Office2016 为例,进入 Office 目录

      cmd> cd "C:\Program Files\Microsoft Office\Office16"
      cmd> cscript ospp.vbs /sethst:你的KMS服务端主机的IP或者域名
      cmd> cscript ospp.vbs /act
      

      01

      02

参考文档

Deploy KMS Activation

CIA Hacking Tools Revealed

py-kms

py-kms

Linux一键搭建KMS激活服务器让PC激活Windows和Office