
给TWRP增加Data解密功能-高通)
给TWRP增加Data解密功能-高通)
前言
qseecomd是高通(Qualcomm)设备上的一个关键系统守护进程(daemon),全称为 QSEE Communication Daemon,主要负责用户态进程与 QSEE(Qualcomm Secure Execution Environment,高通安全执行环境)之间的通信管理。
正文
以下演示机型为OPPO Ace2
所需文件
- qseecomd
- libQSEEComAPI.so
- libdrmfs.so
这两个so文件是支持qseecomd运行的基础
Add file · momo54181/twrp_device_oppo_OP4AD9@34d3483
把libandroidicu.so放到system/lib64里
上面是我提交的PR,原版照抄从官方recovery文件复制过来,如果官方recovery的vendor目录是空的,直接把设备vendor分区薅过来,直接复制。
接下来就是复制keymaster和gatekeeper文件了。
Bin目录
lib64目录
找关键字gatekeeper@后面带-service-qti,keymaster@后面带-service-qti
bin目录的复制到system/bin,lib64目录的复制到vendor/lib64/hw
BoardConfig.mk文件
添加
1 | TARGET_RECOVERY_DEVICE_MODULES += \ |
BOARD_USES_QCOM_FBE_DECRYPTION := true
device.mk添加
1 | PRODUCT_PACKAGES_ENG += \ |
init.recovery.qcom.rc在一开头添加
1 | import /init.recovery.qcom_decrypt.rc |
然后编译就OK
其他
如果data挂载参数为/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,resize,check,formattable,fileencryption=ice,wrappedkey,quota,reservedsize=128M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs
有fileencryption=ice
的需要在twrp.flags文件里添加元加密分区的密钥位置keydirectory=/metadata/vold/metadata_encryption
示例:/data f2fs /dev/block/bootdevice/by-name/userdata flags=fileencryption=ice;wrappedkey;keydirectory=/metadata/vold/metadata_encryption
- 感谢您的赞赏