From 0b2c216c06d7128422d9cd65cc6c9e3cfdfcefc6 Mon Sep 17 00:00:00 2001 From: Wind4 Date: Sun, 18 Sep 2016 11:30:46 +0800 Subject: [PATCH] vlmcsd-svn1016-2016-09-16-Hotbird64 --- GNUmakefile | 5 +- crypto.c | 100 +++++---- floppy144.vfd | Bin 1474560 -> 1474560 bytes kms.c | 475 ++++++++++++++++++++++--------------------- kms.h | 51 ++--- make_freebsd | 8 +- output.c | 10 +- vlmcs.1.html | 2 +- vlmcs.1.pdf | Bin 26351 -> 26351 bytes vlmcsd-floppy.7.html | 2 +- vlmcsd-floppy.7.pdf | Bin 35003 -> 35003 bytes vlmcsd.7.html | 2 +- vlmcsd.7.pdf | Bin 17301 -> 17301 bytes vlmcsd.8.html | 2 +- vlmcsd.8.pdf | Bin 39652 -> 39652 bytes vlmcsd.c | 74 ++----- vlmcsd.ini.5.html | 2 +- vlmcsd.ini.5.pdf | Bin 20918 -> 20918 bytes vlmcsdmulti.1.html | 2 +- vlmcsdmulti.1.pdf | Bin 10042 -> 10042 bytes 20 files changed, 360 insertions(+), 375 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index efc03d4..4807baa 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -211,7 +211,7 @@ ifeq ($(FEATURES), embedded) else ifeq ($(FEATURES), autostart) BASECFLAGS += -DNO_HELP -DNO_VERSION_INFORMATION else ifeq ($(FEATURES), minimum) - BASECFLAGS += -DSIMPLE_SOCKETS -DNO_TIMEOUT -DNO_SIGHUP -DNO_CL_PIDS -DNO_EXTENDED_PRODUCT_LIST -DNO_LOG -DNO_RANDOM_EPID -DNO_INI_FILE -DNO_HELP -DNO_CUSTOM_INTERVALS -DNO_PID_FILE -DNO_USER_SWITCH -DNO_VERBOSE_LOG -DNO_LIMIT -DNO_VERSION_INFORMATION -DNO_PRIVATE_IP_DETECT + BASECFLAGS += -DSIMPLE_SOCKETS -DNO_TIMEOUT -DNO_SIGHUP -DNO_CL_PIDS -DNO_EXTENDED_PRODUCT_LIST -DNO_BASIC_PRODUCT_LIST -DNO_LOG -DNO_RANDOM_EPID -DNO_INI_FILE -DNO_HELP -DNO_CUSTOM_INTERVALS -DNO_PID_FILE -DNO_USER_SWITCH -DNO_VERBOSE_LOG -DNO_LIMIT -DNO_VERSION_INFORMATION -DNO_PRIVATE_IP_DETECT -DSMALL_AES else ifeq ($(FEATURES), most) BASECFLAGS += -DNO_SIGHUP -DNO_PID_FILE -DNO_LIMIT else ifeq ($(FEATURES), inetd) @@ -658,13 +658,14 @@ help: @echo " -DNO_HELP Don't support command line help." @echo " -DNO_CUSTOM_INTERVALS Don't support custom intervals for retry and refresh activation. Removes -A and -R options." @echo " -DNO_FREEBIND Don't support binding to foreign IP addresses. Removes -F0 and -F1 options. Only affects FreeBSD and Linux." - @echo " -DSIMPLE_SOCKETS Compile $(PROGRAM_NAME) with basic socket support only. Removes -L option." @echo " -DNO_SOCKETS Don't support standalone operation. Requires an internet superserver to start $(PROGRAM_NAME)." @echo " -DNO_CL_PIDS Don't support specifying ePIDs and HwId from the command line in $(PROGRAM_NAME)." @echo " -DNO_LIMIT Don't support limiting concurrent clients in $(PROGRAM_NAME)." @echo " -DNO_SIGHUP Don't support SIGHUP handling in $(PROGRAM_NAME)." @echo " -DNO_VERSION_INFORMATION Don't support displaying version information in $(PROGRAM_NAME) and $(CLIENT_NAME). Removes -V option." @echo " -DNO_PRIVATE_IP_DETECT Don't support protection against clients with public IP addresses in $(PROGRAM_NAME)" + @echo " -DSIMPLE_SOCKETS Compile $(PROGRAM_NAME) with basic socket support only. Removes -L option." + @echo " -DSMALL_AES Use a smaller (saves about 200 bytes) but slower implementation of AES." @echo "" @echo "Troubleshooting options" @echo " CAT=1 Combine all sources in a single in-memory file and compile directly to target." diff --git a/crypto.c b/crypto.c index 042bfd8..52cdba8 100644 --- a/crypto.c +++ b/crypto.c @@ -17,28 +17,22 @@ const BYTE AesKeyV6[] = { 0xA9, 0x4A, 0x41, 0x95, 0xE2, 0x01, 0x43, 0x2D, 0x9B, 0xCB, 0x46, 0x04, 0x05, 0xD8, 0x4A, 0x21 }; static const BYTE SBox[] = { - 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B, - 0xFE, 0xD7, 0xAB, 0x76, 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0, - 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0, 0xB7, 0xFD, 0x93, 0x26, - 0x36, 0x3F, 0xF7, 0xCC, 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15, - 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A, 0x07, 0x12, 0x80, 0xE2, - 0xEB, 0x27, 0xB2, 0x75, 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0, - 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84, 0x53, 0xD1, 0x00, 0xED, - 0x20, 0xFC, 0xB1, 0x5B, 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF, - 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85, 0x45, 0xF9, 0x02, 0x7F, - 0x50, 0x3C, 0x9F, 0xA8, 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5, - 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2, 0xCD, 0x0C, 0x13, 0xEC, - 0x5F, 0x97, 0x44, 0x17, 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73, - 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88, 0x46, 0xEE, 0xB8, 0x14, - 0xDE, 0x5E, 0x0B, 0xDB, 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C, - 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79, 0xE7, 0xC8, 0x37, 0x6D, - 0x8D, 0xD5, 0x4E, 0xA9, 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08, - 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6, 0xE8, 0xDD, 0x74, 0x1F, - 0x4B, 0xBD, 0x8B, 0x8A, 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E, - 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E, 0xE1, 0xF8, 0x98, 0x11, - 0x69, 0xD9, 0x8E, 0x94, 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF, - 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, 0x41, 0x99, 0x2D, 0x0F, - 0xB0, 0x54, 0xBB, 0x16 + 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76, + 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0, 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0, + 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC, 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15, + 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A, 0x07, 0x12, 0x80, 0xE2, 0xEB, 0x27, 0xB2, 0x75, + 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0, 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84, + 0x53, 0xD1, 0x00, 0xED, 0x20, 0xFC, 0xB1, 0x5B, 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF, + 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85, 0x45, 0xF9, 0x02, 0x7F, 0x50, 0x3C, 0x9F, 0xA8, + 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5, 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2, + 0xCD, 0x0C, 0x13, 0xEC, 0x5F, 0x97, 0x44, 0x17, 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73, + 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88, 0x46, 0xEE, 0xB8, 0x14, 0xDE, 0x5E, 0x0B, 0xDB, + 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C, 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79, + 0xE7, 0xC8, 0x37, 0x6D, 0x8D, 0xD5, 0x4E, 0xA9, 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08, + 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6, 0xE8, 0xDD, 0x74, 0x1F, 0x4B, 0xBD, 0x8B, 0x8A, + 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E, 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E, + 0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 0x8E, 0x94, 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF, + 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16 }; @@ -221,31 +215,45 @@ void AesCmacV4(BYTE *Message, size_t MessageSize, BYTE *MacOut) #if !defined(_CRYPTO_OPENSSL) || !defined(_USE_AES_FROM_OPENSSL) +#ifndef SMALL_AES + static const BYTE SBoxR[] = { - 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38, 0xBF, 0x40, 0xA3, 0x9E, - 0x81, 0xF3, 0xD7, 0xFB, 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87, - 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB, 0x54, 0x7B, 0x94, 0x32, - 0xA6, 0xC2, 0x23, 0x3D, 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E, - 0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2, 0x76, 0x5B, 0xA2, 0x49, - 0x6D, 0x8B, 0xD1, 0x25, 0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16, - 0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92, 0x6C, 0x70, 0x48, 0x50, - 0xFD, 0xED, 0xB9, 0xDA, 0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84, - 0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A, 0xF7, 0xE4, 0x58, 0x05, - 0xB8, 0xB3, 0x45, 0x06, 0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02, - 0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B, 0x3A, 0x91, 0x11, 0x41, - 0x4F, 0x67, 0xDC, 0xEA, 0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73, - 0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85, 0xE2, 0xF9, 0x37, 0xE8, - 0x1C, 0x75, 0xDF, 0x6E, 0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89, - 0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B, 0xFC, 0x56, 0x3E, 0x4B, - 0xC6, 0xD2, 0x79, 0x20, 0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4, - 0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31, 0xB1, 0x12, 0x10, 0x59, - 0x27, 0x80, 0xEC, 0x5F, 0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D, - 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF, 0xA0, 0xE0, 0x3B, 0x4D, - 0xAE, 0x2A, 0xF5, 0xB0, 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61, - 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26, 0xE1, 0x69, 0x14, 0x63, - 0x55, 0x21, 0x0C, 0x7D + 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38, 0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB, + 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87, 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB, + 0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D, 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E, + 0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2, 0x76, 0x5B, 0xA2, 0x49, 0x6D, 0x8B, 0xD1, 0x25, + 0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92, + 0x6C, 0x70, 0x48, 0x50, 0xFD, 0xED, 0xB9, 0xDA, 0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84, + 0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A, 0xF7, 0xE4, 0x58, 0x05, 0xB8, 0xB3, 0x45, 0x06, + 0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02, 0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B, + 0x3A, 0x91, 0x11, 0x41, 0x4F, 0x67, 0xDC, 0xEA, 0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73, + 0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85, 0xE2, 0xF9, 0x37, 0xE8, 0x1C, 0x75, 0xDF, 0x6E, + 0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89, 0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B, + 0xFC, 0x56, 0x3E, 0x4B, 0xC6, 0xD2, 0x79, 0x20, 0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4, + 0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31, 0xB1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xEC, 0x5F, + 0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D, 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF, + 0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0, 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61, + 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26, 0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D }; +#define GetSBoxR(x) SBoxR[x] + +#else // SMALL_AES + +static uint8_t SBoxR(uint8_t byte) +{ + uint8_t i; + + for (i = 0; TRUE; i++) + { + if (byte == SBox[i]) return i; + } +} + +#define GetSBoxR(x) SBoxR(x) + +#endif // SMALL_AES + static void ShiftRowsR(BYTE *state) { @@ -264,7 +272,9 @@ static void SubBytesR(BYTE *block) uint_fast8_t i; for (i = 0; i < AES_BLOCK_BYTES; i++) - block[i] = SBoxR[ block[i] ]; + { + block[i] = GetSBoxR( block[i] ); + } } diff --git a/floppy144.vfd b/floppy144.vfd index c6518dd8c0dd2cd79548adf704ada0013b3dc4f9..2ed1620aca39ad99c744acf816ff549869609906 100644 GIT binary patch delta 79346 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
sIx<%3QB3_I?dM9KP+B)|Jg!Yu?S+ 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 delta 79374 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⪻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

*~AAu3+#G)9uGZ#Pa4{TlaWlnpKqB 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 diff --git a/kms.c b/kms.c index 7b185c3..6aae692 100644 --- a/kms.c +++ b/kms.c @@ -24,268 +24,279 @@ #define FRIENDLY_NAME_OFFICE2013 "Office 2013+" #ifndef IS_LIBRARY -#ifndef NO_BASIC_PRODUCT_LIST + +#ifdef NO_LOG +#define LOGTEXT(x) "" +#else //!NO_LOG +#define LOGTEXT(x) x +#endif // !NO_LOG + // Do not change the order of this list. Append items as necessary const KmsIdList ProductList[] = { - /* 000 */ { { 0x212a64dc, 0x43b1, 0x4d3d, { 0xa3, 0x0c, 0x2f, 0xc6, 0x9d, 0x20, 0x95, 0xc6, } } /*212a64dc-43b1-4d3d-a30c-2fc69d2095c6*/, "Windows Vista", EPID_WINDOWS, 4, 25 }, - /* 001 */ { { 0x7fde5219, 0xfbfa, 0x484a, { 0x82, 0xc9, 0x34, 0xd1, 0xad, 0x53, 0xe8, 0x56, } } /*7fde5219-fbfa-484a-82c9-34d1ad53e856*/, "Windows 7", EPID_WINDOWS, 4, 25 }, - /* 002 */ { { 0x3c40b358, 0x5948, 0x45af, { 0x92, 0x3b, 0x53, 0xd2, 0x1f, 0xcc, 0x7e, 0x79, } } /*3c40b358-5948-45af-923b-53d21fcc7e79*/, "Windows 8 (Volume)", EPID_WINDOWS, 5, 25 }, - /* 003 */ { { 0x5f94a0bb, 0xd5a0, 0x4081, { 0xa6, 0x85, 0x58, 0x19, 0x41, 0x8b, 0x2f, 0xe0, } } /*5f94a0bb-d5a0-4081-a685-5819418b2fe0*/, "Windows Preview", EPID_WINDOWS, 5, 25 }, - /* 004 */ { { 0xbbb97b3b, 0x8ca4, 0x4a28, { 0x97, 0x17, 0x89, 0xfa, 0xbd, 0x42, 0xc4, 0xac, } } /*bbb97b3b-8ca4-4a28-9717-89fabd42c4ac*/, "Windows 8 (Retail)", EPID_WINDOWS, 5, 25 }, - /* 005 */ { { 0xcb8fc780, 0x2c05, 0x495a, { 0x97, 0x10, 0x85, 0xaf, 0xff, 0xc9, 0x04, 0xd7, } } /*cb8fc780-2c05-495a-9710-85afffc904d7*/, "Windows 8.1 (Volume)", EPID_WINDOWS, 6, 25 }, - /* 006 */ { { 0x6d646890, 0x3606, 0x461a, { 0x86, 0xab, 0x59, 0x8b, 0xb8, 0x4a, 0xce, 0x82, } } /*6d646890-3606-461a-86ab-598bb84ace82*/, "Windows 8.1 (Retail)", EPID_WINDOWS, 6, 25 }, - /* 007 */ { { 0x33e156e4, 0xb76f, 0x4a52, { 0x9f, 0x91, 0xf6, 0x41, 0xdd, 0x95, 0xac, 0x48, } } /*33e156e4-b76f-4a52-9f91-f641dd95ac48*/, "Windows Server 2008 A (Web and HPC)", EPID_WINDOWS, 4, 5 }, - /* 008 */ { { 0x8fe53387, 0x3087, 0x4447, { 0x89, 0x85, 0xf7, 0x51, 0x32, 0x21, 0x5a, 0xc9, } } /*8fe53387-3087-4447-8985-f75132215ac9*/, "Windows Server 2008 B (Standard and Enterprise)", EPID_WINDOWS, 4, 5 }, - /* 009 */ { { 0x8a21fdf3, 0xcbc5, 0x44eb, { 0x83, 0xf3, 0xfe, 0x28, 0x4e, 0x66, 0x80, 0xa7, } } /*8a21fdf3-cbc5-44eb-83f3-fe284e6680a7*/, "Windows Server 2008 C (Datacenter)", EPID_WINDOWS, 4, 5 }, - /* 010 */ { { 0x0fc6ccaf, 0xff0e, 0x4fae, { 0x9d, 0x08, 0x43, 0x70, 0x78, 0x5b, 0xf7, 0xed, } } /*0fc6ccaf-ff0e-4fae-9d08-4370785bf7ed*/, "Windows Server 2008 R2 A (Web and HPC)", EPID_WINDOWS, 4, 5 }, - /* 011 */ { { 0xca87f5b6, 0xcd46, 0x40c0, { 0xb0, 0x6d, 0x8e, 0xcd, 0x57, 0xa4, 0x37, 0x3f, } } /*ca87f5b6-cd46-40c0-b06d-8ecd57a4373f*/, "Windows Server 2008 R2 B (Standard and Enterprise)", EPID_WINDOWS, 4, 5 }, - /* 012 */ { { 0xb2ca2689, 0xa9a8, 0x42d7, { 0x93, 0x8d, 0xcf, 0x8e, 0x9f, 0x20, 0x19, 0x58, } } /*b2ca2689-a9a8-42d7-938d-cf8e9f201958*/, "Windows Server 2008 R2 C (Datacenter)", EPID_WINDOWS, 4, 5 }, - /* 013 */ { { 0x8665cb71, 0x468c, 0x4aa3, { 0xa3, 0x37, 0xcb, 0x9b, 0xc9, 0xd5, 0xea, 0xac, } } /*8665cb71-468c-4aa3-a337-cb9bc9d5eaac*/, "Windows Server 2012", EPID_WINDOWS, 5, 5 }, - /* 014 */ { { 0x8456efd3, 0x0c04, 0x4089, { 0x87, 0x40, 0x5b, 0x72, 0x38, 0x53, 0x5a, 0x65, } } /*8456efd3-0c04-4089-8740-5b7238535a65*/, "Windows Server 2012 R2", EPID_WINDOWS, 6, 5 }, - /* 015 */ { { 0xe85af946, 0x2e25, 0x47b7, { 0x83, 0xe1, 0xbe, 0xbc, 0xeb, 0xea, 0xc6, 0x11, } } /*e85af946-2e25-47b7-83e1-bebcebeac611*/, "Office 2010", EPID_OFFICE2010, 4, 5 }, - /* 016 */ { { 0xe6a6f1bf, 0x9d40, 0x40c3, { 0xaa, 0x9f, 0xc7, 0x7b, 0xa2, 0x15, 0x78, 0xc0, } } /*e6a6f1bf-9d40-40c3-aa9f-c77ba21578c0*/, "Office 2013", EPID_OFFICE2013, 5, 5 }, - /* 017 */ { { 0x6d5f5270, 0x31ac, 0x433e, { 0xb9, 0x0a, 0x39, 0x89, 0x29, 0x23, 0xc6, 0x57, } } /*6d5f5270-31ac-433e-b90a-39892923c657*/, "Windows Server Preview", EPID_WINDOWS, 6, 5 }, - /* 018 */ { { 0x85b5f61b, 0x320b, 0x4be3, { 0x81, 0x4a, 0xb7, 0x6b, 0x2b, 0xfa, 0xfc, 0x82, } } /*85b5f61b-320b-4be3-814a-b76b2bfafc82*/, "Office 2016", EPID_OFFICE2016, 6, 5 }, - /* 019 */ { { 0x58e2134f, 0x8e11, 0x4d17, { 0x9c, 0xb2, 0x91, 0x06, 0x9c, 0x15, 0x11, 0x48, } } /*58e2134f-8e11-4d17-9cb2-91069c151148*/, "Windows 10 2015 (Volume)", EPID_WINDOWS, 6, 25 }, - /* 020 */ { { 0xe1c51358, 0xfe3e, 0x4203, { 0xa4, 0xa2, 0x3b, 0x6b, 0x20, 0xc9, 0x73, 0x4e, } } /*e1c51358-fe3e-4203-a4a2-3b6b20c9734e*/, "Windows 10 (Retail)", EPID_WINDOWS, 6, 25 }, - /* 021 */ { { 0x6e9fc069, 0x257d, 0x4bc4, { 0xb4, 0xa7, 0x75, 0x05, 0x14, 0xd3, 0x27, 0x43, } } /*6e9fc069-257d-4bc4-b4a7-750514d32743*/, "Windows Server 2016", EPID_WINDOWS, 6, 5 }, - /* 022 */ { { 0xaa4c7968, 0xb9da, 0x4680, { 0x92, 0xb6, 0xac, 0xb2, 0x5e, 0x2f, 0x86, 0x6c, } } /*aa4c7968-b9da-4680-92b6-acb25e2f866c*/, "Office 2013 (Pre-Release)", EPID_OFFICE2013, 5, 5 }, - /* 023 */ { { 0x969fe3c0, 0xa3ec, 0x491a, { 0x9f, 0x25, 0x42, 0x36, 0x05, 0xde, 0xb3, 0x65, } } /*969fe3c0-a3ec-491a-9f25-423605deb365*/, "Windows 10 2016 (Volume)", EPID_WINDOWS, 6, 25 }, - /* 024 */ { { 0x00000000, 0x0000, 0x0000, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, NULL, NULL, 0, 0 } + /* 000 */ { { 0xe85af946, 0x2e25, 0x47b7, { 0x83, 0xe1, 0xbe, 0xbc, 0xeb, 0xea, 0xc6, 0x11, } } /*e85af946-2e25-47b7-83e1-bebcebeac611*/, LOGTEXT("Office 2010"), EPID_OFFICE2010, 4, 5 }, + /* 001 */ { { 0xe6a6f1bf, 0x9d40, 0x40c3, { 0xaa, 0x9f, 0xc7, 0x7b, 0xa2, 0x15, 0x78, 0xc0, } } /*e6a6f1bf-9d40-40c3-aa9f-c77ba21578c0*/, LOGTEXT("Office 2013"), EPID_OFFICE2013, 5, 5 }, + /* 002 */ { { 0xaa4c7968, 0xb9da, 0x4680, { 0x92, 0xb6, 0xac, 0xb2, 0x5e, 0x2f, 0x86, 0x6c, } } /*aa4c7968-b9da-4680-92b6-acb25e2f866c*/, LOGTEXT("Office 2013 (Pre-Release)"), EPID_OFFICE2013, 5, 5 }, + /* 003 */ { { 0x85b5f61b, 0x320b, 0x4be3, { 0x81, 0x4a, 0xb7, 0x6b, 0x2b, 0xfa, 0xfc, 0x82, } } /*85b5f61b-320b-4be3-814a-b76b2bfafc82*/, LOGTEXT("Office 2016"), EPID_OFFICE2016, 6, 5 }, +# ifndef NO_BASIC_PRODUCT_LIST + /* 004 */ { { 0x212a64dc, 0x43b1, 0x4d3d, { 0xa3, 0x0c, 0x2f, 0xc6, 0x9d, 0x20, 0x95, 0xc6, } } /*212a64dc-43b1-4d3d-a30c-2fc69d2095c6*/, LOGTEXT("Windows Vista"), EPID_WINDOWS, 4, 25 }, + /* 005 */ { { 0x7fde5219, 0xfbfa, 0x484a, { 0x82, 0xc9, 0x34, 0xd1, 0xad, 0x53, 0xe8, 0x56, } } /*7fde5219-fbfa-484a-82c9-34d1ad53e856*/, LOGTEXT("Windows 7"), EPID_WINDOWS, 4, 25 }, + /* 006 */ { { 0x3c40b358, 0x5948, 0x45af, { 0x92, 0x3b, 0x53, 0xd2, 0x1f, 0xcc, 0x7e, 0x79, } } /*3c40b358-5948-45af-923b-53d21fcc7e79*/, LOGTEXT("Windows 8 (Volume)"), EPID_WINDOWS, 5, 25 }, + /* 007 */ { { 0x5f94a0bb, 0xd5a0, 0x4081, { 0xa6, 0x85, 0x58, 0x19, 0x41, 0x8b, 0x2f, 0xe0, } } /*5f94a0bb-d5a0-4081-a685-5819418b2fe0*/, LOGTEXT("Windows Preview"), EPID_WINDOWS, 5, 25 }, + /* 008 */ { { 0xbbb97b3b, 0x8ca4, 0x4a28, { 0x97, 0x17, 0x89, 0xfa, 0xbd, 0x42, 0xc4, 0xac, } } /*bbb97b3b-8ca4-4a28-9717-89fabd42c4ac*/, LOGTEXT("Windows 8 (Retail)"), EPID_WINDOWS, 5, 25 }, + /* 009 */ { { 0xcb8fc780, 0x2c05, 0x495a, { 0x97, 0x10, 0x85, 0xaf, 0xff, 0xc9, 0x04, 0xd7, } } /*cb8fc780-2c05-495a-9710-85afffc904d7*/, LOGTEXT("Windows 8.1 (Volume)"), EPID_WINDOWS, 6, 25 }, + /* 010 */ { { 0x6d646890, 0x3606, 0x461a, { 0x86, 0xab, 0x59, 0x8b, 0xb8, 0x4a, 0xce, 0x82, } } /*6d646890-3606-461a-86ab-598bb84ace82*/, LOGTEXT("Windows 8.1 (Retail)"), EPID_WINDOWS, 6, 25 }, + /* 011 */ { { 0x33e156e4, 0xb76f, 0x4a52, { 0x9f, 0x91, 0xf6, 0x41, 0xdd, 0x95, 0xac, 0x48, } } /*33e156e4-b76f-4a52-9f91-f641dd95ac48*/, LOGTEXT("Windows Server 2008 A (Web and HPC)"), EPID_WINDOWS, 4, 5 }, + /* 012 */ { { 0x8fe53387, 0x3087, 0x4447, { 0x89, 0x85, 0xf7, 0x51, 0x32, 0x21, 0x5a, 0xc9, } } /*8fe53387-3087-4447-8985-f75132215ac9*/, LOGTEXT("Windows Server 2008 B (Standard and Enterprise)"), EPID_WINDOWS, 4, 5 }, + /* 013 */ { { 0x8a21fdf3, 0xcbc5, 0x44eb, { 0x83, 0xf3, 0xfe, 0x28, 0x4e, 0x66, 0x80, 0xa7, } } /*8a21fdf3-cbc5-44eb-83f3-fe284e6680a7*/, LOGTEXT("Windows Server 2008 C (Datacenter)"), EPID_WINDOWS, 4, 5 }, + /* 014 */ { { 0x0fc6ccaf, 0xff0e, 0x4fae, { 0x9d, 0x08, 0x43, 0x70, 0x78, 0x5b, 0xf7, 0xed, } } /*0fc6ccaf-ff0e-4fae-9d08-4370785bf7ed*/, LOGTEXT("Windows Server 2008 R2 A (Web and HPC)"), EPID_WINDOWS, 4, 5 }, + /* 015 */ { { 0xca87f5b6, 0xcd46, 0x40c0, { 0xb0, 0x6d, 0x8e, 0xcd, 0x57, 0xa4, 0x37, 0x3f, } } /*ca87f5b6-cd46-40c0-b06d-8ecd57a4373f*/, LOGTEXT("Windows Server 2008 R2 B (Standard and Enterprise)"), EPID_WINDOWS, 4, 5 }, + /* 016 */ { { 0xb2ca2689, 0xa9a8, 0x42d7, { 0x93, 0x8d, 0xcf, 0x8e, 0x9f, 0x20, 0x19, 0x58, } } /*b2ca2689-a9a8-42d7-938d-cf8e9f201958*/, LOGTEXT("Windows Server 2008 R2 C (Datacenter)"), EPID_WINDOWS, 4, 5 }, + /* 017 */ { { 0x8665cb71, 0x468c, 0x4aa3, { 0xa3, 0x37, 0xcb, 0x9b, 0xc9, 0xd5, 0xea, 0xac, } } /*8665cb71-468c-4aa3-a337-cb9bc9d5eaac*/, LOGTEXT("Windows Server 2012"), EPID_WINDOWS, 5, 5 }, + /* 018 */ { { 0x8456efd3, 0x0c04, 0x4089, { 0x87, 0x40, 0x5b, 0x72, 0x38, 0x53, 0x5a, 0x65, } } /*8456efd3-0c04-4089-8740-5b7238535a65*/, LOGTEXT("Windows Server 2012 R2"), EPID_WINDOWS, 6, 5 }, + /* 019 */ { { 0x6d5f5270, 0x31ac, 0x433e, { 0xb9, 0x0a, 0x39, 0x89, 0x29, 0x23, 0xc6, 0x57, } } /*6d5f5270-31ac-433e-b90a-39892923c657*/, LOGTEXT("Windows Server Preview"), EPID_WINDOWS, 6, 5 }, + /* 020 */ { { 0x58e2134f, 0x8e11, 0x4d17, { 0x9c, 0xb2, 0x91, 0x06, 0x9c, 0x15, 0x11, 0x48, } } /*58e2134f-8e11-4d17-9cb2-91069c151148*/, LOGTEXT("Windows 10 2015 (Volume)"), EPID_WINDOWS, 6, 25 }, + /* 021 */ { { 0xe1c51358, 0xfe3e, 0x4203, { 0xa4, 0xa2, 0x3b, 0x6b, 0x20, 0xc9, 0x73, 0x4e, } } /*e1c51358-fe3e-4203-a4a2-3b6b20c9734e*/, LOGTEXT("Windows 10 (Retail)"), EPID_WINDOWS, 6, 25 }, + /* 022 */ { { 0x6e9fc069, 0x257d, 0x4bc4, { 0xb4, 0xa7, 0x75, 0x05, 0x14, 0xd3, 0x27, 0x43, } } /*6e9fc069-257d-4bc4-b4a7-750514d32743*/, LOGTEXT("Windows Server 2016"), EPID_WINDOWS, 6, 5 }, + /* 023 */ { { 0x969fe3c0, 0xa3ec, 0x491a, { 0x9f, 0x25, 0x42, 0x36, 0x05, 0xde, 0xb3, 0x65, } } /*969fe3c0-a3ec-491a-9f25-423605deb365*/, LOGTEXT("Windows 10 2016 (Volume)"), EPID_WINDOWS, 6, 25 }, +# endif // NO_BASIC_PRODUCT_LIST + /* 024 */ { { 0x00000000, 0x0000, 0x0000, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, } }, NULL, NULL, 0, 0 } }; -#endif +#ifndef NO_LOG // Application ID is used by KMS server to count KeyManagementServiceCurrentCount // Do not change the order of this list. Append items as necessary const KmsIdList AppList[] = { - /* 000 */ { { 0x55c92734, 0xd682, 0x4d71, { 0x98, 0x3e, 0xd6, 0xec, 0x3f, 0x16, 0x05, 0x9f } } /*"55C92734-D682-4D71-983E-D6EC3F16059F"*/, FRIENDLY_NAME_WINDOWS, EPID_WINDOWS, 0, 0}, - /* 001 */ { { 0x59A52881, 0xa989, 0x479d, { 0xaf, 0x46, 0xf2, 0x75, 0xc6, 0x37, 0x06, 0x63 } } /*"59A52881-A989-479D-AF46-F275C6370663"*/, FRIENDLY_NAME_OFFICE2010, EPID_OFFICE2010, 0, 0}, - /* 002 */ { { 0x0FF1CE15, 0xA989, 0x479D, { 0xaf, 0x46, 0xf2, 0x75, 0xc6, 0x37, 0x06, 0x63 } } /*"0FF1CE15-A989-479D-AF46-F275C6370663"*/, FRIENDLY_NAME_OFFICE2013, EPID_OFFICE2013, 0, 0}, + /* 000 */ { { 0x55c92734, 0xd682, 0x4d71, { 0x98, 0x3e, 0xd6, 0xec, 0x3f, 0x16, 0x05, 0x9f } } /*"55C92734-D682-4D71-983E-D6EC3F16059F"*/, LOGTEXT(FRIENDLY_NAME_WINDOWS), EPID_WINDOWS, 0, 0}, + /* 001 */ { { 0x59A52881, 0xa989, 0x479d, { 0xaf, 0x46, 0xf2, 0x75, 0xc6, 0x37, 0x06, 0x63 } } /*"59A52881-A989-479D-AF46-F275C6370663"*/, LOGTEXT(FRIENDLY_NAME_OFFICE2010), EPID_OFFICE2010, 0, 0}, + /* 002 */ { { 0x0FF1CE15, 0xA989, 0x479D, { 0xaf, 0x46, 0xf2, 0x75, 0xc6, 0x37, 0x06, 0x63 } } /*"0FF1CE15-A989-479D-AF46-F275C6370663"*/, LOGTEXT(FRIENDLY_NAME_OFFICE2013), EPID_OFFICE2013, 0, 0}, /* 003 */ { { 0x00000000, 0x0000, 0x0000, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, NULL, NULL, 0, 0 } }; +#endif // NO_LOG #ifndef NO_EXTENDED_PRODUCT_LIST const KmsIdList ExtendedProductList [] = { // Windows 10 (Retail) - { { 0x58e97c99, 0xf377, 0x4ef1, { 0x81, 0xd5, 0x4a, 0xd5, 0x52, 0x2b, 0x5f, 0xd8, } } /*58e97c99-f377-4ef1-81d5-4ad5522b5fd8*/, "Windows 10 Home", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_RETAIL }, - { { 0xa9107544, 0xf4a0, 0x4053, { 0xa9, 0x6a, 0x14, 0x79, 0xab, 0xde, 0xf9, 0x12, } } /*a9107544-f4a0-4053-a96a-1479abdef912*/, "Windows 10 Home Country Specific", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_RETAIL }, - { { 0x7b9e1751, 0xa8da, 0x4f75, { 0x95, 0x60, 0x5f, 0xad, 0xfe, 0x3d, 0x8e, 0x38, } } /*7b9e1751-a8da-4f75-9560-5fadfe3d8e38*/, "Windows 10 Home N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_RETAIL }, - { { 0xcd918a57, 0xa41b, 0x4c82, { 0x8d, 0xce, 0x1a, 0x53, 0x8e, 0x22, 0x1a, 0x83, } } /*cd918a57-a41b-4c82-8dce-1a538e221a83*/, "Windows 10 Home Single Language", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_RETAIL }, + { { 0x58e97c99, 0xf377, 0x4ef1, { 0x81, 0xd5, 0x4a, 0xd5, 0x52, 0x2b, 0x5f, 0xd8, } } /*58e97c99-f377-4ef1-81d5-4ad5522b5fd8*/, LOGTEXT("Windows 10 Home"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_RETAIL }, + { { 0xa9107544, 0xf4a0, 0x4053, { 0xa9, 0x6a, 0x14, 0x79, 0xab, 0xde, 0xf9, 0x12, } } /*a9107544-f4a0-4053-a96a-1479abdef912*/, LOGTEXT("Windows 10 Home Country Specific"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_RETAIL }, + { { 0x7b9e1751, 0xa8da, 0x4f75, { 0x95, 0x60, 0x5f, 0xad, 0xfe, 0x3d, 0x8e, 0x38, } } /*7b9e1751-a8da-4f75-9560-5fadfe3d8e38*/, LOGTEXT("Windows 10 Home N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_RETAIL }, + { { 0xcd918a57, 0xa41b, 0x4c82, { 0x8d, 0xce, 0x1a, 0x53, 0x8e, 0x22, 0x1a, 0x83, } } /*cd918a57-a41b-4c82-8dce-1a538e221a83*/, LOGTEXT("Windows 10 Home Single Language"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_RETAIL }, // Windows 10 2015 (Volume) - { { 0xe0c42288, 0x980c, 0x4788, { 0xa0, 0x14, 0xc0, 0x80, 0xd2, 0xe1, 0x92, 0x6e, } } /*e0c42288-980c-4788-a014-c080d2e1926e*/, "Windows 10 Education", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0x3c102355, 0xd027, 0x42c6, { 0xad, 0x23, 0x2e, 0x7e, 0xf8, 0xa0, 0x25, 0x85, } } /*3c102355-d027-42c6-ad23-2e7ef8a02585*/, "Windows 10 Education N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0x73111121, 0x5638, 0x40f6, { 0xbc, 0x11, 0xf1, 0xd7, 0xb0, 0xd6, 0x43, 0x00, } } /*73111121-5638-40f6-bc11-f1d7b0d64300*/, "Windows 10 Enterprise", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0x7b51a46c, 0x0c04, 0x4e8f, { 0x9a, 0xf4, 0x84, 0x96, 0xcc, 0xa9, 0x0d, 0x5e, } } /*7b51a46c-0c04-4e8f-9af4-8496cca90d5e*/, "Windows 10 Enterprise 2015 LTSB", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0x87b838b7, 0x41b6, 0x4590, { 0x83, 0x18, 0x57, 0x97, 0x95, 0x1d, 0x85, 0x29, } } /*87b838b7-41b6-4590-8318-5797951d8529*/, "Windows 10 Enterprise 2015 LTSB N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0xe272e3e2, 0x732f, 0x4c65, { 0xa8, 0xf0, 0x48, 0x47, 0x47, 0xd0, 0xd9, 0x47, } } /*e272e3e2-732f-4c65-a8f0-484747d0d947*/, "Windows 10 Enterprise N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0x43f2ab05, 0x7c87, 0x4d56, { 0xb2, 0x7c, 0x44, 0xd0, 0xf9, 0xa3, 0xda, 0xbd, } } /*43f2ab05-7c87-4d56-b27c-44d0f9a3dabd*/, "Windows 10 Enterprise Preview", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0x2de67392, 0xb7a7, 0x462a, { 0xb1, 0xca, 0x10, 0x8d, 0xd1, 0x89, 0xf5, 0x88, } } /*2de67392-b7a7-462a-b1ca-108dd189f588*/, "Windows 10 Professional", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0x3f1afc82, 0xf8ac, 0x4f6c, { 0x80, 0x05, 0x1d, 0x23, 0x3e, 0x60, 0x6e, 0xee, } } /*3f1afc82-f8ac-4f6c-8005-1d233e606eee*/, "Windows 10 Professional Education", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0x5300b18c, 0x2e33, 0x4dc2, { 0x82, 0x91, 0x47, 0xff, 0xce, 0xc7, 0x46, 0xdd, } } /*5300b18c-2e33-4dc2-8291-47ffcec746dd*/, "Windows 10 Professional Education N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0xa80b5abf, 0x76ad, 0x428b, { 0xb0, 0x5d, 0xa4, 0x7d, 0x2d, 0xff, 0xee, 0xbf, } } /*a80b5abf-76ad-428b-b05d-a47d2dffeebf*/, "Windows 10 Professional N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, - { { 0xff808201, 0xfec6, 0x4fd4, { 0xae, 0x16, 0xab, 0xbd, 0xda, 0xde, 0x57, 0x06, } } /*ff808201-fec6-4fd4-ae16-abbddade5706*/, "Windows 10 Professional Preview", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0xe0c42288, 0x980c, 0x4788, { 0xa0, 0x14, 0xc0, 0x80, 0xd2, 0xe1, 0x92, 0x6e, } } /*e0c42288-980c-4788-a014-c080d2e1926e*/, LOGTEXT("Windows 10 Education"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0x3c102355, 0xd027, 0x42c6, { 0xad, 0x23, 0x2e, 0x7e, 0xf8, 0xa0, 0x25, 0x85, } } /*3c102355-d027-42c6-ad23-2e7ef8a02585*/, LOGTEXT("Windows 10 Education N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0x73111121, 0x5638, 0x40f6, { 0xbc, 0x11, 0xf1, 0xd7, 0xb0, 0xd6, 0x43, 0x00, } } /*73111121-5638-40f6-bc11-f1d7b0d64300*/, LOGTEXT("Windows 10 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0x7b51a46c, 0x0c04, 0x4e8f, { 0x9a, 0xf4, 0x84, 0x96, 0xcc, 0xa9, 0x0d, 0x5e, } } /*7b51a46c-0c04-4e8f-9af4-8496cca90d5e*/, LOGTEXT("Windows 10 Enterprise 2015 LTSB"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0x87b838b7, 0x41b6, 0x4590, { 0x83, 0x18, 0x57, 0x97, 0x95, 0x1d, 0x85, 0x29, } } /*87b838b7-41b6-4590-8318-5797951d8529*/, LOGTEXT("Windows 10 Enterprise 2015 LTSB N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0xe272e3e2, 0x732f, 0x4c65, { 0xa8, 0xf0, 0x48, 0x47, 0x47, 0xd0, 0xd9, 0x47, } } /*e272e3e2-732f-4c65-a8f0-484747d0d947*/, LOGTEXT("Windows 10 Enterprise N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0x43f2ab05, 0x7c87, 0x4d56, { 0xb2, 0x7c, 0x44, 0xd0, 0xf9, 0xa3, 0xda, 0xbd, } } /*43f2ab05-7c87-4d56-b27c-44d0f9a3dabd*/, LOGTEXT("Windows 10 Enterprise Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0x2de67392, 0xb7a7, 0x462a, { 0xb1, 0xca, 0x10, 0x8d, 0xd1, 0x89, 0xf5, 0x88, } } /*2de67392-b7a7-462a-b1ca-108dd189f588*/, LOGTEXT("Windows 10 Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0x3f1afc82, 0xf8ac, 0x4f6c, { 0x80, 0x05, 0x1d, 0x23, 0x3e, 0x60, 0x6e, 0xee, } } /*3f1afc82-f8ac-4f6c-8005-1d233e606eee*/, LOGTEXT("Windows 10 Professional Education"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0x5300b18c, 0x2e33, 0x4dc2, { 0x82, 0x91, 0x47, 0xff, 0xce, 0xc7, 0x46, 0xdd, } } /*5300b18c-2e33-4dc2-8291-47ffcec746dd*/, LOGTEXT("Windows 10 Professional Education N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0xa80b5abf, 0x76ad, 0x428b, { 0xb0, 0x5d, 0xa4, 0x7d, 0x2d, 0xff, 0xee, 0xbf, } } /*a80b5abf-76ad-428b-b05d-a47d2dffeebf*/, LOGTEXT("Windows 10 Professional N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, + { { 0xff808201, 0xfec6, 0x4fd4, { 0xae, 0x16, 0xab, 0xbd, 0xda, 0xde, 0x57, 0x06, } } /*ff808201-fec6-4fd4-ae16-abbddade5706*/, LOGTEXT("Windows 10 Professional Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_VL }, // Windows 10 2016 (Volume) - { { 0x2d5a5a60, 0x3040, 0x48bf, { 0xbe, 0xb0, 0xfc, 0xd7, 0x70, 0xc2, 0x0c, 0xe0, } } /*2d5a5a60-3040-48bf-beb0-fcd770c20ce0*/, "Windows 10 Enterprise 2016 LTSB", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_LTSB2016 }, - { { 0x9f776d83, 0x7156, 0x45b2, { 0x8a, 0x5c, 0x35, 0x9b, 0x9c, 0x9f, 0x22, 0xa3, } } /*9f776d83-7156-45b2-8a5c-359b9c9f22a3*/, "Windows 10 Enterprise 2016 LTSB N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_LTSB2016 }, + { { 0x2d5a5a60, 0x3040, 0x48bf, { 0xbe, 0xb0, 0xfc, 0xd7, 0x70, 0xc2, 0x0c, 0xe0, } } /*2d5a5a60-3040-48bf-beb0-fcd770c20ce0*/, LOGTEXT("Windows 10 Enterprise 2016 LTSB"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_LTSB2016 }, + { { 0x9f776d83, 0x7156, 0x45b2, { 0x8a, 0x5c, 0x35, 0x9b, 0x9c, 0x9f, 0x22, 0xa3, } } /*9f776d83-7156-45b2-8a5c-359b9c9f22a3*/, LOGTEXT("Windows 10 Enterprise 2016 LTSB N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN10_LTSB2016 }, + + // Windows 10 Unknown (Volume) // Windows 7 - { { 0xdb537896, 0x376f, 0x48ae, { 0xa4, 0x92, 0x53, 0xd0, 0x54, 0x77, 0x73, 0xd0, } } /*db537896-376f-48ae-a492-53d0547773d0*/, "Windows 7 Embedded POSReady", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, - { { 0xe1a8296a, 0xdb37, 0x44d1, { 0x8c, 0xce, 0x7b, 0xc9, 0x61, 0xd5, 0x9c, 0x54, } } /*e1a8296a-db37-44d1-8cce-7bc961d59c54*/, "Windows 7 Embedded Standard", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, - { { 0xae2ee509, 0x1b34, 0x41c0, { 0xac, 0xb7, 0x6d, 0x46, 0x50, 0x16, 0x89, 0x15, } } /*ae2ee509-1b34-41c0-acb7-6d4650168915*/, "Windows 7 Enterprise", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, - { { 0x46bbed08, 0x9c7b, 0x48fc, { 0xa6, 0x14, 0x95, 0x25, 0x05, 0x73, 0xf4, 0xea, } } /*46bbed08-9c7b-48fc-a614-95250573f4ea*/, "Windows 7 Enterprise E", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, - { { 0x1cb6d605, 0x11b3, 0x4e14, { 0xbb, 0x30, 0xda, 0x91, 0xc8, 0xe3, 0x98, 0x3a, } } /*1cb6d605-11b3-4e14-bb30-da91c8e3983a*/, "Windows 7 Enterprise N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, - { { 0xb92e9980, 0xb9d5, 0x4821, { 0x9c, 0x94, 0x14, 0x0f, 0x63, 0x2f, 0x63, 0x12, } } /*b92e9980-b9d5-4821-9c94-140f632f6312*/, "Windows 7 Professional", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, - { { 0x5a041529, 0xfef8, 0x4d07, { 0xb0, 0x6f, 0xb5, 0x9b, 0x57, 0x3b, 0x32, 0xd2, } } /*5a041529-fef8-4d07-b06f-b59b573b32d2*/, "Windows 7 Professional E", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, - { { 0x54a09a0d, 0xd57b, 0x4c10, { 0x8b, 0x69, 0xa8, 0x42, 0xd6, 0x59, 0x0a, 0xd5, } } /*54a09a0d-d57b-4c10-8b69-a842d6590ad5*/, "Windows 7 Professional N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, - { { 0xaa6dd3aa, 0xc2b4, 0x40e2, { 0xa5, 0x44, 0xa6, 0xbb, 0xb3, 0xf5, 0xc3, 0x95, } } /*aa6dd3aa-c2b4-40e2-a544-a6bbb3f5c395*/, "Windows 7 ThinPC", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + { { 0xdb537896, 0x376f, 0x48ae, { 0xa4, 0x92, 0x53, 0xd0, 0x54, 0x77, 0x73, 0xd0, } } /*db537896-376f-48ae-a492-53d0547773d0*/, LOGTEXT("Windows 7 Embedded POSReady"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + { { 0xe1a8296a, 0xdb37, 0x44d1, { 0x8c, 0xce, 0x7b, 0xc9, 0x61, 0xd5, 0x9c, 0x54, } } /*e1a8296a-db37-44d1-8cce-7bc961d59c54*/, LOGTEXT("Windows 7 Embedded Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + { { 0xae2ee509, 0x1b34, 0x41c0, { 0xac, 0xb7, 0x6d, 0x46, 0x50, 0x16, 0x89, 0x15, } } /*ae2ee509-1b34-41c0-acb7-6d4650168915*/, LOGTEXT("Windows 7 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + { { 0x46bbed08, 0x9c7b, 0x48fc, { 0xa6, 0x14, 0x95, 0x25, 0x05, 0x73, 0xf4, 0xea, } } /*46bbed08-9c7b-48fc-a614-95250573f4ea*/, LOGTEXT("Windows 7 Enterprise E"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + { { 0x1cb6d605, 0x11b3, 0x4e14, { 0xbb, 0x30, 0xda, 0x91, 0xc8, 0xe3, 0x98, 0x3a, } } /*1cb6d605-11b3-4e14-bb30-da91c8e3983a*/, LOGTEXT("Windows 7 Enterprise N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + { { 0xb92e9980, 0xb9d5, 0x4821, { 0x9c, 0x94, 0x14, 0x0f, 0x63, 0x2f, 0x63, 0x12, } } /*b92e9980-b9d5-4821-9c94-140f632f6312*/, LOGTEXT("Windows 7 Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + { { 0x5a041529, 0xfef8, 0x4d07, { 0xb0, 0x6f, 0xb5, 0x9b, 0x57, 0x3b, 0x32, 0xd2, } } /*5a041529-fef8-4d07-b06f-b59b573b32d2*/, LOGTEXT("Windows 7 Professional E"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + { { 0x54a09a0d, 0xd57b, 0x4c10, { 0x8b, 0x69, 0xa8, 0x42, 0xd6, 0x59, 0x0a, 0xd5, } } /*54a09a0d-d57b-4c10-8b69-a842d6590ad5*/, LOGTEXT("Windows 7 Professional N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, + { { 0xaa6dd3aa, 0xc2b4, 0x40e2, { 0xa5, 0x44, 0xa6, 0xbb, 0xb3, 0xf5, 0xc3, 0x95, } } /*aa6dd3aa-c2b4-40e2-a544-a6bbb3f5c395*/, LOGTEXT("Windows 7 ThinPC"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN7 }, // Windows 8 (Retail) - { { 0xc04ed6bf, 0x55c8, 0x4b47, { 0x9f, 0x8e, 0x5a, 0x1f, 0x31, 0xce, 0xee, 0x60, } } /*c04ed6bf-55c8-4b47-9f8e-5a1f31ceee60*/, "Windows 8 Core", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, - { { 0x9d5584a2, 0x2d85, 0x419a, { 0x98, 0x2c, 0xa0, 0x08, 0x88, 0xbb, 0x9d, 0xdf, } } /*9d5584a2-2d85-419a-982c-a00888bb9ddf*/, "Windows 8 Core Country Specific", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, - { { 0x197390a0, 0x65f6, 0x4a95, { 0xbd, 0xc4, 0x55, 0xd5, 0x8a, 0x3b, 0x02, 0x53, } } /*197390a0-65f6-4a95-bdc4-55d58a3b0253*/, "Windows 8 Core N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, - { { 0x8860fcd4, 0xa77b, 0x4a20, { 0x90, 0x45, 0xa1, 0x50, 0xff, 0x11, 0xd6, 0x09, } } /*8860fcd4-a77b-4a20-9045-a150ff11d609*/, "Windows 8 Core Single Language", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, - { { 0xa00018a3, 0xf20f, 0x4632, { 0xbf, 0x7c, 0x8d, 0xaa, 0x53, 0x51, 0xc9, 0x14, } } /*a00018a3-f20f-4632-bf7c-8daa5351c914*/, "Windows 8 Professional WMC", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, + { { 0xc04ed6bf, 0x55c8, 0x4b47, { 0x9f, 0x8e, 0x5a, 0x1f, 0x31, 0xce, 0xee, 0x60, } } /*c04ed6bf-55c8-4b47-9f8e-5a1f31ceee60*/, LOGTEXT("Windows 8 Core"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, + { { 0x9d5584a2, 0x2d85, 0x419a, { 0x98, 0x2c, 0xa0, 0x08, 0x88, 0xbb, 0x9d, 0xdf, } } /*9d5584a2-2d85-419a-982c-a00888bb9ddf*/, LOGTEXT("Windows 8 Core Country Specific"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, + { { 0x197390a0, 0x65f6, 0x4a95, { 0xbd, 0xc4, 0x55, 0xd5, 0x8a, 0x3b, 0x02, 0x53, } } /*197390a0-65f6-4a95-bdc4-55d58a3b0253*/, LOGTEXT("Windows 8 Core N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, + { { 0x8860fcd4, 0xa77b, 0x4a20, { 0x90, 0x45, 0xa1, 0x50, 0xff, 0x11, 0xd6, 0x09, } } /*8860fcd4-a77b-4a20-9045-a150ff11d609*/, LOGTEXT("Windows 8 Core Single Language"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, + { { 0xa00018a3, 0xf20f, 0x4632, { 0xbf, 0x7c, 0x8d, 0xaa, 0x53, 0x51, 0xc9, 0x14, } } /*a00018a3-f20f-4632-bf7c-8daa5351c914*/, LOGTEXT("Windows 8 Professional WMC"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_RETAIL }, // Windows 8 (Volume) - { { 0x18db1848, 0x12e0, 0x4167, { 0xb9, 0xd7, 0xda, 0x7f, 0xcd, 0xa5, 0x07, 0xdb, } } /*18db1848-12e0-4167-b9d7-da7fcda507db*/, "Windows 8 Embedded Industry Enterprise", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, - { { 0x10018baf, 0xce21, 0x4060, { 0x80, 0xbd, 0x47, 0xfe, 0x74, 0xed, 0x4d, 0xab, } } /*10018baf-ce21-4060-80bd-47fe74ed4dab*/, "Windows 8 Embedded Industry Professional", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, - { { 0x458e1bec, 0x837a, 0x45f6, { 0xb9, 0xd5, 0x92, 0x5e, 0xd5, 0xd2, 0x99, 0xde, } } /*458e1bec-837a-45f6-b9d5-925ed5d299de*/, "Windows 8 Enterprise", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, - { { 0xe14997e7, 0x800a, 0x4cf7, { 0xad, 0x10, 0xde, 0x4b, 0x45, 0xb5, 0x78, 0xdb, } } /*e14997e7-800a-4cf7-ad10-de4b45b578db*/, "Windows 8 Enterprise N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, - { { 0xa98bcd6d, 0x5343, 0x4603, { 0x8a, 0xfe, 0x59, 0x08, 0xe4, 0x61, 0x11, 0x12, } } /*a98bcd6d-5343-4603-8afe-5908e4611112*/, "Windows 8 Professional", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, - { { 0xebf245c1, 0x29a8, 0x4daf, { 0x9c, 0xb1, 0x38, 0xdf, 0xc6, 0x08, 0xa8, 0xc8, } } /*ebf245c1-29a8-4daf-9cb1-38dfc608a8c8*/, "Windows 8 Professional N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, + { { 0x18db1848, 0x12e0, 0x4167, { 0xb9, 0xd7, 0xda, 0x7f, 0xcd, 0xa5, 0x07, 0xdb, } } /*18db1848-12e0-4167-b9d7-da7fcda507db*/, LOGTEXT("Windows 8 Embedded Industry Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, + { { 0x10018baf, 0xce21, 0x4060, { 0x80, 0xbd, 0x47, 0xfe, 0x74, 0xed, 0x4d, 0xab, } } /*10018baf-ce21-4060-80bd-47fe74ed4dab*/, LOGTEXT("Windows 8 Embedded Industry Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, + { { 0x458e1bec, 0x837a, 0x45f6, { 0xb9, 0xd5, 0x92, 0x5e, 0xd5, 0xd2, 0x99, 0xde, } } /*458e1bec-837a-45f6-b9d5-925ed5d299de*/, LOGTEXT("Windows 8 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, + { { 0xe14997e7, 0x800a, 0x4cf7, { 0xad, 0x10, 0xde, 0x4b, 0x45, 0xb5, 0x78, 0xdb, } } /*e14997e7-800a-4cf7-ad10-de4b45b578db*/, LOGTEXT("Windows 8 Enterprise N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, + { { 0xa98bcd6d, 0x5343, 0x4603, { 0x8a, 0xfe, 0x59, 0x08, 0xe4, 0x61, 0x11, 0x12, } } /*a98bcd6d-5343-4603-8afe-5908e4611112*/, LOGTEXT("Windows 8 Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, + { { 0xebf245c1, 0x29a8, 0x4daf, { 0x9c, 0xb1, 0x38, 0xdf, 0xc6, 0x08, 0xa8, 0xc8, } } /*ebf245c1-29a8-4daf-9cb1-38dfc608a8c8*/, LOGTEXT("Windows 8 Professional N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN8_VL }, // Windows 8.1 (Retail) - { { 0xfe1c3238, 0x432a, 0x43a1, { 0x8e, 0x25, 0x97, 0xe7, 0xd1, 0xef, 0x10, 0xf3, } } /*fe1c3238-432a-43a1-8e25-97e7d1ef10f3*/, "Windows 8.1 Core", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, - { { 0xffee456a, 0xcd87, 0x4390, { 0x8e, 0x07, 0x16, 0x14, 0x6c, 0x67, 0x2f, 0xd0, } } /*ffee456a-cd87-4390-8e07-16146c672fd0*/, "Windows 8.1 Core ARM", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, - { { 0xdb78b74f, 0xef1c, 0x4892, { 0xab, 0xfe, 0x1e, 0x66, 0xb8, 0x23, 0x1d, 0xf6, } } /*db78b74f-ef1c-4892-abfe-1e66b8231df6*/, "Windows 8.1 Core Country Specific", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, - { { 0x78558a64, 0xdc19, 0x43fe, { 0xa0, 0xd0, 0x80, 0x75, 0xb2, 0xa3, 0x70, 0xa3, } } /*78558a64-dc19-43fe-a0d0-8075b2a370a3*/, "Windows 8.1 Core N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, - { { 0xc72c6a1d, 0xf252, 0x4e7e, { 0xbd, 0xd1, 0x3f, 0xca, 0x34, 0x2a, 0xcb, 0x35, } } /*c72c6a1d-f252-4e7e-bdd1-3fca342acb35*/, "Windows 8.1 Core Single Language", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, - { { 0xe58d87b5, 0x8126, 0x4580, { 0x80, 0xfb, 0x86, 0x1b, 0x22, 0xf7, 0x92, 0x96, } } /*e58d87b5-8126-4580-80fb-861b22f79296*/, "Windows 8.1 Professional Student", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, - { { 0xcab491c7, 0xa918, 0x4f60, { 0xb5, 0x02, 0xda, 0xb7, 0x5e, 0x33, 0x4f, 0x40, } } /*cab491c7-a918-4f60-b502-dab75e334f40*/, "Windows 8.1 Professional Student N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, - { { 0x096ce63d, 0x4fac, 0x48a9, { 0x82, 0xa9, 0x61, 0xae, 0x9e, 0x80, 0x0e, 0x5f, } } /*096ce63d-4fac-48a9-82a9-61ae9e800e5f*/, "Windows 8.1 Professional WMC", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, + { { 0xfe1c3238, 0x432a, 0x43a1, { 0x8e, 0x25, 0x97, 0xe7, 0xd1, 0xef, 0x10, 0xf3, } } /*fe1c3238-432a-43a1-8e25-97e7d1ef10f3*/, LOGTEXT("Windows 8.1 Core"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, + { { 0xffee456a, 0xcd87, 0x4390, { 0x8e, 0x07, 0x16, 0x14, 0x6c, 0x67, 0x2f, 0xd0, } } /*ffee456a-cd87-4390-8e07-16146c672fd0*/, LOGTEXT("Windows 8.1 Core ARM"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, + { { 0xdb78b74f, 0xef1c, 0x4892, { 0xab, 0xfe, 0x1e, 0x66, 0xb8, 0x23, 0x1d, 0xf6, } } /*db78b74f-ef1c-4892-abfe-1e66b8231df6*/, LOGTEXT("Windows 8.1 Core Country Specific"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, + { { 0x78558a64, 0xdc19, 0x43fe, { 0xa0, 0xd0, 0x80, 0x75, 0xb2, 0xa3, 0x70, 0xa3, } } /*78558a64-dc19-43fe-a0d0-8075b2a370a3*/, LOGTEXT("Windows 8.1 Core N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, + { { 0xc72c6a1d, 0xf252, 0x4e7e, { 0xbd, 0xd1, 0x3f, 0xca, 0x34, 0x2a, 0xcb, 0x35, } } /*c72c6a1d-f252-4e7e-bdd1-3fca342acb35*/, LOGTEXT("Windows 8.1 Core Single Language"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, + { { 0xe58d87b5, 0x8126, 0x4580, { 0x80, 0xfb, 0x86, 0x1b, 0x22, 0xf7, 0x92, 0x96, } } /*e58d87b5-8126-4580-80fb-861b22f79296*/, LOGTEXT("Windows 8.1 Professional Student"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, + { { 0xcab491c7, 0xa918, 0x4f60, { 0xb5, 0x02, 0xda, 0xb7, 0x5e, 0x33, 0x4f, 0x40, } } /*cab491c7-a918-4f60-b502-dab75e334f40*/, LOGTEXT("Windows 8.1 Professional Student N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, + { { 0x096ce63d, 0x4fac, 0x48a9, { 0x82, 0xa9, 0x61, 0xae, 0x9e, 0x80, 0x0e, 0x5f, } } /*096ce63d-4fac-48a9-82a9-61ae9e800e5f*/, LOGTEXT("Windows 8.1 Professional WMC"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_RETAIL }, // Windows 8.1 (Volume) - { { 0xe9942b32, 0x2e55, 0x4197, { 0xb0, 0xbd, 0x5f, 0xf5, 0x8c, 0xba, 0x88, 0x60, } } /*e9942b32-2e55-4197-b0bd-5ff58cba8860*/, "Windows 8.1 Core Connected", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0xba998212, 0x460a, 0x44db, { 0xbf, 0xb5, 0x71, 0xbf, 0x09, 0xd1, 0xc6, 0x8b, } } /*ba998212-460a-44db-bfb5-71bf09d1c68b*/, "Windows 8.1 Core Connected Country Specific", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0xc6ddecd6, 0x2354, 0x4c19, { 0x90, 0x9b, 0x30, 0x6a, 0x30, 0x58, 0x48, 0x4e, } } /*c6ddecd6-2354-4c19-909b-306a3058484e*/, "Windows 8.1 Core Connected N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0xb8f5e3a3, 0xed33, 0x4608, { 0x81, 0xe1, 0x37, 0xd6, 0xc9, 0xdc, 0xfd, 0x9c, } } /*b8f5e3a3-ed33-4608-81e1-37d6c9dcfd9c*/, "Windows 8.1 Core Connected Single Language", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0xf7e88590, 0xdfc7, 0x4c78, { 0xbc, 0xcb, 0x6f, 0x38, 0x65, 0xb9, 0x9d, 0x1a, } } /*f7e88590-dfc7-4c78-bccb-6f3865b99d1a*/, "Windows 8.1 Embedded Industry Automotive", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0xcd4e2d9f, 0x5059, 0x4a50, { 0xa9, 0x2d, 0x05, 0xd5, 0xbb, 0x12, 0x67, 0xc7, } } /*cd4e2d9f-5059-4a50-a92d-05d5bb1267c7*/, "Windows 8.1 Embedded Industry Enterprise", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0x0ab82d54, 0x47f4, 0x4acb, { 0x81, 0x8c, 0xcc, 0x5b, 0xf0, 0xec, 0xb6, 0x49, } } /*0ab82d54-47f4-4acb-818c-cc5bf0ecb649*/, "Windows 8.1 Embedded Industry Professional", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0x81671aaf, 0x79d1, 0x4eb1, { 0xb0, 0x04, 0x8c, 0xbb, 0xe1, 0x73, 0xaf, 0xea, } } /*81671aaf-79d1-4eb1-b004-8cbbe173afea*/, "Windows 8.1 Enterprise", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0x113e705c, 0xfa49, 0x48a4, { 0xbe, 0xea, 0x7d, 0xd8, 0x79, 0xb4, 0x6b, 0x14, } } /*113e705c-fa49-48a4-beea-7dd879b46b14*/, "Windows 8.1 Enterprise N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0xc06b6981, 0xd7fd, 0x4a35, { 0xb7, 0xb4, 0x05, 0x47, 0x42, 0xb7, 0xaf, 0x67, } } /*c06b6981-d7fd-4a35-b7b4-054742b7af67*/, "Windows 8.1 Professional", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, - { { 0x7476d79f, 0x8e48, 0x49b4, { 0xab, 0x63, 0x4d, 0x0b, 0x81, 0x3a, 0x16, 0xe4, } } /*7476d79f-8e48-49b4-ab63-4d0b813a16e4*/, "Windows 8.1 Professional N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0xe9942b32, 0x2e55, 0x4197, { 0xb0, 0xbd, 0x5f, 0xf5, 0x8c, 0xba, 0x88, 0x60, } } /*e9942b32-2e55-4197-b0bd-5ff58cba8860*/, LOGTEXT("Windows 8.1 Core Connected"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0xba998212, 0x460a, 0x44db, { 0xbf, 0xb5, 0x71, 0xbf, 0x09, 0xd1, 0xc6, 0x8b, } } /*ba998212-460a-44db-bfb5-71bf09d1c68b*/, LOGTEXT("Windows 8.1 Core Connected Country Specific"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0xc6ddecd6, 0x2354, 0x4c19, { 0x90, 0x9b, 0x30, 0x6a, 0x30, 0x58, 0x48, 0x4e, } } /*c6ddecd6-2354-4c19-909b-306a3058484e*/, LOGTEXT("Windows 8.1 Core Connected N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0xb8f5e3a3, 0xed33, 0x4608, { 0x81, 0xe1, 0x37, 0xd6, 0xc9, 0xdc, 0xfd, 0x9c, } } /*b8f5e3a3-ed33-4608-81e1-37d6c9dcfd9c*/, LOGTEXT("Windows 8.1 Core Connected Single Language"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0xf7e88590, 0xdfc7, 0x4c78, { 0xbc, 0xcb, 0x6f, 0x38, 0x65, 0xb9, 0x9d, 0x1a, } } /*f7e88590-dfc7-4c78-bccb-6f3865b99d1a*/, LOGTEXT("Windows 8.1 Embedded Industry Automotive"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0xcd4e2d9f, 0x5059, 0x4a50, { 0xa9, 0x2d, 0x05, 0xd5, 0xbb, 0x12, 0x67, 0xc7, } } /*cd4e2d9f-5059-4a50-a92d-05d5bb1267c7*/, LOGTEXT("Windows 8.1 Embedded Industry Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0x0ab82d54, 0x47f4, 0x4acb, { 0x81, 0x8c, 0xcc, 0x5b, 0xf0, 0xec, 0xb6, 0x49, } } /*0ab82d54-47f4-4acb-818c-cc5bf0ecb649*/, LOGTEXT("Windows 8.1 Embedded Industry Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0x81671aaf, 0x79d1, 0x4eb1, { 0xb0, 0x04, 0x8c, 0xbb, 0xe1, 0x73, 0xaf, 0xea, } } /*81671aaf-79d1-4eb1-b004-8cbbe173afea*/, LOGTEXT("Windows 8.1 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0x113e705c, 0xfa49, 0x48a4, { 0xbe, 0xea, 0x7d, 0xd8, 0x79, 0xb4, 0x6b, 0x14, } } /*113e705c-fa49-48a4-beea-7dd879b46b14*/, LOGTEXT("Windows 8.1 Enterprise N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0xc06b6981, 0xd7fd, 0x4a35, { 0xb7, 0xb4, 0x05, 0x47, 0x42, 0xb7, 0xaf, 0x67, } } /*c06b6981-d7fd-4a35-b7b4-054742b7af67*/, LOGTEXT("Windows 8.1 Professional"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, + { { 0x7476d79f, 0x8e48, 0x49b4, { 0xab, 0x63, 0x4d, 0x0b, 0x81, 0x3a, 0x16, 0xe4, } } /*7476d79f-8e48-49b4-ab63-4d0b813a16e4*/, LOGTEXT("Windows 8.1 Professional N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN81_VL }, // Windows Preview # ifdef INCLUDE_BETAS - { { 0xcde952c7, 0x2f96, 0x4d9d, { 0x8f, 0x2b, 0x2d, 0x34, 0x9f, 0x64, 0xfc, 0x51, } } /*cde952c7-2f96-4d9d-8f2b-2d349f64fc51*/, "Windows 10 Enterprise Preview", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, - { { 0xa4383e6b, 0xdada, 0x423d, { 0xa4, 0x3d, 0xf2, 0x56, 0x78, 0x42, 0x96, 0x76, } } /*a4383e6b-dada-423d-a43d-f25678429676*/, "Windows 10 Professional Preview", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, - { { 0xcf59a07b, 0x1a2a, 0x4be0, { 0xbf, 0xe0, 0x42, 0x3b, 0x58, 0x23, 0xe6, 0x63, } } /*cf59a07b-1a2a-4be0-bfe0-423b5823e663*/, "Windows 10 Professional WMC Preview", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, - { { 0x2b9c337f, 0x7a1d, 0x4271, { 0x90, 0xa3, 0xc6, 0x85, 0x5a, 0x2b, 0x8a, 0x1c, } } /*2b9c337f-7a1d-4271-90a3-c6855a2b8a1c*/, "Windows 8.x Preview", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, - { { 0x631ead72, 0xa8ab, 0x4df8, { 0xbb, 0xdf, 0x37, 0x20, 0x29, 0x98, 0x9b, 0xdd, } } /*631ead72-a8ab-4df8-bbdf-372029989bdd*/, "Windows 8.x Preview ARM", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, + { { 0xcde952c7, 0x2f96, 0x4d9d, { 0x8f, 0x2b, 0x2d, 0x34, 0x9f, 0x64, 0xfc, 0x51, } } /*cde952c7-2f96-4d9d-8f2b-2d349f64fc51*/, LOGTEXT("Windows 10 Enterprise Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, + { { 0xa4383e6b, 0xdada, 0x423d, { 0xa4, 0x3d, 0xf2, 0x56, 0x78, 0x42, 0x96, 0x76, } } /*a4383e6b-dada-423d-a43d-f25678429676*/, LOGTEXT("Windows 10 Professional Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, + { { 0xcf59a07b, 0x1a2a, 0x4be0, { 0xbf, 0xe0, 0x42, 0x3b, 0x58, 0x23, 0xe6, 0x63, } } /*cf59a07b-1a2a-4be0-bfe0-423b5823e663*/, LOGTEXT("Windows 10 Professional WMC Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, + { { 0x2b9c337f, 0x7a1d, 0x4271, { 0x90, 0xa3, 0xc6, 0x85, 0x5a, 0x2b, 0x8a, 0x1c, } } /*2b9c337f-7a1d-4271-90a3-c6855a2b8a1c*/, LOGTEXT("Windows 8.x Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, + { { 0x631ead72, 0xa8ab, 0x4df8, { 0xbb, 0xdf, 0x37, 0x20, 0x29, 0x98, 0x9b, 0xdd, } } /*631ead72-a8ab-4df8-bbdf-372029989bdd*/, LOGTEXT("Windows 8.x Preview ARM"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_BETA }, # endif // INCLUDE_BETAS // Windows Server 2008 A (Web and HPC) - { { 0x7afb1156, 0x2c1d, 0x40fc, { 0xb2, 0x60, 0xaa, 0xb7, 0x44, 0x2b, 0x62, 0xfe, } } /*7afb1156-2c1d-40fc-b260-aab7442b62fe*/, "Windows Server 2008 Compute Cluster", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008A }, - { { 0xddfa9f7c, 0xf09e, 0x40b9, { 0x8c, 0x1a, 0xbe, 0x87, 0x7a, 0x9a, 0x7f, 0x4b, } } /*ddfa9f7c-f09e-40b9-8c1a-be877a9a7f4b*/, "Windows Server 2008 Web", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008A }, + { { 0x7afb1156, 0x2c1d, 0x40fc, { 0xb2, 0x60, 0xaa, 0xb7, 0x44, 0x2b, 0x62, 0xfe, } } /*7afb1156-2c1d-40fc-b260-aab7442b62fe*/, LOGTEXT("Windows Server 2008 Compute Cluster"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008A }, + { { 0xddfa9f7c, 0xf09e, 0x40b9, { 0x8c, 0x1a, 0xbe, 0x87, 0x7a, 0x9a, 0x7f, 0x4b, } } /*ddfa9f7c-f09e-40b9-8c1a-be877a9a7f4b*/, LOGTEXT("Windows Server 2008 Web"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008A }, // Windows Server 2008 B (Standard and Enterprise) - { { 0xc1af4d90, 0xd1bc, 0x44ca, { 0x85, 0xd4, 0x00, 0x3b, 0xa3, 0x3d, 0xb3, 0xb9, } } /*c1af4d90-d1bc-44ca-85d4-003ba33db3b9*/, "Windows Server 2008 Enterprise", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008B }, - { { 0x8198490a, 0xadd0, 0x47b2, { 0xb3, 0xba, 0x31, 0x6b, 0x12, 0xd6, 0x47, 0xb4, } } /*8198490a-add0-47b2-b3ba-316b12d647b4*/, "Windows Server 2008 Enterprise without Hyper-V", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008B }, - { { 0xad2542d4, 0x9154, 0x4c6d, { 0x8a, 0x44, 0x30, 0xf1, 0x1e, 0xe9, 0x69, 0x89, } } /*ad2542d4-9154-4c6d-8a44-30f11ee96989*/, "Windows Server 2008 Standard", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008B }, - { { 0x2401e3d0, 0xc50a, 0x4b58, { 0x87, 0xb2, 0x7e, 0x79, 0x4b, 0x7d, 0x26, 0x07, } } /*2401e3d0-c50a-4b58-87b2-7e794b7d2607*/, "Windows Server 2008 Standard without Hyper-V", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008B }, + { { 0xc1af4d90, 0xd1bc, 0x44ca, { 0x85, 0xd4, 0x00, 0x3b, 0xa3, 0x3d, 0xb3, 0xb9, } } /*c1af4d90-d1bc-44ca-85d4-003ba33db3b9*/, LOGTEXT("Windows Server 2008 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008B }, + { { 0x8198490a, 0xadd0, 0x47b2, { 0xb3, 0xba, 0x31, 0x6b, 0x12, 0xd6, 0x47, 0xb4, } } /*8198490a-add0-47b2-b3ba-316b12d647b4*/, LOGTEXT("Windows Server 2008 Enterprise without Hyper-V"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008B }, + { { 0xad2542d4, 0x9154, 0x4c6d, { 0x8a, 0x44, 0x30, 0xf1, 0x1e, 0xe9, 0x69, 0x89, } } /*ad2542d4-9154-4c6d-8a44-30f11ee96989*/, LOGTEXT("Windows Server 2008 Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008B }, + { { 0x2401e3d0, 0xc50a, 0x4b58, { 0x87, 0xb2, 0x7e, 0x79, 0x4b, 0x7d, 0x26, 0x07, } } /*2401e3d0-c50a-4b58-87b2-7e794b7d2607*/, LOGTEXT("Windows Server 2008 Standard without Hyper-V"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008B }, // Windows Server 2008 C (Datacenter) - { { 0x68b6e220, 0xcf09, 0x466b, { 0x92, 0xd3, 0x45, 0xcd, 0x96, 0x4b, 0x95, 0x09, } } /*68b6e220-cf09-466b-92d3-45cd964b9509*/, "Windows Server 2008 Datacenter", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008C }, - { { 0xfd09ef77, 0x5647, 0x4eff, { 0x80, 0x9c, 0xaf, 0x2b, 0x64, 0x65, 0x9a, 0x45, } } /*fd09ef77-5647-4eff-809c-af2b64659a45*/, "Windows Server 2008 Datacenter without Hyper-V", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008C }, - { { 0x01ef176b, 0x3e0d, 0x422a, { 0xb4, 0xf8, 0x4e, 0xa8, 0x80, 0x03, 0x5e, 0x8f, } } /*01ef176b-3e0d-422a-b4f8-4ea880035e8f*/, "Windows Server 2008 for Itanium", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008C }, + { { 0x68b6e220, 0xcf09, 0x466b, { 0x92, 0xd3, 0x45, 0xcd, 0x96, 0x4b, 0x95, 0x09, } } /*68b6e220-cf09-466b-92d3-45cd964b9509*/, LOGTEXT("Windows Server 2008 Datacenter"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008C }, + { { 0xfd09ef77, 0x5647, 0x4eff, { 0x80, 0x9c, 0xaf, 0x2b, 0x64, 0x65, 0x9a, 0x45, } } /*fd09ef77-5647-4eff-809c-af2b64659a45*/, LOGTEXT("Windows Server 2008 Datacenter without Hyper-V"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008C }, + { { 0x01ef176b, 0x3e0d, 0x422a, { 0xb4, 0xf8, 0x4e, 0xa8, 0x80, 0x03, 0x5e, 0x8f, } } /*01ef176b-3e0d-422a-b4f8-4ea880035e8f*/, LOGTEXT("Windows Server 2008 for Itanium"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008C }, // Windows Server 2008 R2 A (Web and HPC) - { { 0xf772515c, 0x0e87, 0x48d5, { 0xa6, 0x76, 0xe6, 0x96, 0x2c, 0x3e, 0x11, 0x95, } } /*f772515c-0e87-48d5-a676-e6962c3e1195*/, "Windows MultiPoint Server 2010", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2A }, - { { 0xcda18cf3, 0xc196, 0x46ad, { 0xb2, 0x89, 0x60, 0xc0, 0x72, 0x86, 0x99, 0x94, } } /*cda18cf3-c196-46ad-b289-60c072869994*/, "Windows Server 2008 R2 HPC Edition", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2A }, - { { 0xa78b8bd9, 0x8017, 0x4df5, { 0xb8, 0x6a, 0x09, 0xf7, 0x56, 0xaf, 0xfa, 0x7c, } } /*a78b8bd9-8017-4df5-b86a-09f756affa7c*/, "Windows Server 2008 R2 Web", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2A }, + { { 0xf772515c, 0x0e87, 0x48d5, { 0xa6, 0x76, 0xe6, 0x96, 0x2c, 0x3e, 0x11, 0x95, } } /*f772515c-0e87-48d5-a676-e6962c3e1195*/, LOGTEXT("Windows MultiPoint Server 2010"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2A }, + { { 0xcda18cf3, 0xc196, 0x46ad, { 0xb2, 0x89, 0x60, 0xc0, 0x72, 0x86, 0x99, 0x94, } } /*cda18cf3-c196-46ad-b289-60c072869994*/, LOGTEXT("Windows Server 2008 R2 HPC Edition"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2A }, + { { 0xa78b8bd9, 0x8017, 0x4df5, { 0xb8, 0x6a, 0x09, 0xf7, 0x56, 0xaf, 0xfa, 0x7c, } } /*a78b8bd9-8017-4df5-b86a-09f756affa7c*/, LOGTEXT("Windows Server 2008 R2 Web"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2A }, // Windows Server 2008 R2 B (Standard and Enterprise) - { { 0x620e2b3d, 0x09e7, 0x42fd, { 0x80, 0x2a, 0x17, 0xa1, 0x36, 0x52, 0xfe, 0x7a, } } /*620e2b3d-09e7-42fd-802a-17a13652fe7a*/, "Windows Server 2008 R2 Enterprise", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2B }, - { { 0x68531fb9, 0x5511, 0x4989, { 0x97, 0xbe, 0xd1, 0x1a, 0x0f, 0x55, 0x63, 0x3f, } } /*68531fb9-5511-4989-97be-d11a0f55633f*/, "Windows Server 2008 R2 Standard", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2B }, + { { 0x620e2b3d, 0x09e7, 0x42fd, { 0x80, 0x2a, 0x17, 0xa1, 0x36, 0x52, 0xfe, 0x7a, } } /*620e2b3d-09e7-42fd-802a-17a13652fe7a*/, LOGTEXT("Windows Server 2008 R2 Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2B }, + { { 0x68531fb9, 0x5511, 0x4989, { 0x97, 0xbe, 0xd1, 0x1a, 0x0f, 0x55, 0x63, 0x3f, } } /*68531fb9-5511-4989-97be-d11a0f55633f*/, LOGTEXT("Windows Server 2008 R2 Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2B }, // Windows Server 2008 R2 C (Datacenter) - { { 0x7482e61b, 0xc589, 0x4b7f, { 0x8e, 0xcc, 0x46, 0xd4, 0x55, 0xac, 0x3b, 0x87, } } /*7482e61b-c589-4b7f-8ecc-46d455ac3b87*/, "Windows Server 2008 R2 Datacenter", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2C }, - { { 0x8a26851c, 0x1c7e, 0x48d3, { 0xa6, 0x87, 0xfb, 0xca, 0x9b, 0x9a, 0xc1, 0x6b, } } /*8a26851c-1c7e-48d3-a687-fbca9b9ac16b*/, "Windows Server 2008 R2 for Itanium Enterprise", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2C }, + { { 0x7482e61b, 0xc589, 0x4b7f, { 0x8e, 0xcc, 0x46, 0xd4, 0x55, 0xac, 0x3b, 0x87, } } /*7482e61b-c589-4b7f-8ecc-46d455ac3b87*/, LOGTEXT("Windows Server 2008 R2 Datacenter"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2C }, + { { 0x8a26851c, 0x1c7e, 0x48d3, { 0xa6, 0x87, 0xfb, 0xca, 0x9b, 0x9a, 0xc1, 0x6b, } } /*8a26851c-1c7e-48d3-a687-fbca9b9ac16b*/, LOGTEXT("Windows Server 2008 R2 for Itanium Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2008R2C }, // Windows Server 2012 - { { 0xd3643d60, 0x0c42, 0x412d, { 0xa7, 0xd6, 0x52, 0xe6, 0x63, 0x53, 0x27, 0xf6, } } /*d3643d60-0c42-412d-a7d6-52e6635327f6*/, "Windows Server 2012 Datacenter", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012 }, - { { 0x95fd1c83, 0x7df5, 0x494a, { 0xbe, 0x8b, 0x13, 0x00, 0xe1, 0xc9, 0xd1, 0xcd, } } /*95fd1c83-7df5-494a-be8b-1300e1c9d1cd*/, "Windows Server 2012 MultiPoint Premium", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012 }, - { { 0x7d5486c7, 0xe120, 0x4771, { 0xb7, 0xf1, 0x7b, 0x56, 0xc6, 0xd3, 0x17, 0x0c, } } /*7d5486c7-e120-4771-b7f1-7b56c6d3170c*/, "Windows Server 2012 MultiPoint Standard", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012 }, - { { 0xf0f5ec41, 0x0d55, 0x4732, { 0xaf, 0x02, 0x44, 0x0a, 0x44, 0xa3, 0xcf, 0x0f, } } /*f0f5ec41-0d55-4732-af02-440a44a3cf0f*/, "Windows Server 2012 Standard", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012 }, + { { 0xd3643d60, 0x0c42, 0x412d, { 0xa7, 0xd6, 0x52, 0xe6, 0x63, 0x53, 0x27, 0xf6, } } /*d3643d60-0c42-412d-a7d6-52e6635327f6*/, LOGTEXT("Windows Server 2012 Datacenter"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012 }, + { { 0x95fd1c83, 0x7df5, 0x494a, { 0xbe, 0x8b, 0x13, 0x00, 0xe1, 0xc9, 0xd1, 0xcd, } } /*95fd1c83-7df5-494a-be8b-1300e1c9d1cd*/, LOGTEXT("Windows Server 2012 MultiPoint Premium"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012 }, + { { 0x7d5486c7, 0xe120, 0x4771, { 0xb7, 0xf1, 0x7b, 0x56, 0xc6, 0xd3, 0x17, 0x0c, } } /*7d5486c7-e120-4771-b7f1-7b56c6d3170c*/, LOGTEXT("Windows Server 2012 MultiPoint Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012 }, + { { 0xf0f5ec41, 0x0d55, 0x4732, { 0xaf, 0x02, 0x44, 0x0a, 0x44, 0xa3, 0xcf, 0x0f, } } /*f0f5ec41-0d55-4732-af02-440a44a3cf0f*/, LOGTEXT("Windows Server 2012 Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012 }, // Windows Server 2012 R2 - { { 0xb743a2be, 0x68d4, 0x4dd3, { 0xaf, 0x32, 0x92, 0x42, 0x5b, 0x7b, 0xb6, 0x23, } } /*b743a2be-68d4-4dd3-af32-92425b7bb623*/, "Windows Server 2012 R2 Cloud Storage", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012R2 }, - { { 0x00091344, 0x1ea4, 0x4f37, { 0xb7, 0x89, 0x01, 0x75, 0x0b, 0xa6, 0x98, 0x8c, } } /*00091344-1ea4-4f37-b789-01750ba6988c*/, "Windows Server 2012 R2 Datacenter", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012R2 }, - { { 0x21db6ba4, 0x9a7b, 0x4a14, { 0x9e, 0x29, 0x64, 0xa6, 0x0c, 0x59, 0x30, 0x1d, } } /*21db6ba4-9a7b-4a14-9e29-64a60c59301d*/, "Windows Server 2012 R2 Essentials", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012R2 }, - { { 0xb3ca044e, 0xa358, 0x4d68, { 0x98, 0x83, 0xaa, 0xa2, 0x94, 0x1a, 0xca, 0x99, } } /*b3ca044e-a358-4d68-9883-aaa2941aca99*/, "Windows Server 2012 R2 Standard", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012R2 }, + { { 0xb743a2be, 0x68d4, 0x4dd3, { 0xaf, 0x32, 0x92, 0x42, 0x5b, 0x7b, 0xb6, 0x23, } } /*b743a2be-68d4-4dd3-af32-92425b7bb623*/, LOGTEXT("Windows Server 2012 R2 Cloud Storage"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012R2 }, + { { 0x00091344, 0x1ea4, 0x4f37, { 0xb7, 0x89, 0x01, 0x75, 0x0b, 0xa6, 0x98, 0x8c, } } /*00091344-1ea4-4f37-b789-01750ba6988c*/, LOGTEXT("Windows Server 2012 R2 Datacenter"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012R2 }, + { { 0x21db6ba4, 0x9a7b, 0x4a14, { 0x9e, 0x29, 0x64, 0xa6, 0x0c, 0x59, 0x30, 0x1d, } } /*21db6ba4-9a7b-4a14-9e29-64a60c59301d*/, LOGTEXT("Windows Server 2012 R2 Essentials"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012R2 }, + { { 0xb3ca044e, 0xa358, 0x4d68, { 0x98, 0x83, 0xaa, 0xa2, 0x94, 0x1a, 0xca, 0x99, } } /*b3ca044e-a358-4d68-9883-aaa2941aca99*/, LOGTEXT("Windows Server 2012 R2 Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2012R2 }, // Windows Server 2016 - { { 0x7b4433f4, 0xb1e7, 0x4788, { 0x89, 0x5a, 0xc4, 0x53, 0x78, 0xd3, 0x82, 0x53, } } /*7b4433f4-b1e7-4788-895a-c45378d38253*/, "Windows Server 2016 Azure Core", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, - { { 0x3dbf341b, 0x5f6c, 0x4fa7, { 0xb9, 0x36, 0x69, 0x9d, 0xce, 0x9e, 0x26, 0x3f, } } /*3dbf341b-5f6c-4fa7-b936-699dce9e263f*/, "Windows Server 2016 Cloud Storage", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, - { { 0x21c56779, 0xb449, 0x4d20, { 0xad, 0xfc, 0xee, 0xce, 0x0e, 0x1a, 0xd7, 0x4b, } } /*21c56779-b449-4d20-adfc-eece0e1ad74b*/, "Windows Server 2016 Datacenter", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, - { { 0x2b5a1b0f, 0xa5ab, 0x4c54, { 0xac, 0x2f, 0xa6, 0xd9, 0x48, 0x24, 0xa2, 0x83, } } /*2b5a1b0f-a5ab-4c54-ac2f-a6d94824a283*/, "Windows Server 2016 Essentials", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, - { { 0x8c1c5410, 0x9f39, 0x4805, { 0x8c, 0x9d, 0x63, 0xa0, 0x77, 0x06, 0x35, 0x8f, } } /*8c1c5410-9f39-4805-8c9d-63a07706358f*/, "Windows Server 2016 Standard", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, + { { 0x7b4433f4, 0xb1e7, 0x4788, { 0x89, 0x5a, 0xc4, 0x53, 0x78, 0xd3, 0x82, 0x53, } } /*7b4433f4-b1e7-4788-895a-c45378d38253*/, LOGTEXT("Windows Server 2016 Azure Core"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, + { { 0x3dbf341b, 0x5f6c, 0x4fa7, { 0xb9, 0x36, 0x69, 0x9d, 0xce, 0x9e, 0x26, 0x3f, } } /*3dbf341b-5f6c-4fa7-b936-699dce9e263f*/, LOGTEXT("Windows Server 2016 Cloud Storage"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, + { { 0x21c56779, 0xb449, 0x4d20, { 0xad, 0xfc, 0xee, 0xce, 0x0e, 0x1a, 0xd7, 0x4b, } } /*21c56779-b449-4d20-adfc-eece0e1ad74b*/, LOGTEXT("Windows Server 2016 Datacenter"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, + { { 0x2b5a1b0f, 0xa5ab, 0x4c54, { 0xac, 0x2f, 0xa6, 0xd9, 0x48, 0x24, 0xa2, 0x83, } } /*2b5a1b0f-a5ab-4c54-ac2f-a6d94824a283*/, LOGTEXT("Windows Server 2016 Essentials"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, + { { 0x8c1c5410, 0x9f39, 0x4805, { 0x8c, 0x9d, 0x63, 0xa0, 0x77, 0x06, 0x35, 0x8f, } } /*8c1c5410-9f39-4805-8c9d-63a07706358f*/, LOGTEXT("Windows Server 2016 Standard"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN2016 }, // Windows Server Preview # ifdef INCLUDE_BETAS - { { 0xba947c44, 0xd19d, 0x4786, { 0xb6, 0xae, 0x22, 0x77, 0x0b, 0xc9, 0x4c, 0x54, } } /*ba947c44-d19d-4786-b6ae-22770bc94c54*/, "Windows Server 2016 Datacenter Preview", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_SRV_BETA }, + { { 0xba947c44, 0xd19d, 0x4786, { 0xb6, 0xae, 0x22, 0x77, 0x0b, 0xc9, 0x4c, 0x54, } } /*ba947c44-d19d-4786-b6ae-22770bc94c54*/, LOGTEXT("Windows Server 2016 Datacenter Preview"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_WIN_SRV_BETA }, # endif // INCLUDE_BETAS // Windows Vista - { { 0x4f3d1606, 0x3fea, 0x4c01, { 0xbe, 0x3c, 0x8d, 0x67, 0x1c, 0x40, 0x1e, 0x3b, } } /*4f3d1606-3fea-4c01-be3c-8d671c401e3b*/, "Windows Vista Business", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_VISTA }, - { { 0x2c682dc2, 0x8b68, 0x4f63, { 0xa1, 0x65, 0xae, 0x29, 0x1d, 0x4c, 0xf1, 0x38, } } /*2c682dc2-8b68-4f63-a165-ae291d4cf138*/, "Windows Vista Business N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_VISTA }, - { { 0xcfd8ff08, 0xc0d7, 0x452b, { 0x9f, 0x60, 0xef, 0x5c, 0x70, 0xc3, 0x20, 0x94, } } /*cfd8ff08-c0d7-452b-9f60-ef5c70c32094*/, "Windows Vista Enterprise", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_VISTA }, - { { 0xd4f54950, 0x26f2, 0x4fb4, { 0xba, 0x21, 0xff, 0xab, 0x16, 0xaf, 0xca, 0xde, } } /*d4f54950-26f2-4fb4-ba21-ffab16afcade*/, "Windows Vista Enterprise N", EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_VISTA }, + { { 0x4f3d1606, 0x3fea, 0x4c01, { 0xbe, 0x3c, 0x8d, 0x67, 0x1c, 0x40, 0x1e, 0x3b, } } /*4f3d1606-3fea-4c01-be3c-8d671c401e3b*/, LOGTEXT("Windows Vista Business"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_VISTA }, + { { 0x2c682dc2, 0x8b68, 0x4f63, { 0xa1, 0x65, 0xae, 0x29, 0x1d, 0x4c, 0xf1, 0x38, } } /*2c682dc2-8b68-4f63-a165-ae291d4cf138*/, LOGTEXT("Windows Vista Business N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_VISTA }, + { { 0xcfd8ff08, 0xc0d7, 0x452b, { 0x9f, 0x60, 0xef, 0x5c, 0x70, 0xc3, 0x20, 0x94, } } /*cfd8ff08-c0d7-452b-9f60-ef5c70c32094*/, LOGTEXT("Windows Vista Enterprise"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_VISTA }, + { { 0xd4f54950, 0x26f2, 0x4fb4, { 0xba, 0x21, 0xff, 0xab, 0x16, 0xaf, 0xca, 0xde, } } /*d4f54950-26f2-4fb4-ba21-ffab16afcade*/, LOGTEXT("Windows Vista Enterprise N"), EPID_WINDOWS, APP_ID_WINDOWS, KMS_ID_VISTA }, // Office 2010 - { { 0x8ce7e872, 0x188c, 0x4b98, { 0x9d, 0x90, 0xf8, 0xf9, 0x0b, 0x7a, 0xad, 0x02, } } /*8ce7e872-188c-4b98-9d90-f8f90b7aad02*/, "Office Access 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xcee5d470, 0x6e3b, 0x4fcc, { 0x8c, 0x2b, 0xd1, 0x74, 0x28, 0x56, 0x8a, 0x9f, } } /*cee5d470-6e3b-4fcc-8c2b-d17428568a9f*/, "Office Excel 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x8947d0b8, 0xc33b, 0x43e1, { 0x8c, 0x56, 0x9b, 0x67, 0x4c, 0x05, 0x28, 0x32, } } /*8947d0b8-c33b-43e1-8c56-9b674c052832*/, "Office Groove 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xca6b6639, 0x4ad6, 0x40ae, { 0xa5, 0x75, 0x14, 0xde, 0xe0, 0x7f, 0x64, 0x30, } } /*ca6b6639-4ad6-40ae-a575-14dee07f6430*/, "Office InfoPath 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x09ed9640, 0xf020, 0x400a, { 0xac, 0xd8, 0xd7, 0xd8, 0x67, 0xdf, 0xd9, 0xc2, } } /*09ed9640-f020-400a-acd8-d7d867dfd9c2*/, "Office Mondo 1 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xef3d4e49, 0xa53d, 0x4d81, { 0xa2, 0xb1, 0x2c, 0xa6, 0xc2, 0x55, 0x6b, 0x2c, } } /*ef3d4e49-a53d-4d81-a2b1-2ca6c2556b2c*/, "Office Mondo 2 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xab586f5c, 0x5256, 0x4632, { 0x96, 0x2f, 0xfe, 0xfd, 0x8b, 0x49, 0xe6, 0xf4, } } /*ab586f5c-5256-4632-962f-fefd8b49e6f4*/, "Office OneNote 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xecb7c192, 0x73ab, 0x4ded, { 0xac, 0xf4, 0x23, 0x99, 0xb0, 0x95, 0xd0, 0xcc, } } /*ecb7c192-73ab-4ded-acf4-2399b095d0cc*/, "Office OutLook 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x45593b1d, 0xdfb1, 0x4e91, { 0xbb, 0xfb, 0x2d, 0x5d, 0x0c, 0xe2, 0x22, 0x7a, } } /*45593b1d-dfb1-4e91-bbfb-2d5d0ce2227a*/, "Office PowerPoint 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x6f327760, 0x8c5c, 0x417c, { 0x9b, 0x61, 0x83, 0x6a, 0x98, 0x28, 0x7e, 0x0c, } } /*6f327760-8c5c-417c-9b61-836a98287e0c*/, "Office Professional Plus 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xdf133ff7, 0xbf14, 0x4f95, { 0xaf, 0xe3, 0x7b, 0x48, 0xe7, 0xe3, 0x31, 0xef, } } /*df133ff7-bf14-4f95-afe3-7b48e7e331ef*/, "Office Project Pro 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x5dc7bf61, 0x5ec9, 0x4996, { 0x9c, 0xcb, 0xdf, 0x80, 0x6a, 0x2d, 0x0e, 0xfe, } } /*5dc7bf61-5ec9-4996-9ccb-df806a2d0efe*/, "Office Project Standard 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xb50c4f75, 0x599b, 0x43e8, { 0x8d, 0xcd, 0x10, 0x81, 0xa7, 0x96, 0x72, 0x41, } } /*b50c4f75-599b-43e8-8dcd-1081a7967241*/, "Office Publisher 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xea509e87, 0x07a1, 0x4a45, { 0x9e, 0xdc, 0xeb, 0xa5, 0xa3, 0x9f, 0x36, 0xaf, } } /*ea509e87-07a1-4a45-9edc-eba5a39f36af*/, "Office Small Business Basics 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x9da2a678, 0xfb6b, 0x4e67, { 0xab, 0x84, 0x60, 0xdd, 0x6a, 0x9c, 0x81, 0x9a, } } /*9da2a678-fb6b-4e67-ab84-60dd6a9c819a*/, "Office Standard 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x92236105, 0xbb67, 0x494f, { 0x94, 0xc7, 0x7f, 0x7a, 0x60, 0x79, 0x29, 0xbd, } } /*92236105-bb67-494f-94c7-7f7a607929bd*/, "Office Visio Premium 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0xe558389c, 0x83c3, 0x4b29, { 0xad, 0xfe, 0x5e, 0x4d, 0x7f, 0x46, 0xc3, 0x58, } } /*e558389c-83c3-4b29-adfe-5e4d7f46c358*/, "Office Visio Pro 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x9ed833ff, 0x4f92, 0x4f36, { 0xb3, 0x70, 0x86, 0x83, 0xa4, 0xf1, 0x32, 0x75, } } /*9ed833ff-4f92-4f36-b370-8683a4f13275*/, "Office Visio Standard 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, - { { 0x2d0882e7, 0xa4e7, 0x423b, { 0x8c, 0xcc, 0x70, 0xd9, 0x1e, 0x01, 0x58, 0xb1, } } /*2d0882e7-a4e7-423b-8ccc-70d91e0158b1*/, "Office Word 2010", EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x8ce7e872, 0x188c, 0x4b98, { 0x9d, 0x90, 0xf8, 0xf9, 0x0b, 0x7a, 0xad, 0x02, } } /*8ce7e872-188c-4b98-9d90-f8f90b7aad02*/, LOGTEXT("Office Access 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xcee5d470, 0x6e3b, 0x4fcc, { 0x8c, 0x2b, 0xd1, 0x74, 0x28, 0x56, 0x8a, 0x9f, } } /*cee5d470-6e3b-4fcc-8c2b-d17428568a9f*/, LOGTEXT("Office Excel 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x8947d0b8, 0xc33b, 0x43e1, { 0x8c, 0x56, 0x9b, 0x67, 0x4c, 0x05, 0x28, 0x32, } } /*8947d0b8-c33b-43e1-8c56-9b674c052832*/, LOGTEXT("Office Groove 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xca6b6639, 0x4ad6, 0x40ae, { 0xa5, 0x75, 0x14, 0xde, 0xe0, 0x7f, 0x64, 0x30, } } /*ca6b6639-4ad6-40ae-a575-14dee07f6430*/, LOGTEXT("Office InfoPath 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x09ed9640, 0xf020, 0x400a, { 0xac, 0xd8, 0xd7, 0xd8, 0x67, 0xdf, 0xd9, 0xc2, } } /*09ed9640-f020-400a-acd8-d7d867dfd9c2*/, LOGTEXT("Office Mondo 1 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xef3d4e49, 0xa53d, 0x4d81, { 0xa2, 0xb1, 0x2c, 0xa6, 0xc2, 0x55, 0x6b, 0x2c, } } /*ef3d4e49-a53d-4d81-a2b1-2ca6c2556b2c*/, LOGTEXT("Office Mondo 2 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xab586f5c, 0x5256, 0x4632, { 0x96, 0x2f, 0xfe, 0xfd, 0x8b, 0x49, 0xe6, 0xf4, } } /*ab586f5c-5256-4632-962f-fefd8b49e6f4*/, LOGTEXT("Office OneNote 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xecb7c192, 0x73ab, 0x4ded, { 0xac, 0xf4, 0x23, 0x99, 0xb0, 0x95, 0xd0, 0xcc, } } /*ecb7c192-73ab-4ded-acf4-2399b095d0cc*/, LOGTEXT("Office OutLook 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x45593b1d, 0xdfb1, 0x4e91, { 0xbb, 0xfb, 0x2d, 0x5d, 0x0c, 0xe2, 0x22, 0x7a, } } /*45593b1d-dfb1-4e91-bbfb-2d5d0ce2227a*/, LOGTEXT("Office PowerPoint 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x6f327760, 0x8c5c, 0x417c, { 0x9b, 0x61, 0x83, 0x6a, 0x98, 0x28, 0x7e, 0x0c, } } /*6f327760-8c5c-417c-9b61-836a98287e0c*/, LOGTEXT("Office Professional Plus 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xdf133ff7, 0xbf14, 0x4f95, { 0xaf, 0xe3, 0x7b, 0x48, 0xe7, 0xe3, 0x31, 0xef, } } /*df133ff7-bf14-4f95-afe3-7b48e7e331ef*/, LOGTEXT("Office Project Pro 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x5dc7bf61, 0x5ec9, 0x4996, { 0x9c, 0xcb, 0xdf, 0x80, 0x6a, 0x2d, 0x0e, 0xfe, } } /*5dc7bf61-5ec9-4996-9ccb-df806a2d0efe*/, LOGTEXT("Office Project Standard 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xb50c4f75, 0x599b, 0x43e8, { 0x8d, 0xcd, 0x10, 0x81, 0xa7, 0x96, 0x72, 0x41, } } /*b50c4f75-599b-43e8-8dcd-1081a7967241*/, LOGTEXT("Office Publisher 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xea509e87, 0x07a1, 0x4a45, { 0x9e, 0xdc, 0xeb, 0xa5, 0xa3, 0x9f, 0x36, 0xaf, } } /*ea509e87-07a1-4a45-9edc-eba5a39f36af*/, LOGTEXT("Office Small Business Basics 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x9da2a678, 0xfb6b, 0x4e67, { 0xab, 0x84, 0x60, 0xdd, 0x6a, 0x9c, 0x81, 0x9a, } } /*9da2a678-fb6b-4e67-ab84-60dd6a9c819a*/, LOGTEXT("Office Standard 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x92236105, 0xbb67, 0x494f, { 0x94, 0xc7, 0x7f, 0x7a, 0x60, 0x79, 0x29, 0xbd, } } /*92236105-bb67-494f-94c7-7f7a607929bd*/, LOGTEXT("Office Visio Premium 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0xe558389c, 0x83c3, 0x4b29, { 0xad, 0xfe, 0x5e, 0x4d, 0x7f, 0x46, 0xc3, 0x58, } } /*e558389c-83c3-4b29-adfe-5e4d7f46c358*/, LOGTEXT("Office Visio Pro 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x9ed833ff, 0x4f92, 0x4f36, { 0xb3, 0x70, 0x86, 0x83, 0xa4, 0xf1, 0x32, 0x75, } } /*9ed833ff-4f92-4f36-b370-8683a4f13275*/, LOGTEXT("Office Visio Standard 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, + { { 0x2d0882e7, 0xa4e7, 0x423b, { 0x8c, 0xcc, 0x70, 0xd9, 0x1e, 0x01, 0x58, 0xb1, } } /*2d0882e7-a4e7-423b-8ccc-70d91e0158b1*/, LOGTEXT("Office Word 2010"), EPID_OFFICE2010, APP_ID_OFFICE2010, KMS_ID_OFFICE2010 }, // Office 2013 - { { 0x6ee7622c, 0x18d8, 0x4005, { 0x9f, 0xb7, 0x92, 0xdb, 0x64, 0x4a, 0x27, 0x9b, } } /*6ee7622c-18d8-4005-9fb7-92db644a279b*/, "Office Access 2013", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xf7461d52, 0x7c2b, 0x43b2, { 0x87, 0x44, 0xea, 0x95, 0x8e, 0x0b, 0xd0, 0x9a, } } /*f7461d52-7c2b-43b2-8744-ea958e0bd09a*/, "Office Excel 2013", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xa30b8040, 0xd68a, 0x423f, { 0xb0, 0xb5, 0x9c, 0xe2, 0x92, 0xea, 0x5a, 0x8f, } } /*a30b8040-d68a-423f-b0b5-9ce292ea5a8f*/, "Office InfoPath 2013", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0x1b9f11e3, 0xc85c, 0x4e1b, { 0xbb, 0x29, 0x87, 0x9a, 0xd2, 0xc9, 0x09, 0xe3, } } /*1b9f11e3-c85c-4e1b-bb29-879ad2c909e3*/, "Office Lync 2013", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xdc981c6b, 0xfc8e, 0x420f, { 0xaa, 0x43, 0xf8, 0xf3, 0x3e, 0x5c, 0x09, 0x23, } } /*dc981c6b-fc8e-420f-aa43-f8f33e5c0923*/, "Office Mondo 2013", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xefe1f3e6, 0xaea2, 0x4144, { 0xa2, 0x08, 0x32, 0xaa, 0x87, 0x2b, 0x65, 0x45, } } /*efe1f3e6-aea2-4144-a208-32aa872b6545*/, "Office OneNote 2013", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0x771c3afa, 0x50c5, 0x443f, { 0xb1, 0x51, 0xff, 0x25, 0x46, 0xd8, 0x63, 0xa0, } } /*771c3afa-50c5-443f-b151-ff2546d863a0*/, "Office OutLook 2013", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0x8c762649, 0x97d1, 0x4953, { 0xad, 0x27, 0xb7, 0xe2, 0xc2, 0x5b, 0x97, 0x2e, } } /*8c762649-97d1-4953-ad27-b7e2c25b972e*/, "Office PowerPoint 2013", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xb322da9c, 0xa2e2, 0x4058, { 0x9e, 0x4e, 0xf5, 0x9a, 0x69, 0x70, 0xbd, 0x69, } } /*b322da9c-a2e2-4058-9e4e-f59a6970bd69*/, "Office Professional Plus 2013", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0x4a5d124a, 0xe620, 0x44ba, { 0xb6, 0xff, 0x65, 0x89, 0x61, 0xb3, 0x3b, 0x9a, } } /*4a5d124a-e620-44ba-b6ff-658961b33b9a*/, "Office Project Pro 2013", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0x427a28d1, 0xd17c, 0x4abf, { 0xb7, 0x17, 0x32, 0xc7, 0x80, 0xba, 0x6f, 0x07, } } /*427a28d1-d17c-4abf-b717-32c780ba6f07*/, "Office Project Standard 2013", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0x00c79ff1, 0x6850, 0x443d, { 0xbf, 0x61, 0x71, 0xcd, 0xe0, 0xde, 0x30, 0x5f, } } /*00c79ff1-6850-443d-bf61-71cde0de305f*/, "Office Publisher 2013", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xb13afb38, 0xcd79, 0x4ae5, { 0x9f, 0x7f, 0xee, 0xd0, 0x58, 0xd7, 0x50, 0xca, } } /*b13afb38-cd79-4ae5-9f7f-eed058d750ca*/, "Office Standard 2013", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xe13ac10e, 0x75d0, 0x4aff, { 0xa0, 0xcd, 0x76, 0x49, 0x82, 0xcf, 0x54, 0x1c, } } /*e13ac10e-75d0-4aff-a0cd-764982cf541c*/, "Office Visio Pro 2013", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xac4efaf0, 0xf81f, 0x4f61, { 0xbd, 0xf7, 0xea, 0x32, 0xb0, 0x2a, 0xb1, 0x17, } } /*ac4efaf0-f81f-4f61-bdf7-ea32b02ab117*/, "Office Visio Standard 2013", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, - { { 0xd9f5b1c6, 0x5386, 0x495a, { 0x88, 0xf9, 0x9a, 0xd6, 0xb4, 0x1a, 0xc9, 0xb3, } } /*d9f5b1c6-5386-495a-88f9-9ad6b41ac9b3*/, "Office Word 2013", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0x6ee7622c, 0x18d8, 0x4005, { 0x9f, 0xb7, 0x92, 0xdb, 0x64, 0x4a, 0x27, 0x9b, } } /*6ee7622c-18d8-4005-9fb7-92db644a279b*/, LOGTEXT("Office Access 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xf7461d52, 0x7c2b, 0x43b2, { 0x87, 0x44, 0xea, 0x95, 0x8e, 0x0b, 0xd0, 0x9a, } } /*f7461d52-7c2b-43b2-8744-ea958e0bd09a*/, LOGTEXT("Office Excel 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xa30b8040, 0xd68a, 0x423f, { 0xb0, 0xb5, 0x9c, 0xe2, 0x92, 0xea, 0x5a, 0x8f, } } /*a30b8040-d68a-423f-b0b5-9ce292ea5a8f*/, LOGTEXT("Office InfoPath 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0x1b9f11e3, 0xc85c, 0x4e1b, { 0xbb, 0x29, 0x87, 0x9a, 0xd2, 0xc9, 0x09, 0xe3, } } /*1b9f11e3-c85c-4e1b-bb29-879ad2c909e3*/, LOGTEXT("Office Lync 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xdc981c6b, 0xfc8e, 0x420f, { 0xaa, 0x43, 0xf8, 0xf3, 0x3e, 0x5c, 0x09, 0x23, } } /*dc981c6b-fc8e-420f-aa43-f8f33e5c0923*/, LOGTEXT("Office Mondo 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xefe1f3e6, 0xaea2, 0x4144, { 0xa2, 0x08, 0x32, 0xaa, 0x87, 0x2b, 0x65, 0x45, } } /*efe1f3e6-aea2-4144-a208-32aa872b6545*/, LOGTEXT("Office OneNote 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0x771c3afa, 0x50c5, 0x443f, { 0xb1, 0x51, 0xff, 0x25, 0x46, 0xd8, 0x63, 0xa0, } } /*771c3afa-50c5-443f-b151-ff2546d863a0*/, LOGTEXT("Office OutLook 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0x8c762649, 0x97d1, 0x4953, { 0xad, 0x27, 0xb7, 0xe2, 0xc2, 0x5b, 0x97, 0x2e, } } /*8c762649-97d1-4953-ad27-b7e2c25b972e*/, LOGTEXT("Office PowerPoint 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xb322da9c, 0xa2e2, 0x4058, { 0x9e, 0x4e, 0xf5, 0x9a, 0x69, 0x70, 0xbd, 0x69, } } /*b322da9c-a2e2-4058-9e4e-f59a6970bd69*/, LOGTEXT("Office Professional Plus 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0x4a5d124a, 0xe620, 0x44ba, { 0xb6, 0xff, 0x65, 0x89, 0x61, 0xb3, 0x3b, 0x9a, } } /*4a5d124a-e620-44ba-b6ff-658961b33b9a*/, LOGTEXT("Office Project Pro 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0x427a28d1, 0xd17c, 0x4abf, { 0xb7, 0x17, 0x32, 0xc7, 0x80, 0xba, 0x6f, 0x07, } } /*427a28d1-d17c-4abf-b717-32c780ba6f07*/, LOGTEXT("Office Project Standard 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0x00c79ff1, 0x6850, 0x443d, { 0xbf, 0x61, 0x71, 0xcd, 0xe0, 0xde, 0x30, 0x5f, } } /*00c79ff1-6850-443d-bf61-71cde0de305f*/, LOGTEXT("Office Publisher 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xb13afb38, 0xcd79, 0x4ae5, { 0x9f, 0x7f, 0xee, 0xd0, 0x58, 0xd7, 0x50, 0xca, } } /*b13afb38-cd79-4ae5-9f7f-eed058d750ca*/, LOGTEXT("Office Standard 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xe13ac10e, 0x75d0, 0x4aff, { 0xa0, 0xcd, 0x76, 0x49, 0x82, 0xcf, 0x54, 0x1c, } } /*e13ac10e-75d0-4aff-a0cd-764982cf541c*/, LOGTEXT("Office Visio Pro 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xac4efaf0, 0xf81f, 0x4f61, { 0xbd, 0xf7, 0xea, 0x32, 0xb0, 0x2a, 0xb1, 0x17, } } /*ac4efaf0-f81f-4f61-bdf7-ea32b02ab117*/, LOGTEXT("Office Visio Standard 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, + { { 0xd9f5b1c6, 0x5386, 0x495a, { 0x88, 0xf9, 0x9a, 0xd6, 0xb4, 0x1a, 0xc9, 0xb3, } } /*d9f5b1c6-5386-495a-88f9-9ad6b41ac9b3*/, LOGTEXT("Office Word 2013"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013 }, // Office 2013 (Pre-Release) # ifdef INCLUDE_BETAS - { { 0x44b538e2, 0xfb34, 0x4732, { 0x81, 0xe4, 0x64, 0x4c, 0x17, 0xd2, 0xe7, 0x46, } } /*44b538e2-fb34-4732-81e4-644c17d2e746*/, "Office Access 2013 (Pre-Release)", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x9373bfa0, 0x97b3, 0x4587, { 0xab, 0x73, 0x30, 0x93, 0x44, 0x61, 0xd5, 0x5c, } } /*9373bfa0-97b3-4587-ab73-30934461d55c*/, "Office Excel 2013 (Pre-Release)", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0xaa286eb4, 0x556f, 0x4eeb, { 0x96, 0x7c, 0xc1, 0xb7, 0x71, 0xb7, 0x67, 0x3e, } } /*aa286eb4-556f-4eeb-967c-c1b771b7673e*/, "Office Groove 2013 (Pre-Release)", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x7ccc8256, 0xfbaa, 0x49c6, { 0xb2, 0xa9, 0xf5, 0xaf, 0xb4, 0x25, 0x7c, 0xd2, } } /*7ccc8256-fbaa-49c6-b2a9-f5afb4257cd2*/, "Office InfoPath 2013 (Pre-Release)", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0xc53dfe17, 0xcc00, 0x4967, { 0xb1, 0x88, 0xa0, 0x88, 0xa9, 0x65, 0x49, 0x4d, } } /*c53dfe17-cc00-4967-b188-a088a965494d*/, "Office Lync 2013 (Pre-Release)", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x2816a87d, 0xe1ed, 0x4097, { 0xb3, 0x11, 0xe2, 0x34, 0x1c, 0x57, 0xb1, 0x79, } } /*2816a87d-e1ed-4097-b311-e2341c57b179*/, "Office Mondo 2013 (Pre-Release)", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x67c0f908, 0x184f, 0x4f64, { 0x82, 0x50, 0x12, 0xdb, 0x79, 0x7a, 0xb3, 0xc3, } } /*67c0f908-184f-4f64-8250-12db797ab3c3*/, "Office OneNote 2013 (Pre-Release)", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x7bce4e7a, 0xdd80, 0x4682, { 0x98, 0xfa, 0xf9, 0x93, 0x72, 0x58, 0x03, 0xd2, } } /*7bce4e7a-dd80-4682-98fa-f993725803d2*/, "Office Outlook 2013 (Pre-Release)", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x1ec10c0a, 0x54f6, 0x453e, { 0xb8, 0x5a, 0x6f, 0xa1, 0xbb, 0xfe, 0xa9, 0xb7, } } /*1ec10c0a-54f6-453e-b85a-6fa1bbfea9b7*/, "Office PowerPoint 2013 (Pre-Release)", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x87d2b5bf, 0xd47b, 0x41fb, { 0xaf, 0x62, 0x71, 0xc3, 0x82, 0xf5, 0xcc, 0x85, } } /*87d2b5bf-d47b-41fb-af62-71c382f5cc85*/, "Office Professional Plus 2013 (Pre-Release)", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x3cfe50a9, 0x0e03, 0x4b29, { 0x97, 0x54, 0x9f, 0x19, 0x3f, 0x07, 0xb7, 0x1f, } } /*3cfe50a9-0e03-4b29-9754-9f193f07b71f*/, "Office Project Pro 2013 (Pre-Release)", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x39e49e57, 0xae68, 0x4ee3, { 0xb0, 0x98, 0x26, 0x48, 0x0d, 0xf3, 0xda, 0x96, } } /*39e49e57-ae68-4ee3-b098-26480df3da96*/, "Office Project Standard 2013 (Pre-Release)", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x15aa2117, 0x8f79, 0x49a8, { 0x83, 0x17, 0x75, 0x30, 0x26, 0xd6, 0xa0, 0x54, } } /*15aa2117-8f79-49a8-8317-753026d6a054*/, "Office Publisher 2013 (Pre-Release)", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0xcfbfd60e, 0x0b5f, 0x427d, { 0x91, 0x7c, 0xa4, 0xdf, 0x42, 0xa8, 0x0e, 0x44, } } /*cfbfd60e-0b5f-427d-917c-a4df42a80e44*/, "Office Visio Pro 2013 (Pre-Release)", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0x7012cc81, 0x8887, 0x42e9, { 0xb1, 0x7d, 0x4e, 0x5e, 0x42, 0x76, 0x0f, 0x0d, } } /*7012cc81-8887-42e9-b17d-4e5e42760f0d*/, "Office Visio Standard 2013 (Pre-Release)", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, - { { 0xde9c7eb6, 0x5a85, 0x420d, { 0x97, 0x03, 0xff, 0xf1, 0x1b, 0xdd, 0x4d, 0x43, } } /*de9c7eb6-5a85-420d-9703-fff11bdd4d43*/, "Office Word 2013 (Pre-Release)", EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x44b538e2, 0xfb34, 0x4732, { 0x81, 0xe4, 0x64, 0x4c, 0x17, 0xd2, 0xe7, 0x46, } } /*44b538e2-fb34-4732-81e4-644c17d2e746*/, LOGTEXT("Office Access 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x9373bfa0, 0x97b3, 0x4587, { 0xab, 0x73, 0x30, 0x93, 0x44, 0x61, 0xd5, 0x5c, } } /*9373bfa0-97b3-4587-ab73-30934461d55c*/, LOGTEXT("Office Excel 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0xaa286eb4, 0x556f, 0x4eeb, { 0x96, 0x7c, 0xc1, 0xb7, 0x71, 0xb7, 0x67, 0x3e, } } /*aa286eb4-556f-4eeb-967c-c1b771b7673e*/, LOGTEXT("Office Groove 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x7ccc8256, 0xfbaa, 0x49c6, { 0xb2, 0xa9, 0xf5, 0xaf, 0xb4, 0x25, 0x7c, 0xd2, } } /*7ccc8256-fbaa-49c6-b2a9-f5afb4257cd2*/, LOGTEXT("Office InfoPath 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0xc53dfe17, 0xcc00, 0x4967, { 0xb1, 0x88, 0xa0, 0x88, 0xa9, 0x65, 0x49, 0x4d, } } /*c53dfe17-cc00-4967-b188-a088a965494d*/, LOGTEXT("Office Lync 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x2816a87d, 0xe1ed, 0x4097, { 0xb3, 0x11, 0xe2, 0x34, 0x1c, 0x57, 0xb1, 0x79, } } /*2816a87d-e1ed-4097-b311-e2341c57b179*/, LOGTEXT("Office Mondo 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x67c0f908, 0x184f, 0x4f64, { 0x82, 0x50, 0x12, 0xdb, 0x79, 0x7a, 0xb3, 0xc3, } } /*67c0f908-184f-4f64-8250-12db797ab3c3*/, LOGTEXT("Office OneNote 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x7bce4e7a, 0xdd80, 0x4682, { 0x98, 0xfa, 0xf9, 0x93, 0x72, 0x58, 0x03, 0xd2, } } /*7bce4e7a-dd80-4682-98fa-f993725803d2*/, LOGTEXT("Office Outlook 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x1ec10c0a, 0x54f6, 0x453e, { 0xb8, 0x5a, 0x6f, 0xa1, 0xbb, 0xfe, 0xa9, 0xb7, } } /*1ec10c0a-54f6-453e-b85a-6fa1bbfea9b7*/, LOGTEXT("Office PowerPoint 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x87d2b5bf, 0xd47b, 0x41fb, { 0xaf, 0x62, 0x71, 0xc3, 0x82, 0xf5, 0xcc, 0x85, } } /*87d2b5bf-d47b-41fb-af62-71c382f5cc85*/, LOGTEXT("Office Professional Plus 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x3cfe50a9, 0x0e03, 0x4b29, { 0x97, 0x54, 0x9f, 0x19, 0x3f, 0x07, 0xb7, 0x1f, } } /*3cfe50a9-0e03-4b29-9754-9f193f07b71f*/, LOGTEXT("Office Project Pro 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x39e49e57, 0xae68, 0x4ee3, { 0xb0, 0x98, 0x26, 0x48, 0x0d, 0xf3, 0xda, 0x96, } } /*39e49e57-ae68-4ee3-b098-26480df3da96*/, LOGTEXT("Office Project Standard 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x15aa2117, 0x8f79, 0x49a8, { 0x83, 0x17, 0x75, 0x30, 0x26, 0xd6, 0xa0, 0x54, } } /*15aa2117-8f79-49a8-8317-753026d6a054*/, LOGTEXT("Office Publisher 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0xcfbfd60e, 0x0b5f, 0x427d, { 0x91, 0x7c, 0xa4, 0xdf, 0x42, 0xa8, 0x0e, 0x44, } } /*cfbfd60e-0b5f-427d-917c-a4df42a80e44*/, LOGTEXT("Office Visio Pro 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0x7012cc81, 0x8887, 0x42e9, { 0xb1, 0x7d, 0x4e, 0x5e, 0x42, 0x76, 0x0f, 0x0d, } } /*7012cc81-8887-42e9-b17d-4e5e42760f0d*/, LOGTEXT("Office Visio Standard 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, + { { 0xde9c7eb6, 0x5a85, 0x420d, { 0x97, 0x03, 0xff, 0xf1, 0x1b, 0xdd, 0x4d, 0x43, } } /*de9c7eb6-5a85-420d-9703-fff11bdd4d43*/, LOGTEXT("Office Word 2013 (Pre-Release)"), EPID_OFFICE2013, APP_ID_OFFICE2013, KMS_ID_OFFICE2013_BETA }, # endif // INCLUDE_BETAS // Office 2016 - { { 0x67c0fc0c, 0xdeba, 0x401b, { 0xbf, 0x8b, 0x9c, 0x8a, 0xd8, 0x39, 0x58, 0x04, } } /*67c0fc0c-deba-401b-bf8b-9c8ad8395804*/, "Office Access 2016", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xc3e65d36, 0x141f, 0x4d2f, { 0xa3, 0x03, 0xa8, 0x42, 0xee, 0x75, 0x6a, 0x29, } } /*c3e65d36-141f-4d2f-a303-a842ee756a29*/, "Office Excel 2016", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0x9caabccb, 0x61b1, 0x4b4b, { 0x8b, 0xec, 0xd1, 0x0a, 0x3c, 0x3a, 0xc2, 0xce, } } /*9caabccb-61b1-4b4b-8bec-d10a3c3ac2ce*/, "Office Mondo 2016", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xe914ea6e, 0xa5fa, 0x4439, { 0xa3, 0x94, 0xa9, 0xbb, 0x32, 0x93, 0xca, 0x09, } } /*e914ea6e-a5fa-4439-a394-a9bb3293ca09*/, "Office Mondo R 2016", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xd8cace59, 0x33d2, 0x4ac7, { 0x9b, 0x1b, 0x9b, 0x72, 0x33, 0x9c, 0x51, 0xc8, } } /*d8cace59-33d2-4ac7-9b1b-9b72339c51c8*/, "Office OneNote 2016", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xec9d9265, 0x9d1e, 0x4ed0, { 0x83, 0x8a, 0xcd, 0xc2, 0x0f, 0x25, 0x51, 0xa1, } } /*ec9d9265-9d1e-4ed0-838a-cdc20f2551a1*/, "Office Outlook 2016", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xd70b1bba, 0xb893, 0x4544, { 0x96, 0xe2, 0xb7, 0xa3, 0x18, 0x09, 0x1c, 0x33, } } /*d70b1bba-b893-4544-96e2-b7a318091c33*/, "Office Powerpoint 2016", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xd450596f, 0x894d, 0x49e0, { 0x96, 0x6a, 0xfd, 0x39, 0xed, 0x4c, 0x4c, 0x64, } } /*d450596f-894d-49e0-966a-fd39ed4c4c64*/, "Office Professional Plus 2016", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0x4f414197, 0x0fc2, 0x4c01, { 0xb6, 0x8a, 0x86, 0xcb, 0xb9, 0xac, 0x25, 0x4c, } } /*4f414197-0fc2-4c01-b68a-86cbb9ac254c*/, "Office Project Pro 2016", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0x829b8110, 0x0e6f, 0x4349, { 0xbc, 0xa4, 0x42, 0x80, 0x35, 0x77, 0x78, 0x8d, } } /*829b8110-0e6f-4349-bca4-42803577788d*/, "Office Project Pro 2016 XC2R", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xda7ddabc, 0x3fbe, 0x4447, { 0x9e, 0x01, 0x6a, 0xb7, 0x44, 0x0b, 0x4c, 0xd4, } } /*da7ddabc-3fbe-4447-9e01-6ab7440b4cd4*/, "Office Project Standard 2016", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xcbbaca45, 0x556a, 0x4416, { 0xad, 0x03, 0xbd, 0xa5, 0x98, 0xea, 0xa7, 0xc8, } } /*cbbaca45-556a-4416-ad03-bda598eaa7c8*/, "Office Project Standard 2016 XC2R", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0x041a06cb, 0xc5b8, 0x4772, { 0x80, 0x9f, 0x41, 0x6d, 0x03, 0xd1, 0x66, 0x54, } } /*041a06cb-c5b8-4772-809f-416d03d16654*/, "Office Publisher 2016", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0x83e04ee1, 0xfa8d, 0x436d, { 0x89, 0x94, 0xd3, 0x1a, 0x86, 0x2c, 0xab, 0x77, } } /*83e04ee1-fa8d-436d-8994-d31a862cab77*/, "Office Skype for Business 2016", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xdedfa23d, 0x6ed1, 0x45a6, { 0x85, 0xdc, 0x63, 0xca, 0xe0, 0x54, 0x6d, 0xe6, } } /*dedfa23d-6ed1-45a6-85dc-63cae0546de6*/, "Office Standard 2016", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0x6bf301c1, 0xb94a, 0x43e9, { 0xba, 0x31, 0xd4, 0x94, 0x59, 0x8c, 0x47, 0xfb, } } /*6bf301c1-b94a-43e9-ba31-d494598c47fb*/, "Office Visio Pro 2016", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xb234abe3, 0x0857, 0x4f9c, { 0xb0, 0x5a, 0x4d, 0xc3, 0x14, 0xf8, 0x55, 0x57, } } /*b234abe3-0857-4f9c-b05a-4dc314f85557*/, "Office Visio Pro 2016 XC2R", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xaa2a7821, 0x1827, 0x4c2c, { 0x8f, 0x1d, 0x45, 0x13, 0xa3, 0x4d, 0xda, 0x97, } } /*aa2a7821-1827-4c2c-8f1d-4513a34dda97*/, "Office Visio Standard 2016", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0x361fe620, 0x64f4, 0x41b5, { 0xba, 0x77, 0x84, 0xf8, 0xe0, 0x79, 0xb1, 0xf7, } } /*361fe620-64f4-41b5-ba77-84f8e079b1f7*/, "Office Visio Standard 2016 XC2R", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, - { { 0xbb11badf, 0xd8aa, 0x470e, { 0x93, 0x11, 0x20, 0xea, 0xf8, 0x0f, 0xe5, 0xcc, } } /*bb11badf-d8aa-470e-9311-20eaf80fe5cc*/, "Office Word 2016", EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0x67c0fc0c, 0xdeba, 0x401b, { 0xbf, 0x8b, 0x9c, 0x8a, 0xd8, 0x39, 0x58, 0x04, } } /*67c0fc0c-deba-401b-bf8b-9c8ad8395804*/, LOGTEXT("Office Access 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xc3e65d36, 0x141f, 0x4d2f, { 0xa3, 0x03, 0xa8, 0x42, 0xee, 0x75, 0x6a, 0x29, } } /*c3e65d36-141f-4d2f-a303-a842ee756a29*/, LOGTEXT("Office Excel 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0x9caabccb, 0x61b1, 0x4b4b, { 0x8b, 0xec, 0xd1, 0x0a, 0x3c, 0x3a, 0xc2, 0xce, } } /*9caabccb-61b1-4b4b-8bec-d10a3c3ac2ce*/, LOGTEXT("Office Mondo 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xe914ea6e, 0xa5fa, 0x4439, { 0xa3, 0x94, 0xa9, 0xbb, 0x32, 0x93, 0xca, 0x09, } } /*e914ea6e-a5fa-4439-a394-a9bb3293ca09*/, LOGTEXT("Office Mondo R 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xd8cace59, 0x33d2, 0x4ac7, { 0x9b, 0x1b, 0x9b, 0x72, 0x33, 0x9c, 0x51, 0xc8, } } /*d8cace59-33d2-4ac7-9b1b-9b72339c51c8*/, LOGTEXT("Office OneNote 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xec9d9265, 0x9d1e, 0x4ed0, { 0x83, 0x8a, 0xcd, 0xc2, 0x0f, 0x25, 0x51, 0xa1, } } /*ec9d9265-9d1e-4ed0-838a-cdc20f2551a1*/, LOGTEXT("Office Outlook 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xd70b1bba, 0xb893, 0x4544, { 0x96, 0xe2, 0xb7, 0xa3, 0x18, 0x09, 0x1c, 0x33, } } /*d70b1bba-b893-4544-96e2-b7a318091c33*/, LOGTEXT("Office Powerpoint 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xd450596f, 0x894d, 0x49e0, { 0x96, 0x6a, 0xfd, 0x39, 0xed, 0x4c, 0x4c, 0x64, } } /*d450596f-894d-49e0-966a-fd39ed4c4c64*/, LOGTEXT("Office Professional Plus 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0x4f414197, 0x0fc2, 0x4c01, { 0xb6, 0x8a, 0x86, 0xcb, 0xb9, 0xac, 0x25, 0x4c, } } /*4f414197-0fc2-4c01-b68a-86cbb9ac254c*/, LOGTEXT("Office Project Pro 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0x829b8110, 0x0e6f, 0x4349, { 0xbc, 0xa4, 0x42, 0x80, 0x35, 0x77, 0x78, 0x8d, } } /*829b8110-0e6f-4349-bca4-42803577788d*/, LOGTEXT("Office Project Pro 2016 XC2R"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xda7ddabc, 0x3fbe, 0x4447, { 0x9e, 0x01, 0x6a, 0xb7, 0x44, 0x0b, 0x4c, 0xd4, } } /*da7ddabc-3fbe-4447-9e01-6ab7440b4cd4*/, LOGTEXT("Office Project Standard 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xcbbaca45, 0x556a, 0x4416, { 0xad, 0x03, 0xbd, 0xa5, 0x98, 0xea, 0xa7, 0xc8, } } /*cbbaca45-556a-4416-ad03-bda598eaa7c8*/, LOGTEXT("Office Project Standard 2016 XC2R"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0x041a06cb, 0xc5b8, 0x4772, { 0x80, 0x9f, 0x41, 0x6d, 0x03, 0xd1, 0x66, 0x54, } } /*041a06cb-c5b8-4772-809f-416d03d16654*/, LOGTEXT("Office Publisher 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0x83e04ee1, 0xfa8d, 0x436d, { 0x89, 0x94, 0xd3, 0x1a, 0x86, 0x2c, 0xab, 0x77, } } /*83e04ee1-fa8d-436d-8994-d31a862cab77*/, LOGTEXT("Office Skype for Business 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xdedfa23d, 0x6ed1, 0x45a6, { 0x85, 0xdc, 0x63, 0xca, 0xe0, 0x54, 0x6d, 0xe6, } } /*dedfa23d-6ed1-45a6-85dc-63cae0546de6*/, LOGTEXT("Office Standard 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0x6bf301c1, 0xb94a, 0x43e9, { 0xba, 0x31, 0xd4, 0x94, 0x59, 0x8c, 0x47, 0xfb, } } /*6bf301c1-b94a-43e9-ba31-d494598c47fb*/, LOGTEXT("Office Visio Pro 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xb234abe3, 0x0857, 0x4f9c, { 0xb0, 0x5a, 0x4d, 0xc3, 0x14, 0xf8, 0x55, 0x57, } } /*b234abe3-0857-4f9c-b05a-4dc314f85557*/, LOGTEXT("Office Visio Pro 2016 XC2R"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xaa2a7821, 0x1827, 0x4c2c, { 0x8f, 0x1d, 0x45, 0x13, 0xa3, 0x4d, 0xda, 0x97, } } /*aa2a7821-1827-4c2c-8f1d-4513a34dda97*/, LOGTEXT("Office Visio Standard 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0x361fe620, 0x64f4, 0x41b5, { 0xba, 0x77, 0x84, 0xf8, 0xe0, 0x79, 0xb1, 0xf7, } } /*361fe620-64f4-41b5-ba77-84f8e079b1f7*/, LOGTEXT("Office Visio Standard 2016 XC2R"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, + { { 0xbb11badf, 0xd8aa, 0x470e, { 0x93, 0x11, 0x20, 0xea, 0xf8, 0x0f, 0xe5, 0xcc, } } /*bb11badf-d8aa-470e-9311-20eaf80fe5cc*/, LOGTEXT("Office Word 2016"), EPID_OFFICE2016, APP_ID_OFFICE2013, KMS_ID_OFFICE2016 }, // End marker (necessity should be removed when time permits) @@ -299,10 +310,12 @@ __pure ProdListIndex_t getExtendedProductListSize(void) return _countof(ExtendedProductList) - 1; } +#ifndef NO_LOG __pure ProdListIndex_t getAppListSize(void) { return _countof(AppList); } +#endif // NO_LOG #endif // NO_EXTENDED_PRODUCT_LIST #endif // IS_LIBRARY @@ -477,7 +490,7 @@ static void generateRandomPid(int index, char *const szPid, int serverType, int1 strcat(szPid, itoc(numberBuffer, HostOS[serverType].Build, 0)); strcat(szPid, ".0000-"); - time_t minTime = serverType==4 ? ((time_t)1470175200) /* Release Date Win 2016 */ : ((time_t)1382029200); // Release Date Win 2012R2 +# define minTime ((time_t)1470175200) /* Release Date Win 2016 */ time_t maxTime, kmsTime; time(&maxTime); @@ -541,10 +554,8 @@ static void logRequest(const REQUEST *const baseRequest) if (++index >= (int)_countof(ExtendedProductList)) #endif // NO_EXTENDED_PRODUCT_LIST { - #ifndef NO_BASIC_PRODUCT_LIST productName = getProductNameLE(&baseRequest->KMSID, ProductList, &index); if (++index >= (int)_countof(ProductList)) - #endif // NO_BASIC_PRODUCT_LIST { productName = getProductNameLE(&baseRequest->AppID, AppList, &index); } @@ -601,10 +612,21 @@ static void getEpid(RESPONSE *const baseResponse, const char** EpidSource, const else #endif // NO_RANDOM_EPID { - if (index > 2) - pid = EPID_OFFICE2016; - else - pid = AppList[index].pid; + switch(index) + { + case EPID_INDEX_OFFICE2016: + pid = EPID_OFFICE2016; + break; + case EPID_INDEX_OFFICE2013: + pid = EPID_OFFICE2013; + break; + case EPID_INDEX_OFFICE2010: + pid = EPID_OFFICE2010; + break; + default: + pid = EPID_WINDOWS; + break; + } #ifndef NO_LOG *EpidSource = "vlmcsd default"; #endif // NO_LOG @@ -697,38 +719,28 @@ static BOOL __stdcall CreateResponseBaseCallback(const REQUEST *const baseReques ProdListIndex_t index; - - #ifdef NO_BASIC_PRODUCT_LIST - - getProductNameLE(&baseRequest->AppID, AppList, &index); - if (index >= _countof(AppList) - 1) index = 0; //default to Windows - - #else - getProductNameLE(&baseRequest->KMSID, ProductList, &index); switch(index) { case KMS_ID_OFFICE2016: - index = 3; + index = EPID_INDEX_OFFICE2016; break; case KMS_ID_OFFICE2013: case KMS_ID_OFFICE2013_BETA: - index = 2; + index = EPID_INDEX_OFFICE2013; break; case KMS_ID_OFFICE2010: - index = 1; + index = EPID_INDEX_OFFICE2010; break; default: - index = 0; + index = EPID_INDEX_WINDOWS; break; } - #endif - getEpid(baseResponse, &EpidSource, index, hwId); baseResponse->Version = baseRequest->Version; @@ -1060,24 +1072,21 @@ static RESPONSE_RESULT VerifyResponseV6(RESPONSE_RESULT result, const AesCtx* Ct { CreateV6Hmac ( - rawResponse + sizeof(response_v6->Version), // Pointer to start of the encrypted part of the response - (size_t)result.correctResponseSize - V6_UNENCRYPTED_SIZE, // size of the encrypted part - tolerance // tolerance -1, 0, or +1 + rawResponse + sizeof(response_v6->Version), // Pointer to start of the encrypted part of the response + (size_t)result.correctResponseSize - sizeof(response_v6->Version), // size of the encrypted part + tolerance // tolerance -1, 0, or +1 ); - if - (( - result.HmacSha256OK = !memcmp // Compare both HMACs - ( - OldHmac, - rawResponse + (size_t)result.correctResponseSize - sizeof(response_v6->HMAC), - sizeof(OldHmac) - ) - )) - { - break; - } + result.HmacSha256OK = !memcmp // Compare both HMACs + ( + OldHmac, + rawResponse + (size_t)result.correctResponseSize - sizeof(response_v6->HMAC), + sizeof(OldHmac) + ); + + if (result.HmacSha256OK) break; } + return result; } diff --git a/kms.h b/kms.h index 3d8a6e6..5a87588 100644 --- a/kms.h +++ b/kms.h @@ -231,30 +231,35 @@ typedef struct #define APP_ID_OFFICE2010 1 #define APP_ID_OFFICE2013 2 +#define EPID_INDEX_WINDOWS APP_ID_WINDOWS +#define EPID_INDEX_OFFICE2010 APP_ID_OFFICE2010 +#define EPID_INDEX_OFFICE2013 APP_ID_OFFICE2013 +#define EPID_INDEX_OFFICE2016 3 + // Update these numbers in License Manager -#define KMS_ID_VISTA 0 -#define KMS_ID_WIN7 1 -#define KMS_ID_WIN8_VL 2 -#define KMS_ID_WIN_BETA 3 -#define KMS_ID_WIN8_RETAIL 4 -#define KMS_ID_WIN81_VL 5 -#define KMS_ID_WIN81_RETAIL 6 -#define KMS_ID_WIN2008A 7 -#define KMS_ID_WIN2008B 8 -#define KMS_ID_WIN2008C 9 -#define KMS_ID_WIN2008R2A 10 -#define KMS_ID_WIN2008R2B 11 -#define KMS_ID_WIN2008R2C 12 -#define KMS_ID_WIN2012 13 -#define KMS_ID_WIN2012R2 14 -#define KMS_ID_OFFICE2010 15 -#define KMS_ID_OFFICE2013 16 -#define KMS_ID_WIN_SRV_BETA 17 -#define KMS_ID_OFFICE2016 18 -#define KMS_ID_WIN10_VL 19 -#define KMS_ID_WIN10_RETAIL 20 -#define KMS_ID_WIN2016 21 -#define KMS_ID_OFFICE2013_BETA 22 +#define KMS_ID_OFFICE2010 0 +#define KMS_ID_OFFICE2013 1 +#define KMS_ID_OFFICE2013_BETA 2 +#define KMS_ID_OFFICE2016 3 +#define KMS_ID_VISTA 4 +#define KMS_ID_WIN7 5 +#define KMS_ID_WIN8_VL 6 +#define KMS_ID_WIN_BETA 7 +#define KMS_ID_WIN8_RETAIL 8 +#define KMS_ID_WIN81_VL 9 +#define KMS_ID_WIN81_RETAIL 10 +#define KMS_ID_WIN2008A 11 +#define KMS_ID_WIN2008B 12 +#define KMS_ID_WIN2008C 13 +#define KMS_ID_WIN2008R2A 14 +#define KMS_ID_WIN2008R2B 15 +#define KMS_ID_WIN2008R2C 16 +#define KMS_ID_WIN2012 17 +#define KMS_ID_WIN2012R2 18 +#define KMS_ID_WIN_SRV_BETA 19 +#define KMS_ID_WIN10_VL 20 +#define KMS_ID_WIN10_RETAIL 21 +#define KMS_ID_WIN2016 22 #define KMS_ID_WIN10_LTSB2016 23 #define PWINGUID &AppList[APP_ID_WINDOWS].guid diff --git a/make_freebsd b/make_freebsd index 5a00dc5..000d65f 100755 --- a/make_freebsd +++ b/make_freebsd @@ -15,14 +15,14 @@ CFCLANG="-pipe -fno-common -fno-exceptions -fno-stack-protector -fno-unwind-tabl LF="-Wl,-z,norelro -Wl,--hash-style=gnu -Wl,--build-id=none" LFCLANG="-Wl,-z,norelro -Wl,--hash-style=gnu" -gmake $MAKEFLAGS allmulti CAT=2 MULTI_NAME=vlmcsdmulti-FreeBSD-10.3-x64-gcc CLIENT_NAME=vlmcs-FreeBSD-10.3-x64-gcc PROGRAM_NAME=vlmcsd-FreeBSD-10.3-x64-gcc CC=gcc5 CFLAGS="$CF" LDFLAGS="$LF" +gmake $MAKEFLAGS allmulti CAT=2 MULTI_NAME=vlmcsdmulti-FreeBSD-10.3-x64-gcc CLIENT_NAME=vlmcs-FreeBSD-10.3-x64-gcc PROGRAM_NAME=vlmcsd-FreeBSD-10.3-x64-gcc CC=gcc6 CFLAGS="$CF" LDFLAGS="$LF" gmake $MAKEFLAGS MULTI_NAME=vlmcsdmulti-FreeBSD-10.3-x64 CLIENT_NAME=vlmcs-FreeBSD-10.3-x64 PROGRAM_NAME=vlmcsd-FreeBSD-10.3-x64 CC=clang38 CFLAGS="$CFCLANG" LDFLAGS="$LF" allmulti gmake $MAKEFLAGS MULTI_NAME=vlmcsdmulti-FreeBSD-10.3-x86 CLIENT_NAME=vlmcs-FreeBSD-10.3-x86 PROGRAM_NAME=vlmcsd-FreeBSD-10.3-x86 CC=clang38 CFLAGS="$CFCLANG -m32" LDFLAGS="$LF" -gmake $MAKEFLAGS allmulti CAT=2 MULTI_NAME=vlmcsdmulti-FreeBSD-10.3-x86-gcc CLIENT_NAME=vlmcs-FreeBSD-10.3-x86-gcc PROGRAM_NAME=vlmcsd-FreeBSD-10.3-x86-gcc CC=gcc5 CFLAGS="$CF -m32 -DCOMPAT_32BIT" LDFLAGS="-L/usr/lib32 -B/usr/lib32 $LF" -gmake $MAKEFLAGS CAT=2 vlmcsd-FreeBSD-10.3-x64-threads-gcc PROGRAM_NAME=vlmcsd-FreeBSD-10.3-x64-threads-gcc THREADS=1 CC=gcc5 CFLAGS="$CF" LDFLAGS="-lpthread $LF" +gmake $MAKEFLAGS allmulti CAT=2 MULTI_NAME=vlmcsdmulti-FreeBSD-10.3-x86-gcc CLIENT_NAME=vlmcs-FreeBSD-10.3-x86-gcc PROGRAM_NAME=vlmcsd-FreeBSD-10.3-x86-gcc CC=gcc6 CFLAGS="$CF -m32 -DCOMPAT_32BIT" LDFLAGS="-L/usr/lib32 -B/usr/lib32 $LF" +gmake $MAKEFLAGS CAT=2 vlmcsd-FreeBSD-10.3-x64-threads-gcc PROGRAM_NAME=vlmcsd-FreeBSD-10.3-x64-threads-gcc THREADS=1 CC=gcc6 CFLAGS="$CF" LDFLAGS="-lpthread $LF" gmake $MAKEFLAGS vlmcsd-FreeBSD-10.3-x64-threads PROGRAM_NAME=vlmcsd-FreeBSD-10.3-x64-threads THREADS=1 CC=clang38 CFLAGS="$CFCLANG" LDFLAGS="-lpthread $LF" gmake $MAKEFLAGS vlmcsd-FreeBSD-10.3-x86-threads PROGRAM_NAME=vlmcsd-FreeBSD-10.3-x86-threads THREADS=1 CC=clang38 CFLAGS="$CFCLANG -m32" LDFLAGS="-lpthread $LF" -gmake $MAKEFLAGS CAT=2 vlmcsd-FreeBSD-10.3-x86-threads-gcc PROGRAM_NAME=vlmcsd-FreeBSD-10.3-x86-threads-gcc THREADS=1 CC=gcc5 CFLAGS="$CF -m32 -DCOMPAT_32BIT" LDFLAGS="-lpthread -L/usr/lib32 -B/usr/lib32 $LF" +gmake $MAKEFLAGS CAT=2 vlmcsd-FreeBSD-10.3-x86-threads-gcc PROGRAM_NAME=vlmcsd-FreeBSD-10.3-x86-threads-gcc THREADS=1 CC=gcc6 CFLAGS="$CF -m32 -DCOMPAT_32BIT" LDFLAGS="-lpthread -L/usr/lib32 -B/usr/lib32 $LF" gmake $MAKEFLAGS CRYPTO=openssl_with_aes CLIENT_NAME=vlmcs-FreeBSD-10.3-x64-openssl1.0.1-EXPERIMENTAL PROGRAM_NAME=vlmcsd-FreeBSD-10.3-x64-openssl1.0.1-EXPERIMENTAL CC=clang38 CFLAGS="$CFCLANG" LDFLAGS="$LF" gmake $MAKEFLAGS CRYPTO=openssl_with_aes CLIENT_NAME=vlmcs-FreeBSD-10.3-x86-openssl1.0.1-EXPERIMENTAL PROGRAM_NAME=vlmcsd-FreeBSD-10.3-x86-openssl1.0.1-EXPERIMENTAL CC=clang38 CFLAGS="$CFCLANG -m32" LDFLAGS="$LF" diff --git a/output.c b/output.c index f0d7c05..213f8d9 100644 --- a/output.c +++ b/output.c @@ -168,7 +168,7 @@ void uuid2StringLE(const GUID *const guid, char *const string) ); } -#ifndef NO_VERBOSE_LOG +#if !defined(NO_VERBOSE_LOG) && !defined(NO_LOG) void logRequestVerbose(const REQUEST *const Request, const PRINTFUNC p) { char guidBuffer[GUID_STRING_LENGTH + 1]; @@ -196,13 +196,7 @@ void logRequestVerbose(const REQUEST *const Request, const PRINTFUNC p) p("SKU ID (aka Activation ID) : %s (%s)\n", guidBuffer, productName); uuid2StringLE(&Request->KMSID, guidBuffer); - - #ifndef NO_BASIC_PRODUCT_LIST productName = getProductNameLE(&Request->KMSID, ProductList, &index); - #else - productName = "Unknown"; - #endif - p("KMS ID (aka KMS counted ID) : %s (%s)\n", guidBuffer, productName); uuid2StringLE(&Request->CMID, guidBuffer); @@ -252,7 +246,7 @@ void logResponseVerbose(const char *const ePID, const BYTE *const hwid, const RE p("Renewal interval policy : %u\n", (uint32_t)LE32(response->VLRenewalInterval)); p("Activation interval policy : %u\n", (uint32_t)LE32(response->VLActivationInterval)); } -#endif // NO_VERBOSE_LOG +#endif // !defined(NO_VERBOSE_LOG) && !defined(NO_LOG) #ifndef NO_VERSION_INFORMATION diff --git a/vlmcs.1.html b/vlmcs.1.html index 3ddd8d6..c21e327 100644 --- a/vlmcs.1.html +++ b/vlmcs.1.html @@ -1,5 +1,5 @@ - + diff --git a/vlmcs.1.pdf b/vlmcs.1.pdf index 51fa290fe1c92d616b1f088368e109c281564d4a..26b6ff3b41f58d454a0a9a7624aac96f2641d4c3 100644 GIT binary patch delta 38 mcmaEVmht^r#toNEI4up$3=E8njZG)tF|k7MHp`n{Fa!V@;|#+9 delta 38 mcmaEVmht^r#toNEI4z9K4J`~!j4dYLF|k7MHp`n{Fa!V_hYZ~S diff --git a/vlmcsd-floppy.7.html b/vlmcsd-floppy.7.html index bae2542..310d69f 100644 --- a/vlmcsd-floppy.7.html +++ b/vlmcsd-floppy.7.html @@ -1,5 +1,5 @@ - + diff --git a/vlmcsd-floppy.7.pdf b/vlmcsd-floppy.7.pdf index d60cba215ec93aec24c6dbb79e756c6d3c74a734..895b1634b8885edee31bbc9647461a93c92fcab6 100644 GIT binary patch delta 38 lcmdlzk!kltrVadIoR)@W1_nmP#^#eH!mJRy&Cy{AMgZIc3X=c; delta 38 lcmdlzk!kltrVadIoEAprh8Bh<#+H*M!mJRy&Cy{AMgZN73abDB diff --git a/vlmcsd.7.html b/vlmcsd.7.html index 191d277..503d8f5 100644 --- a/vlmcsd.7.html +++ b/vlmcsd.7.html @@ -1,5 +1,5 @@ - + diff --git a/vlmcsd.7.pdf b/vlmcsd.7.pdf index 7e44450ec6babbe33aea2e6d54a95a46a2498ac5..6629bd1ae3b9119020dd89470b970605af1fe413 100644 GIT binary patch delta 38 lcmbQ*&N#K5af6^Lr=_8pfq{{+vDsuPRVxH - + diff --git a/vlmcsd.8.pdf b/vlmcsd.8.pdf index 8dd07204cfb17e12499d48c1b4d5cc465471514f..50bdada26ba006ac6e414ed9b21babf24573392e 100644 GIT binary patch delta 36 kcmaE|mFdY=rVX4K9EN5F21drlW|IXotl^x^AsG{l0N)G?3IG5A delta 36 kcmaE|mFdY=rVX4K90tY)hQ=0#29pIdtl^x^AsG{l0N#5G00000 diff --git a/vlmcsd.c b/vlmcsd.c index 7eeeefd..3ea1bf1 100644 --- a/vlmcsd.c +++ b/vlmcsd.c @@ -103,12 +103,10 @@ char* IniFileErrorBuffer = NULL; static IniFileParameter_t IniFileParameterList[] = { -# ifndef NO_BASIC_PRODUCT_LIST { "Windows", INI_PARAM_WINDOWS }, { "Office2010", INI_PARAM_OFFICE2010 }, { "Office2013", INI_PARAM_OFFICE2013 }, { "Office2016", INI_PARAM_OFFICE2016 }, -# endif // NO_BASIC_PRODUCT_LIST # ifndef NO_RANDOM_EPID { "RandomizationLevel", INI_PARAM_RANDOMIZATION_LEVEL }, { "LCID", INI_PARAM_LCID }, @@ -268,12 +266,10 @@ static __noreturn void usage() " %s [ options ]\n\n" "Where:\n" #ifndef NO_CL_PIDS - #ifndef NO_BASIC_PRODUCT_LIST " -w always use for Windows\n" " -0 always use for Office2010\n" " -3 always use for Office2013\n" " -6 always use for Office2016\n" - #endif // NO_BASIC_PRODUCT_LIST " -H always use hardware Id \n" #endif // NO_CL_PIDS #if !defined(_WIN32) && !defined(NO_USER_SWITCH) @@ -517,28 +513,6 @@ static BOOL setHwIdFromIniFileLine(const char **s, const ProdListIndex_t index) } -//static BOOL checkGuidInIniFileLine(const char **s, ProdListIndex_t *const index) -//{ -// GUID AppGuid; -// -// if (!string2Uuid(*s, &AppGuid)) return FALSE; -// -// (*s) += GUID_STRING_LENGTH; -// getProductNameHE(&AppGuid, AppList, index); -// -// if (*index > getAppListSize() - 2) -// { -// IniFileErrorMessage = "Unknown App Guid."; -// return FALSE; -// } -// -// iniFileLineNextWord(s); -// if ( *(*s)++ != '=' ) return FALSE; -// -// return TRUE; -//} - - static BOOL setEpidFromIniFileLine(const char **s, const ProdListIndex_t index) { iniFileLineNextWord(s); @@ -580,31 +554,26 @@ static BOOL setIniFileParameter(uint_fast8_t id, const char *const iniarg) switch(id) { - -# ifndef NO_BASIC_PRODUCT_LIST - case INI_PARAM_WINDOWS: - setEpidFromIniFileLine(&s, 0); - setHwIdFromIniFileLine(&s, 0); + setEpidFromIniFileLine(&s, EPID_INDEX_WINDOWS); + setHwIdFromIniFileLine(&s, EPID_INDEX_WINDOWS); break; case INI_PARAM_OFFICE2010: - setEpidFromIniFileLine(&s, 1); - setHwIdFromIniFileLine(&s, 1); + setEpidFromIniFileLine(&s, EPID_INDEX_OFFICE2010); + setHwIdFromIniFileLine(&s, EPID_INDEX_OFFICE2010); break; case INI_PARAM_OFFICE2013: - setEpidFromIniFileLine(&s, 2); - setHwIdFromIniFileLine(&s, 2); + setEpidFromIniFileLine(&s, EPID_INDEX_OFFICE2013); + setHwIdFromIniFileLine(&s, EPID_INDEX_OFFICE2013); break; case INI_PARAM_OFFICE2016: - setEpidFromIniFileLine(&s, 3); - setHwIdFromIniFileLine(&s, 3); + setEpidFromIniFileLine(&s, EPID_INDEX_OFFICE2016); + setHwIdFromIniFileLine(&s, EPID_INDEX_OFFICE2016); break; -# endif - # if !defined(NO_USER_SWITCH) && !defined(_WIN32) case INI_PARAM_GID: @@ -1114,47 +1083,44 @@ static void parseGeneralArguments() { #endif // !defined(NO_SOCKETS) && !defined(NO_SIGHUP) && !defined(_WIN32) #ifndef NO_CL_PIDS - #ifndef NO_BASIC_PRODUCT_LIST case 'w': - KmsResponseParameters[APP_ID_WINDOWS].Epid = getCommandLineArg(optarg); + KmsResponseParameters[EPID_INDEX_WINDOWS].Epid = getCommandLineArg(optarg); #ifndef NO_LOG - KmsResponseParameters[APP_ID_WINDOWS].EpidSource = "command line"; + KmsResponseParameters[EPID_INDEX_WINDOWS].EpidSource = "command line"; #endif // NO_LOG break; case '0': - KmsResponseParameters[APP_ID_OFFICE2010].Epid = getCommandLineArg(optarg); + KmsResponseParameters[EPID_INDEX_OFFICE2010].Epid = getCommandLineArg(optarg); #ifndef NO_LOG - KmsResponseParameters[APP_ID_OFFICE2010].EpidSource = "command line"; + KmsResponseParameters[EPID_INDEX_OFFICE2010].EpidSource = "command line"; #endif // NO_LOG break; case '3': - KmsResponseParameters[APP_ID_OFFICE2013].Epid = getCommandLineArg(optarg); + KmsResponseParameters[EPID_INDEX_OFFICE2013].Epid = getCommandLineArg(optarg); #ifndef NO_LOG - KmsResponseParameters[APP_ID_OFFICE2013].EpidSource = "command line"; + KmsResponseParameters[EPID_INDEX_OFFICE2013].EpidSource = "command line"; #endif // NO_LOG break; case '6': - KmsResponseParameters[3].Epid = getCommandLineArg(optarg); + KmsResponseParameters[EPID_INDEX_OFFICE2016].Epid = getCommandLineArg(optarg); #ifndef NO_LOG - KmsResponseParameters[3].EpidSource = "command line"; + KmsResponseParameters[EPID_INDEX_OFFICE2016].EpidSource = "command line"; #endif // NO_LOG break; - #endif // NO_BASIC_PRODUCT_LIST - case 'H': HwId = (BYTE*)vlmcsd_malloc(sizeof(((RESPONSE_V6 *)0)->HwId)); hex2bin(HwId, optarg, sizeof(((RESPONSE_V6 *)0)->HwId)); - KmsResponseParameters[APP_ID_WINDOWS].HwId = HwId; - KmsResponseParameters[APP_ID_OFFICE2010].HwId = HwId; - KmsResponseParameters[APP_ID_OFFICE2013].HwId = HwId; - KmsResponseParameters[3].HwId = HwId; + KmsResponseParameters[EPID_INDEX_WINDOWS].HwId = + KmsResponseParameters[EPID_INDEX_OFFICE2010].HwId = + KmsResponseParameters[EPID_INDEX_OFFICE2013].HwId = + KmsResponseParameters[EPID_INDEX_OFFICE2016].HwId = HwId; break; #endif // NO_CL_PIDS diff --git a/vlmcsd.ini.5.html b/vlmcsd.ini.5.html index e1e7cef..78c20f7 100644 --- a/vlmcsd.ini.5.html +++ b/vlmcsd.ini.5.html @@ -1,5 +1,5 @@ - + diff --git a/vlmcsd.ini.5.pdf b/vlmcsd.ini.5.pdf index 0bfe07bab765077ffcd49edfea243b569e2c79bb..a209a60839e77ff124da44171aac6c2d3fd2183c 100644 GIT binary patch delta 36 lcmdnCm~q=;#toN^I1J4U42+D8%_iSAvW9au%Nfs*0|4hZ3poG) delta 36 lcmdnCm~q=;#toN^I1G#p42>-e4JO| - + diff --git a/vlmcsdmulti.1.pdf b/vlmcsdmulti.1.pdf index d3ef7b7928cf925240bcf66b55d97f67c7fe2ac2..9d6ff63d0bcb1fd0c0f3ff6d37a78000d1b0f2c2 100644 GIT binary patch delta 36 jcmdnxx65yXI47s2p_ze!k+HGaWCczu1aEUP=XF^CxZVkv delta 36 jcmdnxx65yXI47rtk-4FTp^35OWCczu1aEUP=XF^Cx`GL^