Skip to content

Parse CDM Device info from challenge base64 or client_id_blob

Notifications You must be signed in to change notification settings

zackmark29/CDM-Device-Checker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CDM-Device-Checker


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 image


TIPS:

Add context menu for easy check from challange.txt or client_id_blob

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

image

From challange.txt

image


CHANGELOGS

[1.0.8] | 2022-04-27

  • 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

[1.0.7] | 2022-01-28

  • 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.

[1.0.6] | 2022-01-23

  • Saving file is now optional (add --save arg to save the file)
  • Added os_version info

[1.0.5] | 2022-01-08

  • 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:

image


[1.0.4] | 2021-12-27

  • 1087720375 | Added registry context menu for easy check from challange.txt or client_id_blob
  • 1087669514 | Fixed iterating on NoneType item

[1.0.3] | 2021-12-21

  • 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

[1.0.2] | 2021-12-09


[1.0.1] | 2021-12-04

  • 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

USAGE

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

RESULT

{
    "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"
    }
}