Hide the manager's package name from install detection - #96
Open
shakir2117 wants to merge 2 commits into
Open
Conversation
JingMatrix
force-pushed
the
hide-packagename
branch
from
August 17, 2026 11:38
91bc203 to
1e764b5
Compare
Some apps flag a device by enumerating installed packages for org.lsposed.lspatch. The manager can now reinstall itself under a custom or random package id: it rewrites and re-signs its own apk, migrates its settings and keystore, retargets every manager-mode app at the new package (recorded per-patch in the config and read by the loader), then removes the old one -- and can revert to the original from GitHub. The entry is the Package row in the System status card. Manager mode only; integrated patches bind no manager and are unaffected. Defeats known-package-name checks only -- not the signing certificate, exported components, or Play Integrity. Co-authored-by: JingMatrix <jingmatrix@gmail.com>
Adds the manager package-name / cloak strings to all 18 locales, and drops the strings left unused when the entry moved to the System status card (the old Settings-page copy and the obsolete storage-directory notice).
JingMatrix
force-pushed
the
hide-packagename
branch
from
August 17, 2026 16:55
a17893e to
2190d81
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Some apps flag a device just by finding org.lsposed.lspatch in the installed package list. This lets the manager reinstall itself under a custom or random package id so that check finds nothing.
How it works: the manager rewrites and re-signs its own APK under the new id, carries its settings and keystore across in an embedded migrate zip, retargets every manager-mode app at the new package, then removes the old install. The manager package each app binds is now recorded per-patch in its config and read back by the loader, so renaming the manager no longer orphans apps patched against it. Reverting downloads the latest official manager and puts everything back. The entry is the Package row in the System status card.
Scope and limits: manager mode only — integrated patches bind no manager and are untouched. This defeats known-package-name checks and nothing more: the signing certificate, app label and exported components are unchanged, and it does nothing for Play Integrity. Retargeting is best-effort per app and reports which ones it could not do rather than aborting the batch.
Requires Shizuku and a single-APK manager build (split installs can't be cloaked).
Originally authored by @shakirchoudhary; I rebased it onto current master and reworked it for the new patch engine and UI — the entry moved from the old Settings page (since removed) to the System status card, the patcher was rewired onto PatchSpec/ApkPatcher, and loader retargeting now reuses the existing recovery path. Tested locally.