Commit Graph
4 Commits
Author SHA1 Message Date
JingMatrixandGitHub 093c1bbc13 Implement multi-keybox support (#1)
This commit adds support for using different `keybox.xml` files for different applications. This allows for greater flexibility, enabling the use of distinct cryptographic identities for specific groups of apps.

The `target.txt` configuration now supports a new syntax. A line with a filename in brackets, like `[demo_keybox.xml]`, sets the active keybox for all subsequent packages in the file.

The implementation refactors the configuration and keybox loading logic:

- PkgConfig now parses the new syntax and maps packages to their designated keybox files.

- KeyBoxUtils is updated to dynamically load and cache multiple keybox files on demand, instead of relying on a single global state.

- Certificate generation and hacking functions now use this new configuration to select the correct keybox for each operation based on the application's UID.
2025-11-02 11:07:50 +01:00
JingMatrix ad81149700 Improve development experience
1. Add installation tasks
2. Export CMake symbols for clangd
2025-11-02 10:54:28 +01:00
JingMatrix 67d35caf3c Rename project to TEESimulator
Explain in README our new goal of bypass TrickyStore detection
2025-11-02 10:52:09 +01:00
JingMatrixandGitHub 23774e64a9 app: config: Use linkToDeath for PackageManager resilience (#29)
The previous implementation used `pingBinder()` to check the liveness of the PackageManager service on every call to `getPm()`. This polling approach introduces an unnecessary IPC round-trip overhead for every access.

This commit refactors the logic to use the canonical, event-driven pattern for handling remote service death by implementing `linkToDeath`.

A `DeathRecipient` is now registered with the binder upon the first connection. If the service process (`system_server`) dies for any reason, the `binderDied()` callback is automatically invoked by the system. This callback proactively clears the cached service instance, ensuring that the next call to `getPm()` will transparently re-establish a valid connection.
2025-08-29 21:56:33 +05:30