ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

TEESimulator快速上手教程:从刷入模块、放置Keybox到配置第一个模拟Profile的完整流程

TEESimulator快速上手教程:从刷入模块、放置Keybox到配置第一个模拟Profile的完整流程 TEESimulator快速上手教程从刷入模块、放置Keybox到配置第一个模拟Profile的完整流程【免费下载链接】TEESimulatorSoftware simulation for Android hardware-backed key pairs with key attestation项目地址: https://gitcode.com/gh_mirrors/te/TEESimulatorTEESimulator是一个 Android Root 模块用于软件模拟硬件级密钥对hardware-backed key pairs及其密钥证明Key Attestation它把 AOSP 官方的参考 KeyMint 可信应用kmr-ta注入到真实的 keystore 守护进程内部用你提供的 Keybox 为指定应用签发证明证书——证书由 TEE 同款代码生成因此结构上天然一致。本教程带你走完完整流程刷入模块 → 放置 Keybox → 配置第一个模拟 Profile → 验证生效全程无需重启即可热更新配置。一、工作原理它到底模拟了什么TEESimulator 并非事后修补证书而是在源头接管证明流程特权控制守护进程/data/adb/teesim/负责配置管理、采集真实设备身份verified-boot 状态、补丁级别、系统版本并把解析后的配置通过本地 socket 推送给注入库注入的原生库是纯粹的加密 路由引擎目标应用的密钥证明请求被重定向到进程内的参考 KeyMint TA其余所有请求原样转发给真实硬件未加载 Keybox 时拦截器完全空转no-op——配置失误时模块是无动作而非危险动作。不同 Android 版本走不同的拦截路径详见 README.mdAndroid 版本守护进程拦截点对应源码12 及以上keystore2HookAIBinder_transactkeymint/10 / 11旧版keystoreHook libbinder 的ioctlkeystore/两条路径最终都汇聚到同一个进程内 TArust/teesim-km/和同一个 Keybox。二、开始前确认设备要求在动手前请确认三项硬性要求缺一不可✅Android 10 及以上✅64 位设备arm64-v8a 或 x86_64——安装脚本会在 module/customize.sh 中检测架构32 位设备会直接中止安装✅Root 权限Magisk、KernelSU 或 APatch 均可。⚠️ 提示若你已启用 TrickyStore安装时会自动将其停用因为两者 Hook 的是同一条 keystore 路径同时运行会双重拦截见 module/customize.sh。三、第一步刷入模块并重启一键安装步骤以任意 Root 管理器为例下载模块 ZIP 包在 Magisk / KernelSU / APatch 管理器中本地安装该模块重启设备。启动后module/service.sh 会拉起 Kotlin 控制守护进程module/daemon它完成四件事采集真实 TEE 的证明参数 → 解析配置文件 → 向 keystore 注入拦截库 → 推送解析后的配置。守护进程还会持续监视配置变化热更新、无需重启。首次安装时脚本会自动完成两件善后工作把默认配置 module/config.default.json 拷贝为/data/adb/teesim/config.json若你此前为 TrickyStore 配置过keybox.xml且本模块还没有 Keybox会自动接管复用它。四、第二步放置 KeyboxKeybox 是模拟的签名根它携带用于签发证明的私钥和证书链。模块出于安全考虑从不附带 Keybox放置前拦截器不会做任何事。放置方法将keybox.xml放到以下路径/data/adb/teesim/keybox.xml一个合法的 Keybox 必须同时包含RSA和ECDSANIST P-256两组密钥各带 PEM 格式私钥和至少两层证书链?xml version1.0? AndroidAttestation Keybox DeviceID... Key algorithmrsa PrivateKey formatpem-----BEGIN PRIVATE KEY-----.../PrivateKey CertificateChain Certificate formatpem-----BEGIN CERTIFICATE-----.../Certificate /CertificateChain /Key Key algorithmecdsa PrivateKey formatpem-----BEGIN EC PRIVATE KEY-----.../PrivateKey CertificateChain Certificate formatpem-----BEGIN CERTIFICATE-----.../Certificate /CertificateChain /Key /Keybox /AndroidAttestation 建议在支持 WebUI 的 Root 管理器KernelSU、APatch中可以直接在Keyboxes 页面导入/重命名 Keybox省去手动改文件。五、第三步配置第一个模拟 ProfileProfile 是 TEESimulator 的核心概念一个命名捆绑包 Keybox 运行模式 补丁/系统版本级别 可选设备身份品牌、型号、IMEI…再整体分配给一批应用。规则是每个目标应用恰好属于一个 Profile。5.1 方式一直接编辑 config.json文件位于/data/adb/teesim/config.json。出厂默认配置module/config.default.json已预置一个defaultProfile目标是 Google 服务与 Play 商店{ version: 1, profiles: { default: { keybox: keybox.xml, mode: patch, patchLevel: { system: today, vendor: YYYY-MM-05, boot: YYYY-MM-05 }, osVersion: , brand: , model: , serial: , imei: , apps: [ com.google.android.gms, com.android.vending ] } } }最快配置方法只需往apps数组里加上你想模拟的应用包名保存即可——守护进程监视文件变化并即时生效不用重启。几个常用字段的微型语言速查字段取值含义harvested复用从真实 TEE 采集时的值system_property从getprop读取对应系统属性today当前月份YYYY-MM-05动态令牌本月 5 号默认补丁级别随日历走no不上报该级别设备身份留空回退到采集自真实 TEE 的值保证自洽 注意信任根verified-boot key/state、device-locked是故意不可配置的——守护进程采集一次后冻结。这些字段还参与密钥加密密钥的派生冻结才能保证设备存储的密钥在重启后仍可解密。5.2 方式二用 WebUI 可视化编辑推荐新手在 KernelSU / APatch 管理器中打开模块的 WebUI前端位于 module/webroot/页面入口 module/webroot/index.html五个页签各有所长Profiles创建/编辑 Profile、把应用分配到 Profile、选择运行模式与补丁级别Keyboxes导入、重命名 KeyboxKeys列出模拟器创建的密钥、查看证明记录、删除System查看采集与注入状态、在线下载并刷入新版Logs实时滚动守护进程日志排障首选。六、验证生效与故障恢复最快验证方法用第三方密钥证明检测类应用默认配置中已带一个io.github.vvb2060.keyattestation发起证明检查证书链是否由你的 Keybox 根签发以及 patchLevel、设备信息是否与 Profile 配置一致。遇到问题怎么恢复杀掉 keystore 守护进程即可让新进程以无拦截状态干净启动等模块下次注入前# Android 12 su -c kill $(pidof keystore2) # Android 10 / 11 su -c kill $(pidof keystore)其余排障建议看WebUI 的 Logs 页签确认守护进程是否成功完成采集harvest与注入inject确认 Keybox 同时含 RSA 与 ECDSA 两组密钥、证书链 ≥ 2 层、路径相对/data/adb/teesim/可解析确认应用包名只出现在一个Profile 中重复归属非法。七、延伸阅读项目结构地图目录职责app/Kotlin 控制守护进程采集参数、解析 Profile、注入、提供 WebUIinjector/基于 ptrace 的进程注入工具keymint/Android 12 拦截器AIBinder_transactHook 与路由器keystore/Android 10/11 拦截器libbinderioctlHookrust/teesim-km/进程内参考 KeyMint TA对接 BoringSSL 与 Keybox 证明module/可刷入模块本体启动脚本、默认配置、WebUI、sepolicythird_party/AOSP 参考 KeyMint、AIDL 接口、BoringSSL 等子模块如果你想从源码构建构建不依赖真机执行git clone --recurse-submodules https://gitcode.com/gh_mirrors/te/TEESimulator TEESimulator cd TEESimulator ./gradlew zipRelease产物为out/TEESimulator-version-count-hash-Release.zip可直接用于刷入连接真机时也可用./gradlew installMagisk或installKsu/installApatch一键推送安装。八、常见问题 FAQQ1没有放 Keybox 模块会生效吗不会。拦截器保持空转设备行为与未安装模块时完全一致——这是安全设计。Q2改了配置需要重启吗不需要。守护进程监视/data/adb/teesim/保存即热更新仅刷模块或大版本升级需要重启。Q3普通非目标应用的密钥会受影响吗不会。只有 Profile 中的应用以及模块自己创建的密钥被模拟其余一律走真实硬件。Q4支持哪些系统Android 10 → 1764 位Root 环境Magisk / KernelSU / APatch。官方已验证 Android 17Pixel 6与 Android 10模拟器。 总结整个上手流程只有四步——刷模块 → 放 Keybox → 配 Profile → 热生效。记住/data/adb/teesim/这个目录和 WebUI 两个入口你就能独立完成 TEESimulator 密钥证明模拟的全部日常配置了。【免费下载链接】TEESimulatorSoftware simulation for Android hardware-backed key pairs with key attestation项目地址: https://gitcode.com/gh_mirrors/te/TEESimulator创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表