Skip to content

TEESimulator v4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 11 Aug 09:02

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 keystore daemon (Android 10/11) and keystore2 / 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).