Easily parse the cdm device info response from: https://tools.axinom.com/decoders/LicenseRequest
SITE STATUS: WORKING BUT LIMITED
GUI Version here: https://github.com/zackmark29/CDM-Device-Checker/releases/tag/v1.0.0-2022-10-03
INSTRUCTIONS:
- Just double click the
add_context_menu.bat
to automatically add context menu into your registry - You can also change the context title ("Check Client Id Blob") inside the bat file
- Now you can do like the ss below or you can just drag and drop the file in the bat file
From client_id_blob
From challange.txt
- Fixed error when using the context menu with path that has blank/space
- Disabled parsing from axinom (temporarily maybe)
- Only accept and parse client_id_blob information
- Automatically run "add_context_menu.bat" as admin
- Don't write challenge.txt automatically
- Print client id blob basic info if --quite mode enabled
- Prompt to load challenge from "challenge.txt" if input is empty
- Colored is now optional (see config.py)
- NOTE: For windows 7, if you want to print colored text, you can use ansicon.
- INSTRUCTIONS:
- Extract the zip file
- Take the folder (x86 if you are using 32bit / x64 if 64bit) and place somewhere and then add the binary to your Environment Variables
- Simply run for the first time in your cmd:
ansicon -i
- Now it should be injected to your cmd and colored text should show normally.
- Saving file is now optional (add --save arg to save the file)
- Added os_version info
- Removed context_menu.reg and replaced with batch file instead to automatically assign the current check.bat full path
- Added current full path in check.bat instead of adding manually
- Renamed proto to wv_proto to avoid conflict from proto import
- colored output for device info and logger
- You can edit the output file name format (see in config.py)
- And some little changes
SAMPLE OUTPUT:
- 1087720375 | Added registry context menu for easy check from challange.txt or client_id_blob
- 1087669514 | Fixed iterating on NoneType item
- python 3.6-later compatibility
- Removed dictionary merge operator "|"
- Removed test argument. Just load the test challenge from "challenge.txt" (e.g. py check.py chalenge.txt)
- Added base64 validation
- Display if revoked or active
- Modified output file name with additional info (e.g. ChromeCDM-20122-L3-[ACTIVE].json)
- Can now load challenge base64 from txt file or client_id_blob with/without extension .bin
- Final output file path will be on the location of input file path
- And some minor changes
- Fixed matching client type
- Print device info by default. Only use quite option for client_id_blob info
- Save challenge base64 to txt file if parsing client_id_blob (so you can verify from https://tools.axinom.com/decoders/LicenseRequest)
- Added protobuf for parsing client_id_blob
- Extract challenge directly from client_id_blob file
- Fully refactored for getting/matching device info
- Added arguments (see --help)
- Display the error if found in the response
py.check.py "challenge base64 string"
py.check.py "device_client_id_blob"
py.check.py "challenge.txt"
add -q/--quite if you don't want to print the results
{
"status": "ACTIVE",
"ForTestingOnly": "No",
"systemId": "4464",
"securityLevel": "LEVEL_3",
"manufacturer": "Generic Field Provisioning",
"model": "Android KLP x86",
"modelYear": "2013",
"modelName": "Android SDK built for x86",
"systemOnChip": "android generic",
"type": "software",
"AdditionalInfo": {
"applicationName": null,
"architectureName": "x86",
"buildInfo": "google/sdk_google_phone_x86/generic_x86:7.1.1/NYC/5464897:userdebug/test-keys",
"companyName": "Google",
"deviceId": "zdfDCPHaHrBQakqKhEcFqXiLwbblJwg",
"deviceName": "generic_x86",
"productName": "sdk_google_phone_x86",
"widevineCdmVersion": "v4.1.0-android"
}
}