Files
KeyDive/keydive/drm/__init__.py
T

57 lines
2.6 KiB
Python
Raw Normal View History

2025-06-09 18:12:49 +02:00
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).
2025-07-09 22:45:19 +02:00
'rnmsglvj', 'polorucp', 'kqzqahjq', 'pldrclfq', 'kgaitijd', 'cwkfcplc', 'crhqcdet', 'dnvffnze', 'ygjiljer',
2025-06-09 18:12:49 +02:00
'qbjxtubz', 'qkfrcjtw', 'rbhjspoh', 'zgtjmxko', 'igrqajte', 'ofskesua', 'qllcoacg', 'pukctkiv', 'ehdqmfmd',
'xftzvkwx', 'gndskkuk', 'wcggmnnx', 'kaatohcz', 'ktmgdchz', 'jkcwonus', 'ehmduqyt', 'vewtuecx', 'mxrbzntq',
2025-07-09 22:45:19 +02:00
'isyowgmp', 'flzfkhbc', 'rtgejgqb', 'sxxprljw', 'ebxjbtxl', 'pcmtpkrj', 'uegpdzus', 'ncmqbmbc', 'faokrmio',
2026-06-14 15:47:50 +02:00
'uerbupkh', 'dirwetvo', 'kssgqibl', 'wzpmjqna', 'wnfopbkt', 'ulns'
2025-06-09 18:12:49 +02:00
# 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',
2025-06-14 18:47:59 +02:00
'_oecc12', '_lcc12', '_oecc95', '_lcc95',
#'_oecc21', '_lcc21',
2025-06-09 18:12:49 +02:00
'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')
2026-06-14 15:47:50 +02:00
# TODO: Add support for Android 17 (SDK 37) (-rikers)
2025-06-09 18:12:49 +02:00
)
# 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'
}