Files
KeyDive/keydive/drm/__init__.py
T
2026-06-14 15:47:50 +02:00

57 lines
2.6 KiB
Python

from keydive.adb.vendor import Vendor
# Maximum clear API level for Keybox
# https://cs.android.com/android/platform/superproject/+/android14-qpr3-release:trusty/user/app/sample/hwcrypto/keybox/keybox.c
KEYBOX_MAX_CLEAR_API = 28
# https://cs.android.com/search?q=oemcrypto&sq=&ss=android%2Fplatform%2Fsuperproject
OEM_CRYPTO_API = (
# Mapping of function names across different API levels (obfuscated names may vary).
'rnmsglvj', 'polorucp', 'kqzqahjq', 'pldrclfq', 'kgaitijd', 'cwkfcplc', 'crhqcdet', 'dnvffnze', 'ygjiljer',
'qbjxtubz', 'qkfrcjtw', 'rbhjspoh', 'zgtjmxko', 'igrqajte', 'ofskesua', 'qllcoacg', 'pukctkiv', 'ehdqmfmd',
'xftzvkwx', 'gndskkuk', 'wcggmnnx', 'kaatohcz', 'ktmgdchz', 'jkcwonus', 'ehmduqyt', 'vewtuecx', 'mxrbzntq',
'isyowgmp', 'flzfkhbc', 'rtgejgqb', 'sxxprljw', 'ebxjbtxl', 'pcmtpkrj', 'uegpdzus', 'ncmqbmbc', 'faokrmio',
'uerbupkh', 'dirwetvo', 'kssgqibl', 'wzpmjqna', 'wnfopbkt', 'ulns'
# Add more as needed for different versions.
)
# https://developers.google.com/widevine
CDM_FUNCTIONS = (
'UsePrivacyMode',
'GetCdmClientPropertySet',
'PrepareKeyRequest',
'AesCbcKey',
'Read', '_x1c36',
'runningcrc',
'_oecc07', '_lcc07',
'_oecc04', '_lcc04',
'_oecc49', '_lcc49',
'_oecc12', '_lcc12', '_oecc95', '_lcc95',
#'_oecc21', '_lcc21',
'GenerateDerivedKeys'
)
# https://developer.android.com/tools/releases/platforms
CDM_VENDOR_API = (
Vendor('mediaserver', 22, (11, '1.0'), 'libwvdrmengine.so'),
Vendor('mediadrmserver', 24, (11, '1.0'), 'libwvdrmengine.so'),
Vendor('android.hardware.drm@1.0-service.widevine', 26, (13, '5.1.0'), 'libwvhidl.so'),
Vendor('android.hardware.drm@1.1-service.widevine', 28, (14, '14.0.0'), 'libwvhidl.so'),
Vendor('android.hardware.drm@1.2-service.widevine', 29, (15, '15.0.0'), 'libwvhidl.so'),
Vendor('android.hardware.drm@1.3-service.widevine', 30, (16, '16.0.0'), 'libwvhidl.so'),
Vendor('android.hardware.drm@1.4-service.widevine', 31, (16, '16.1.0'), 'libwvhidl.so'),
Vendor('android.hardware.drm-service.widevine', 33, (17, '17.0.0'), 'libwvaidl.so'),
Vendor('android.hardware.drm-service.widevine', 34, (18, '18.0.0'), 'android.hardware.drm-service.widevine')
# TODO: Add support for Android 17 (SDK 37) (-rikers)
)
# https://github.com/kaltura/kaltura-device-info-android/blob/master/app/src/main/java/com/kaltura/kalturadeviceinfo/Collector.java#L317
CDM_PROPERTIES = {
'CompanyName': 'ro.product.manufacturer',
'ModelName': 'ro.product.model',
'ArchitectureName': 'ro.product.cpu.abi',
'DeviceName': 'ro.product.device',
'ProductName': 'ro.product.name',
'BuildInfo': 'ro.build.fingerprint'
}