diff --git a/CHANGELOG.md b/CHANGELOG.md index dc3aa4d..05d76c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,176 +1,121 @@ ### py-kms_2017-06-01 - - - **Added option verbose logging in a file** - - *Updated "kmsBase.py" with new SKUIDs* - - *Added a brief guide "py-kms-Guide.txt" ( replaced "client-activation.txt" )* - - *Added a well formatted and more complete list of volume keys "py-kms-ClientKeys.txt" ( replaced "client-keys.txt" )* + - *Added option verbose logging in a file* + - *Updated "kmsBase.py" with new SKUIDs* + - *Added a brief guide "py-kms-Guide.txt" ( replaced "client-activation.txt" )* + - *Added a well formatted and more complete list of volume keys "py-kms-ClientKeys.txt" ( replaced "client-keys.txt" )* ### py-kms_2016-12-30 - - - *Updated kmsBase.py (Matches LicenseManager 4.6.0 by Hotbird64 HGM)* + - *Updated kmsBase.py (Matches LicenseManager 4.6.0 by Hotbird64 HGM)* ### py-kms_2016-08-13 + - *Fixed major bug on Response function* + - *Fixed Random PID Generator (thanks: mkuba50)* - - *Fixed major bug on Response function* - - *Fixed Random PID Generator (thanks: mkuba50)* - - ### py-kms_2016-08-12 - - - *Added missing UUID, credits: Hotbird64* - - *Added Windows Server 2016 in random PID generator* +### py-kms_2016-08-12 + - *Added missing UUID, credits: Hotbird64* + - *Added Windows Server 2016 in random PID generator* ### py-kms_2016-08-11 - - - *Added Windows Server 2016 UUID* - - *Fixed GroupID and PIDRange* - - *Added Office 2016 CountKMSID* + - *Added Windows Server 2016 UUID* + - *Fixed GroupID and PIDRange* + - *Added Office 2016 CountKMSID* +### py-kms_2015-07-29 + - * Added Windows 10 UUID* + +### py-kms_2014-10-13 build 3: + - * Added Client Activation Examples: "client-activation.txt"* + - * Added Volume Keys: "client-keys.txt"* + +### py-kms_2014-10-13 build 2: + - * Added missing skuIds in file "kmsbase.py". Thanks (user_hidden)* -py-kms_2015-07-29 +### py-kms_2014-10-13 build 1: + - * The server now outputs the hwid in use.* + - * The server hwid can be random by using parameter: "-w random". Example: "python server.py -w random"* + - * Included file "randomHWID.py" to generate random hwid on demand.* + - * Included file "randomPID.py" to generate random epid and hwid on demand.* - * Added Windows 10 UUID +### py-kms_2014-03-21T232943Z: +- *The server HWID can now be specified on the command line.* +- *The client will print the HWID when using the v6 protocol.* +### py-kms_2014-01-03T032458Z: + - *Made the sqlite3 module optional.* + - *Changed the "log" flag to an "sqlite" flag and made a real log flag in preparation for when real request logging is implemented.* + +### py-kms_2014-01-03T025524Z: + - *Added RPC response decoding to the KMS client emulator.* + +### py-kms_2013-12-30T064443Z: + - *The v4 hash now uses the proper pre-expanded key.* + +### py-kms_2013-12-28T073506Z: + - *Modified the v4 code to use the custom aes module in order to make it more streamlined and efficient.* + +### py-kms_2013-12-20T051257Z: + - *Removed the need for the pre-computed table (tablecomplex.py) for v4 CMAC calculation, cutting the zip file size in half.* + +### py-kms_2013-12-16T214638Z: + - *Switched to getting the to-be-logged request time from the KMS server instead of the client.* + +### py-kms_2013-12-16T030001Z: + - *You can now specify the CMID and the Machine Name to use with the client emulator.* + +### py-kms_2013-12-16T021215Z: + - *Added a request-logging feature to the server. It stores requests in an SQLite database and uses the ePIDs stored there on a per-CMID basis.* + - *The client emulator now works for v4, v5, and v6 requests.* + - *The client emulator now also verifies the KMS v4 responses it receives.* -py-kms_2014-10-13 build 3: +### py-kms_2013-12-14T230215Z + - *Added a client (work in progress) that right now can only generate and send RPC bind requests.* + - *Added a bunch of new classes to handle RPC client stuff, but I might just end up moving their functions back into the old classes at some point.* + - *Lots of other code shuffling.* + - *Made the verbose and debug option help easier to read.* + - *Added some server error messages.* - * Added Client Activation Examples: "client-activation.txt" - * Added Volume Keys: "client-keys.txt" +### py-kms_2013-12-08T051332Z: + - *Made some really huge internal changes to streamline packet parsing.* - -py-kms_2014-10-13 build 2: - - * Added missing skuIds in file "kmsbase.py". Thanks (user_hidden) - - -py-kms_2014-10-13 build 1: +### py-kms_2013-12-06T034100Z: + - *Added tons of new SKU IDs* - * The server now outputs the hwid in use. - * The server hwid can be random by using parameter: "-w random". Example: "python server.py -w random" - * Included file "randomHWID.py" to generate random hwid on demand. - * Included file "randomPID.py" to generate random epid and hwid on demand. +### py-kms_2013-12-05T044849Z: + - *Added Office SKU IDs* + - *Small internal changes* +### py-kms_2013-12-04T010942Z: + - *Made the rpcResponseArray in rpcRequest output closer to spec* -py-kms_2014-03-21T232943Z: +### py-kms_2013-12-01T063938Z: + - *SKUID conversion: Converts the SKUID UUID into a human-readable product version for SKUIDs in its SKUID dictionary.* + - *Fancy new timezone conversion stuff.* + - *Enabled setting custom LCIDs.* + - *Data parsing is now handled by structure.py.* + - *Some other minor stuff you probably won't notice.* - * The server HWID can now be specified on the command line. - * The client will print the HWID when using the v6 protocol. +### py-kms_2013-11-27T061658Z: + - *Got rid of custom functions module (finally)* - -py-kms_2014-01-03T032458Z: +### py-kms_2013-11-27T054744Z: + - *Simplified custom functions module* + - *Got rid of "v4" subfolder* + - *Cleaned up a bunch of code* - * Made the sqlite3 module optional. - * Changed the "log" flag to an "sqlite" flag and made a real log flag in preparation for when real request logging is implemented. +### py-kms_2013-11-23T044244Z: + - *Added timestamps to verbose output* + - *Made the verbose output look better* - -py-kms_2014-01-03T025524Z: +### py-kms_2013-11-21T014002Z: + - *Moved some stuff into verbose output* + - *Enabled server ePIDs of arbitrary length* - * Added RPC response decoding to the KMS client emulator. - - -py-kms_2013-12-30T064443Z: +### py-kms_2013-11-20T180347Z: + - *Permanently fixed machineName decoding* + - *Adheres closer to the DCE/RPC protocol spec* + - *Added client info to program output* + - *Small formatting changes* - * The v4 hash now uses the proper pre-expanded key. - - -py-kms_2013-12-28T073506Z: - - * Modified the v4 code to use the custom aes module in order to make it more streamlined and efficient. - - -py-kms_2013-12-20T051257Z: - - * Removed the need for the pre-computed table (tablecomplex.py) for v4 CMAC calculation, cutting the zip file size in half. - - -py-kms_2013-12-16T214638Z: - - * Switched to getting the to-be-logged request time from the KMS server instead of the client. - - -py-kms_2013-12-16T030001Z: - - * You can now specify the CMID and the Machine Name to use with the client emulator. - - -py-kms_2013-12-16T021215Z: - - * Added a request-logging feature to the server. It stores requests in an SQLite database and uses the ePIDs stored there on a per-CMID basis. - * The client emulator now works for v4, v5, and v6 requests. - * The client emulator now also verifies the KMS v4 responses it receives. - - -py-kms_2013-12-14T230215Z: - - * Added a client (work in progress) that right now can only generate and send RPC bind requests. - * Added a bunch of new classes to handle RPC client stuff, but I might just end up moving their functions back into the old classes at some point. - * Lots of other code shuffling. - * Made the verbose and debug option help easier to read. - * Added some server error messages. - - -py-kms_2013-12-08T051332Z: - - * Made some really huge internal changes to streamline packet parsing. - - -py-kms_2013-12-06T034100Z: - - * Added tons of new SKU IDs - - -py-kms_2013-12-05T044849Z: - - * Added Office SKU IDs - * Small internal changes - - -py-kms_2013-12-04T010942Z: - - * Made the rpcResponseArray in rpcRequest output closer to spec - - -py-kms_2013-12-01T063938Z: - - * SKUID conversion: Converts the SKUID UUID into a human-readable product version for SKUIDs in its SKUID dictionary. - * Fancy new timezone conversion stuff. - * Enabled setting custom LCIDs. - * Data parsing is now handled by structure.py. - * Some other minor stuff you probably won't notice. - - -py-kms_2013-11-27T061658Z: - - * Got rid of custom functions module (finally) - - -py-kms_2013-11-27T054744Z: - - * Simplified custom functions module - * Got rid of "v4" subfolder - * Cleaned up a bunch of code - - -py-kms_2013-11-23T044244Z: - - * Added timestamps to verbose output - * Made the verbose output look better - - -py-kms_2013-11-21T014002Z: - - * Moved some stuff into verbose output - * Enabled server ePIDs of arbitrary length - - -py-kms_2013-11-20T180347Z: - - * Permanently fixed machineName decoding - * Adheres closer to the DCE/RPC protocol spec - * Added client info to program output - * Small formatting changes - - -py-kms_2013-11-13: - - * First working release added to the Mega folder. +### py-kms_2013-11-13: + - *First working release added to the Mega folder.*