Automated TrickyStore & TEESimulator Management
Flash once. Forget forever.
Note
This is a personal project built for automation enthusiasts β flash and forget.
It was never planned for public release, but enough people wanted it, so here it is. It's open-source because sharing is good β not because anyone is owed support, features, or responses on a timeline. If something breaks, report it on Telegram. PRs are welcome. Entitlement is not.
Do NOT report issues to TrickyStore, TEESimulator, or any upstream project. They have nothing to do with this module. All support goes through one place: the SuperPowers Telegram.
A native Rust daemon that manages TrickyStore and TEESimulator silently in the background β keybox rotation, security patch spoofing, VBHash injection, attestation engine monitoring, and target list management β all running as a single process with zero user intervention after install.
This is a clean-room rewrite. The original concept drew from several community projects, but every line of backend logic has been rebuilt from scratch in Rust with a completely different architecture β a single native daemon replacing 6 shell processes, inotify replacing poll loops, in-memory config replacing fork-per-read patterns. No commits were squashed or rebased from any other project. This is new code.
The previous shell-based approach worked, but it was fragile. Config reads forked a new process every time. App detection polled in a sleep loop. Six separate scripts competed for resources. The result was hundreds of thousands of unnecessary wakeups per day, constant JVM spawns, and race conditions that caused intermittent failures users couldn't diagnose.
The Rust rewrite eliminates all of that:
| Metric | Shell | Rust |
|---|---|---|
| Wakeups/day | 884,449 | ~100 (timer fires only) |
| JVM spawns/day | 20,170 | ~200 (only for pm when inotify can't detect) |
| Processes | 6 | 1 |
| Background CPU | ~28 min/day | <1 min/day |
| Config reads | 43,200 forks/day | 0 (in-memory struct) |
| App detection latency | 10sβminutes | Instant (inotify) |
One binary. One process. One config file. No shell scripts in the hot path.
Keybox Management
- 4-source failover β Yurikey β KOW β IntegrityBox β Custom, with automatic rotation
- XML validation before applying β never installs a broken keybox
- Automatic backup β existing keybox backed up before every replacement
- Custom keybox protection β set source to
customand it stays untouched - Device keybox generation β ECDSA P-256 + RSA-2048 keygen for AOSP-level attestation
- Configurable fetch interval β preset chips (1hβ7d) or custom value with min/hr/day unit toggle from WebUI
Security Patch Automation
- Engine-aware patching β auto-detects James Fork, standard TrickyStore, or TEESimulator
- All three dates β system, boot, and vendor patch levels set on boot and daily
- Latest patch fetch β pulls current dates from Google's Pixel bulletin
VBHash Spoofing
- 15 properties spoofed β
vbmeta.digest,device_state,verifiedbootstate, and 12 more - Captured at install time β reads
ro.boot.vbmeta.digestbefore any modules are active - Fallback chain β persisted file β bootloader property β APK extraction (last resort)
Attestation Engine Health Monitor
- Auto-restart on crash β polls every 10s, detects TEESimulator or TrickyStore, restarts if dead
- Grace period β 5s window for the engine's internal restart loop before intervening
- Restart tracking β count persisted to
.health_state, visible in WebUI
Target List Automation
- inotify-based app detection β new installs added to
target.txtinstantly - Xposed exclusion β auto-detects and excludes Xposed modules
- Denylist merge β optionally pulls from Magisk denylist
Conflict Detection
- 19 conflicting modules detected and handled (auto-remove, block, or warn)
Live Status Monitor
- Module description updates every 30s β app count, keybox source, patch level, VBHash state
β‘ 37 Apps β π Yurikey β π‘οΈ 2026-01-05 β π VBHash
Real-time status directly in your module manager β no need to open anything.
WebUI
- Glass morphism design β AMOLED dark gradient (
#0F0F1Aβ#1A1A2E), 6 accent color presets with random selection on launch - Health status banner β live engine state (green/red/orange)
- Keybox automation panel β 6 source cards, interval scheduler with preset chips (1hβ7d) and custom input with min/hr/day toggle, manual fetch
- Target list auto-refresh β every 3s, with search and per-app mode control
- 23 languages with RTL support
- Single batched init β one shell call loads the entire UI state
Set It and Forget It
A single native daemon manages all background tasks β if anything dies, it restarts within 1s:
- App Watcher β auto-adds new installations to
target.txtvia inotify - Xposed Detection β auto-excludes Xposed modules from targeting
- Health Monitor β auto-restarts attestation engine on crash
- Status Monitor β live module description updates every 30s
- Conflict Detection β warns about 19 conflicting modules on boot
- Log Rotation β 1MB limit with automatic cleanup
| Root Manager | Minimum Version | WebUI Support |
|---|---|---|
| KernelSU | 32234+ | Built-in |
| APatch | 11159+ | Built-in |
| Magisk | 20.4+ | KSUWebUIStandalone or WebUI-X required |
Requires: TEESimulator or TrickyStore installed as the attestation engine.
- Download the latest release
- Install via your root manager
- Reboot
During install, press Volβ for manual target mode (GMS/GSF only) or Vol+ / wait 10s for full automation.
The module automatically captures VBHash, builds the exclude list, generates target.txt, fetches a valid keybox, sets security patch dates, and starts the daemon. Nothing else to do.
Requires Rust toolchain and Android NDK.
git clone https://github.com/Enginex0/tricky-addon-enhanced.git
cd tricky-addon-enhanced
bash package.sh --no-bumpThe ZIP lands in release/. CI also builds on every push β grab artifacts from the Actions tab.
Build options
| Flag | Effect |
|---|---|
| (none) | Bump version, cross-compile, package |
--no-bump |
Build without incrementing version |
--no-build |
Package only (skip Rust compile) |
--clean |
Remove old ZIPs before packaging |
All settings are configurable from the WebUI (open from your root manager) or via CLI:
ta-enhanced config get keybox.source
ta-enhanced config set keybox.interval 3600Config lives at /data/adb/tricky_store/config.toml and is preserved across reinstalls.
Config Reference
| Key | Default | Description |
|---|---|---|
keybox.enabled |
true |
Auto keybox fetching |
keybox.source |
yurikey |
Primary source (yurikey, upstream, integritybox, custom) |
keybox.interval |
300 |
Seconds between fetch attempts |
security_patch.auto_update |
true |
Auto patch date updates |
security_patch.interval |
86400 |
Seconds between patch checks |
automation.enabled |
true |
Auto target.txt population |
automation.use_inotify |
true |
Use inotify for instant app detection |
health.enabled |
true |
Attestation engine health monitor |
health.interval |
10 |
Seconds between health checks |
conflict.enabled |
true |
Conflicting module detection |
vbhash.enabled |
true |
VBHash spoofing |
File Locations
/data/adb/tricky_store/
βββ config.toml # Module configuration
βββ target.txt # Apps to protect
βββ keybox.xml # Current keybox
βββ keybox.xml.bak # Keybox backup
βββ security_patch.txt # Patch dates
βββ .health_state # Health monitor state
/data/adb/Tricky-addon-enhanced/logs/
βββ daemon.log # Unified daemon log
βββ conflict.log # Conflict detection
/data/adb/boot_hash # Persisted VBHash
$ ta-enhanced --connect
βββββββββββ ββββββββββ βββββββββββββββ
βββββββββββ βββββββββββββββββββββββββββ
βββββββββββ βββββββββββββββββ ββββββββ
βββββββββββ ββββββββββ ββββββ ββββββββ
ββββββββββββββββββββ βββββββββββ βββ
ββββββββ βββββββ βββ βββββββββββ βββ
POWERS
[β] SIGNAL βββ t.me/superpowers9
[β] UPLINK βββ bug reports Β· feature drops Β· dev updates
[β] STATUS βββ OPEN β all operators welcome
- KOWX712 β original Tricky Addon concept and WebUI foundation
- JingMatrix β TEESimulator
- 5ec1cff β TrickyStore attestation module
- XtrLumen/TS-Enhancer-Extreme β VBHash extraction concept
- Yurikey β primary keybox source
- MeowDump/Integrity-Box β keybox source
- Zero-Mount β WebUI design inspiration
- j-hc/zygisk-detach β WebUI template
This project is licensed under the GNU General Public License v3.0.
β‘ Flash once. Forget forever.