Skip to content

Releases: Enginex0/tricky-addon-enhanced

v5.53.1

01 May 16:33

Choose a tag to compare

Bug Fixes

  • WebUI engine detector (_c() in webui/assets/index-migrated.min.js) scans /data/adb/modules/*/module.prop for name=TEESimulator* before falling back to the daemon nice-name and module.prop lookups. Fixes TEESimulator-rs forks displaying as upstream TEESimulator on the badge.
  • Save toast pill anchored at bottom-inset + 8px with 11px font and 13px icon. pointer-events:none retained in the .show state so taps pass through to the package list. Default duration reduced to 1200ms.
  • Card-body taps trigger autosave. Programmatic md-checkbox.checked toggles do not dispatch change, so a sibling click listener on .card[data-package] calls scheduleFlush() directly. Coalesced with the existing change-event path via saveScheduled.

v5.48.0

30 Apr 18:29

Choose a tag to compare

v5.48.0 (2026-04-30)

Features

  • Hot install — module takes effect without reboot on KSU, APatch, and Magisk hot-paths. Conflicting modules are now purged via rm -rf at install time instead of flag-file disable, closing the boot-delay window where overlays kept mounting. Heuristic pass also removes any third-party module referencing known WebUI-companion conflict packages
  • HMA bypass — package enumeration and APK path resolution read /data/system/packages.list and scan /data/app/ directly, so HideMyAppList no longer hides apps from the target picker or the daemon. Falls back to dumpsys for label resolution
  • Default target.txt seedscom.facebook.appmanager, com.facebook.services, com.facebook.system, and com.tencent.soter.soterserver are now seeded unconditionally alongside GMS/GSF/Vending. Covers Samsung/OEM-preinstalled Facebook system apps and the WeChat biometric/payment auth bridge on Chinese ROMs
  • target.txt autosave with delta writes — every checkbox change auto-persists; rapid toggles coalesce into a single write per microtask. Hidden system entries are preserved verbatim. Save FAB is gone (#23)
  • WebUI compatibility toggles — Automation → Compatibility now exposes disable_vbmeta_digest_spoof and disable_prop_handler flags from a single dialog (#21)
  • Inotify-driven status refresh — module description now updates the moment a status-relevant event fires instead of waiting for the 30s poll
  • Task list in daemon-status — CLI now reports the active scheduler task list (Status, Automation, Health, Keybox, SecurityPatch)
  • config props-custom CLI getter — prints user-defined props.custom_props as name<TAB>value lines for shell consumption

Bug Fixes

  • Fingerprint enrollment failure — boot-time ro.boot.vbmeta.digest rewrite is now gated behind /data/adb/disable_vbmeta_digest_spoof, fixing enrollment on Snapdragon-class devices without losing Play Integrity. The /data/adb/disable_prop_handler flag also short-circuits the digest rewrite (#21)
  • Keybox source rotation — KOW upstream URL repointed from the dead main/.extra to the live keybox/.extra branch (#22)
  • Variant-aware boot hashprop.sh previously trusted boot_hash.bin from any TrickyStore variant, including forks without boothash persistence. Now checks module.prop for TEESimulator-RS before deferring, validates the file, and falls back to /data/adb/boot_hash if invalid
  • Spoof cleanup ordering — split into early and late phases so prop normalization runs before the VBMeta block, fixing edge cases where ordering left stale build-string values
  • custom_props and test-keys loops — switched to heredoc-fed loops so values containing whitespace or shell metacharacters are applied verbatim
  • x86 and x86_64 uninstall — uninstall script now cleans the additional ABI binary directories shipped in v5.24.0
  • Light-mode WebUI — full light-mode pass: text colors, hover surfaces, gradient-text fills, glass-surface backgrounds, source-card body, icon tile, pale Unknown/AOSP icons, and the FETCH INTERVAL caption all have proper light-mode contrast. Mode picker rows get per-row color stripes so Auto, Generated, and Custom stay distinguishable on any accent or theme (#20)
  • IntegrityBox config migration — legacy keybox.source = "integritybox" values now persist their migration to yurikey on disk (previously rewritten in memory only)
  • Bundled JS null-deref on FAB removal — minified bundle hard-references #save and .floating-btn at module init; an invisible inert stub is restored at the original location so the import resolves while autosave remains the sole save path

Changed

  • Boot-time spoofing consolidated into service.sh — replaces the backgrounded prop.sh with a synchronous inline block gated on --wait sys.boot_completed 0, mirroring the susfs4ksu pattern. ZeroMount gating is no longer required for prop application
  • Property cleanup runs once inline at boot — folded propclean.sh into the consolidated spoof block. --hexpatch-delete replaced with --nuke everywhere; the hexpatch fallback is gone since propdetect heuristics flag hexpatch artifacts (count anomalies, name destruction)
  • Standalone resetprop-rs CLI — props now go through the standalone resetprop binary instead of the in-process Rust API
  • pm list for package enumeration — replaces direct packages.list parsing where appropriate
  • resetprop-rs as cargo git dependency — switched from a vendored submodule so builds pull the latest commit
  • Denylist merge — gracefully no-ops on KSU/APatch (no upstream denylist enumeration API); Magisk path unchanged

Removed

  • Rust props module — boot-time spoofing now lives entirely in service.sh. Commands::Props CLI variant, props/mod.rs, PropsConfig.enabled, and PropCleanConfig are gone. platform/props.rs trimmed to RP_PATH + getprop + set
  • PropCleanTask — daemon no longer schedules a recurring property-cleanup timer. Cleanup is a one-shot inline boot step. Scheduler now tracks five tasks instead of six
  • init.svc.* spoofing — dropped from the prop set; the entries created more attestation noise than they prevented
  • propclean.sh and prop.sh — both deleted; their logic is inlined in service.sh. hexpatch_deleteprop removed from common.sh
  • IntegrityBox keybox source — upstream MeowDump replaced their artifact with an anti-fork taunt that decodes to "NICE TRY DIDDY". Existing configs auto-migrate to yurikey on next boot
  • Save FAB — replaced by autosave; the floating button is no longer rendered

v5.47.0

30 Apr 18:29

Choose a tag to compare

docs(readme): note hot install in install steps

KSU and APatch now apply on install via the hot-install path, so
the reboot step is conditional. Conflict purge runs at install
time rather than the boot-time disable flag, worth surfacing in
the user-facing instructions.

v5.27.0

24 Mar 00:35

Choose a tag to compare

Bug Fixes

  • Accent color not persisting — manually picking an accent color from the picker didn't disable randomization, so the next page load or tab switch would randomize over the user's choice. Picker now auto-disables randomization and syncs the toggle state
  • Apps silently removed from target.txtcleanup_dead_apps relied solely on pm list packages -3 which can be filtered by HideMyAppList or miss apps in other user profiles. Now cross-checks /data/data/<pkg> existence and requires 3 consecutive misses before removing, preventing false removals during app updates or when HMA is active
  • WebUI save race with daemontarget.txt was written non-atomically (echo > file), allowing the daemon to read a truncated file mid-write. Now uses temp-file-then-rename

v5.26.0

17 Mar 17:24

Choose a tag to compare

Bug Fixes

  • Custom ROM version wiped by propcleanhexpatch_deleteprop was destroying all properties matching ROM fingerprint substrings (e.g. crdroid), including ro.crdroid.build.version which crDroid needs for its About screen and OTA updater. Now auto-detects the running ROM by checking for ro.<fingerprint>* properties before wiping — if the device owns those props, they're preserved. Generic fix that works for any ROM in the fingerprint list (LineageOS, EvolutionX, PixelOS, etc.)

Improvements

  • Debug build supportpackage.sh --debug produces unstripped binaries with full debuginfo symbols for crash diagnosis

v5.25.0

17 Mar 17:08

Choose a tag to compare

Bug Fixes

  • marketname false positive in ROM fingerprint detection — stock Xiaomi marketname props were being scrubbed as custom ROM indicators, breaking Xiaomi Share device naming and iOS Interconnectivity (#16, #17)
  • ReSukiSU excluded from target list — added com.resukisu.resukisu to the manager exclusion list alongside existing SukiSU Ultra entry (#18)

v5.24.0

14 Mar 14:39

Choose a tag to compare

Features

  • x86_64 and x86 ABI support — module now ships binaries for all four Android ABIs (arm64-v8a, armeabi-v7a, x86_64, x86), enabling Waydroid and emulator installs

Bug Fixes

  • Bootloader detection by TrustAttestorcheck_reset_prop was creating props on devices where they don't naturally exist (e.g. Realme/OnePlus-specific props on Xiaomi), giving attestor apps a clear tampering signal. Now skips non-existent props instead of blindly injecting them, matching stock behavior
  • AVB version mismatchro.boot.vbmeta.avb_version was set to 1.3 (non-standard) instead of 1.0, creating a detectable inconsistency with the actual AVB stack
  • Extra props in Rust backend — removed ro.bootimage.build.tags, ro.boot.verifiedbooterror, and ro.boot.veritymode.managed from the Rust prop list since they don't exist on most devices and would be created unnecessarily
  • Unconditional prop injectionro.oem_unlock_supported and ro.secureboot.devicelock were set outside the ZeroMount guard, now properly gated
  • Stale description on uninstall — WebUI uninstall now immediately restores the original TrickyStore/TEESimulator description instead of relying on daemon timing; also fixed path mismatch between Rust (description.bak) and shell (.original_description) backup files

v5.23.0

11 Mar 11:27

Choose a tag to compare

Features

  • ro.boot.product.hardware.sku support — fourth region prop added across the full stack (config, install snapshot, boot enforcement, WebUI)
  • Collapsible region UIro.boot.hwc always visible, remaining 3 fields behind a chevron expand to reduce clutter
  • GitHub Actions CI — build workflow cross-compiles both ABIs and uploads the module ZIP as artifact on every push

Improvements

  • Region i18n — all 3 region strings translated across 22 locales (was English-only fallback)
  • Dynamic README badges — version badge pulls from GitHub releases, build status badge from CI

v5.21.0

10 Mar 12:08

Choose a tag to compare

Property Hexpatch Engine & Partition Normalization

Absorbs techniques from sensitive-props-crontabs to cover detection vectors that resetprop alone can't handle.

Hexpatch scrubbingpropclean.sh uses magiskboot hexpatch to binary-patch property names in /dev/__properties__/ shared memory. Unlike resetprop --delete, this destroys the property name itself (replaced with random hex), making it invisible to any app enumerating properties. Targets 48 custom ROM/kernel/framework fingerprint strings (LineageOS, GrapheneOS, LSPosed, Franco, etc.).

Partition-wide normalization — Sets build.type=user, build.tags=release-keys across all 9 partition prefixes (system, vendor, product, odm, oem, bootimage, system_ext, vendor_dlkm, odm_dlkm). Strips aosp_, eng., test-keys, userdebug, dev-keys from build fingerprints and display props.

New props spoofed:

  • ro.is_ever_orange (OnePlus unlock history)
  • ro.oem_unlock_supported
  • ro.secureboot.devicelock
  • MIUI cross-region fix (ro.boot.hwc/ro.boot.hwcountry CN → GLOBAL)
  • 3 additional recovery boot mode variants
  • init.svc.adbd → stopped, init.svc.adb_root hexpatch-destroyed

PI-fix leftovers — Hexpatch-destroys props left behind by other Play Integrity modules (pihook, pixelprops, eliteprops, spoof.gms).

Daemon periodic cleanupPropCleanTask re-runs propclean.sh hourly (configurable via propclean.interval), replacing the crontab approach. Gracefully skips if magiskboot unavailable.

Tested on Redmi pond_global (Android 15, KSU Next 33024).

v5.19.0

10 Mar 01:34

Choose a tag to compare

What's New

Full i18n — 23 Languages

  • Install prompts (volume key selection, automation mode, conflicts, completion) now fully translated — no more English-only during module installation
  • Added install_i18n.sh with language detection and message lookup for all supported locales
  • Filled all missing translation keys across every non-English locale XML
  • Added 5 missing language blocks: Azerbaijani, Bengali, Greek, Farsi, Filipino

Health Banner Fix

  • "Checking..." no longer gets permanently stuck on the health banner
  • Root cause: the i18n translation loader was overwriting dynamic health status text via data-i18n attributes after the health check had already resolved
  • Added shell-based Pn() fallback with 5s timeout for slow or failed webui-init

Toggle Sync & Stability

  • Renamed toggle sync function to avoid identifier collision that crashed the language loader
  • Security patch auto-toggle now properly syncs when manually setting patch from the menu
  • Config save failure toast now shows error icon instead of success

Full Changelog

v5.15.0 → v5.19.0

  • feat(i18n): full installer and WebUI localization for 23 languages
  • fix(webui): health banner stuck on Checking and patch toggle sync
  • fix(i18n): complete translations and patch toggle sync
  • fix(webui): system toggle, health banner, and install flow