py-kms is a Python-based emulator of Microsoft’s Key Management Service (KMS), designed to simulate activation servers for Windows and Microsoft Office volume licensing systems. It is derived from earlier implementations and reverse-engineered protocols, allowing it to respond to activation requests from client machines. The software supports multiple versions of the KMS protocol, enabling compatibility with a wide range of Windows and Office releases. It can be deployed in various environments, including standalone systems, Docker containers, and service managers like systemd, making it flexible for testing and development scenarios. The emulator includes features such as logging, configurable network parameters, and persistent storage using SQLite. While it is often used for testing activation workflows, it also serves as a practical example of protocol emulation and reverse engineering in software systems.
Features
- Emulation of Microsoft KMS activation server protocols
- Support for Windows and Office volume activation
- Compatibility with multiple KMS protocol versions
- SQLite-based persistence for activation data
- Deployable via Docker, systemd, or standalone execution
- Configurable logging and network parameters