TEESimulator v4.0
๐ TEESimulator 4.0 โ a new foundation
Ever since TEESimulator began, the community has watched me pour real effort into closing pre-existing detection points, release after release. But as AI-driven conformance scanners multiply and quick "harness fix" commits go viral, it has grown exhausting to fold in a stream of unproven, poorly-explained external patches โ innovation stalled, and code quality slipped noticeably. ๐ฎโ๐จ
So here is TEESimulator 4.0. ๐ Instead of faking a hardware backend, it runs AOSP's own KeyMint reference implementation โ the very trusted application that normally lives inside the TEE โ in-process. This single change sweeps away countless detection points at once and, for the first time, brings first-class permanent key storage. ๐
โจ Highlights
- ๐ง Reference KeyMint TA, in-process. Attestations come straight from AOSP's
kmr-ta, not hand-rolled certificates โ so every emitted record matches a real device field-for-field. - ๐๏ธ Profiles and a WebUI. Bundle a keybox, operation mode, patch/OS levels, and device identity into a named profile, assign it to your apps, and edit it all from the manager's WebUI โ no text editor, no reboot.
- ๐ฑ Android 10 โ 17. Both the legacy
keystoredaemon (Android 10/11) andkeystore2/ KeyMint (Android 12+) are intercepted, and every key is attested at โ and reports โ its real security level and the version its OS release uses. - ๐ฉน Patch mode by default. The real hardware still generates the key; only its attestation is re-signed under your keybox, keeping the genuine hardware-backed blob and its true contents.
๐ฌ Feedback
To get started, drop a keybox at /data/adb/teesim/keybox.xml, then assign your apps to a profile in the WebUI. ๐๏ธ
Please open an issue for any device-support or compatibility problems โ it helps enormously. ๐ This release has been tested on Android 17 (Pixel 6) and Android 10 (the Android emulator).