惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
IT之家
IT之家
博客园_首页
量子位
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
博客园 - 聂微东
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
Hugging Face - Blog
Hugging Face - Blog
V
V2EX
爱范儿
爱范儿
大猫的无限游戏
大猫的无限游戏
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
Microsoft Azure Blog
Microsoft Azure Blog
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

Momo5418's Blog

一天一天又一天 我装回了4年前的Bilibili客户端 Winbtrfs权限设置问题 荣耀畅玩50Plus玩机教程 抛弃Windows,转向Ubuntu 25.04。 真我【Realme】Q2 Pro玩机教程 记一次B85装机历程以及后期遇到的问题 TWRP编译及设备树报错解决合集 CT321小主机刷64位BIOS及iStoreOS教程 科技与狠活——快s防伪 偶遇电信机房故障 Ubuntu 24.04.1 LTS 日用问题解决 Ubuntu 24.04.1 LTS 日用补全计划 OPPO R15玩机教程 Get到了一台新设备 如何搭建自己的Hexo博客【第一期】 旁路由openwrt开启代理IPv6 升入高中的感受 未成年办理工商银行卡经历 ROM编译bug修复
给TWRP增加Data解密功能-高通)
『Momo5418』,momo5418@mocn.top · 2025-08-18 · via Momo5418's Blog
教程TWRPData解密高通

给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目录

  • android.hardware.gatekeeper@1.0-service-qti
  • android.hardware.keymaster@4.0-service-qti

lib64目录

  • android.hardware.gatekeeper@1.0-impl-qti.so

找关键字gatekeeper@后面带-service-qti,keymaster@后面带-service-qti

bin目录的复制到system/bin,lib64目录的复制到vendor/lib64/hw


BoardConfig.mk文件

添加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
TARGET_RECOVERY_DEVICE_MODULES += \
android.hidl.allocator@1.0 \
android.hidl.memory@1.0 \
android.hidl.memory.token@1.0 \
libdmabufheap \
libhidlmemory \
libion \
libnetutils \
vendor.display.config@1.0 \
vendor.display.config@2.0 \
libdebuggerd_client

RECOVERY_LIBRARY_SOURCE_FILES += \
$(TARGET_OUT_SHARED_LIBRARIES)/android.hidl.allocator@1.0.so \
$(TARGET_OUT_SHARED_LIBRARIES)/android.hidl.memory@1.0.so \
$(TARGET_OUT_SHARED_LIBRARIES)/android.hidl.memory.token@1.0.so \
$(TARGET_OUT_SHARED_LIBRARIES)/libdmabufheap.so \
$(TARGET_OUT_SHARED_LIBRARIES)/libhidlmemory.so \
$(TARGET_OUT_SHARED_LIBRARIES)/libion.so \
$(TARGET_OUT_SHARED_LIBRARIES)/libnetutils.so \
$(TARGET_OUT_SHARED_LIBRARIES)/libdebuggerd_client.so \
$(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@1.0.so \
$(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@2.0.so

BOARD_USES_QCOM_FBE_DECRYPTION := true

device.mk添加

1
2
3
4
PRODUCT_PACKAGES_ENG += \
qcom_decrypt \
qcom_decrypt_fbe

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