Overview
Developed by frknkrc44 and open-source contributors, HMA-OSS (Hide My Applist Open Source) is the premier utility for controlling which applications can query the presence of other installed applications on your device.
Android’s permission model historically allowed any app with QUERY_ALL_PACKAGES to catalog everything installed on your phone. Aggressive banking applications, enterprise MDM agents, and DRM-protected streaming apps exploit this to build risk scores based on installed root utilities, custom ROM tools, and modded APKs. HMA intercepts these queries at the Java and Native layers, delivering an airtight, spoofed app list.
Technical Architecture & How It Works
Dual-Layer Package Masking (Java + Native)
- Java Layer (PackageManager Interception):
- When a target app calls
PackageManager.getInstalledPackages()orPackageManager.getPackageInfo(), HMA’s Xposed hooks intercept the return collection. - Any package declared in the target app’s blacklist is filtered out in memory before the array is returned to the app.
- When a target app calls
- Native Layer (File IO Interception):
- Many sophisticated anti-root SDKs bypass Android Java APIs and invoke direct libc file access checks (e.g. testing
access("/data/data/com.topjohnwu.magisk", F_OK)). - HMA hooks native C library calls (
open,stat,access,readlink), returningENOENTwhenever the target application attempts to probe protected package data directories.
- Many sophisticated anti-root SDKs bypass Android Java APIs and invoke direct libc file access checks (e.g. testing
Installation & Configuration
Step 1: Activate in Vector / LSPosed
- Ensure Vector or LSPosed is running on your device.
- Install
HMA-OSS.apk. - Open Vector Manager $\rightarrow$ Modules $\rightarrow$ enable Hide My Applist.
- In the module’s Scope, select the target applications you want to protect (e.g., your banking apps).
- Reboot your device.
Step 2: Configure HMA Templates
- Open the Hide My Applist app from your launcher.
- Go to Template management $\rightarrow$ tap Create a blacklist template.
- Name it “Root Apps Blacklist”.
- Check all root-related applications on your phone (Magisk, KernelSU, Termux, LSPosed, Lucky Patcher, etc.).
- Go to App management $\rightarrow$ select your banking app $\rightarrow$ toggle Enable hide $\rightarrow$ select the “Root Apps Blacklist” template.
- Force-close your banking app and verify that it launches without detecting other apps.