explaingit

cornerdevice/checkappdevice

17JavaAudience · developerComplexity · 4/5Setup · hard

TLDR

An Android Xposed/LSPosed module called DeviceVeil that intercepts apps reading your device identifiers and returns fake values instead, protecting your privacy from apps that collect device fingerprints.

Mindmap

mindmap
  root((DeviceVeil))
    What it does
      Spoof device IDs
      Intercept API calls
      Per-app profiles
    Protected APIs
      Telephony identifiers
      Advertising ID
      MAC address
      System properties
    Anti-detection
      Hide Xposed
      Hide root traces
    Requirements
      Android 10 to 15
      Xposed or LSPosed
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Stop apps from reading your real Android device identifiers like device ID, advertising ID, and MAC address by having DeviceVeil return substitute values instead.

USE CASE 2

Give each protected app its own fake device profile stored in a JSON file so different apps see different spoofed identifiers.

USE CASE 3

Hide root and Xposed framework traces from apps that actively check for hook frameworks using the built-in anti-detection hooks.

USE CASE 4

Protect a wide range of Android APIs at once using the stable preset that enables common identifier hooks while leaving noisier native hooks off by default.

Tech stack

JavaAndroidXposedLSPosedC

Getting it running

Difficulty · hard Time to first run · 1h+

Requires a rooted Android device with Xposed or LSPosed already installed, hooks take effect only after the target app's process is restarted.

In plain English

DeviceVeil is an Android module that runs through Xposed or LSPosed to intercept and modify the device information that apps read from your phone. Android apps routinely collect identifiers like your device's Android ID, advertising ID, MAC address, telephony serial numbers, and build properties to build a profile of your device. DeviceVeil sits between those apps and the Android system, intercepting those reads and returning substitute values instead. The module works on Android 10 through 15. Once enabled in LSPosed, you choose which apps to protect, set rules for which app processes to cover, and turn on the specific hooks you want. A stable preset is provided that enables the most common protections (device identifiers, advertising IDs, system info, package lists) while leaving noisier features like native hooks and debug tools off by default. On the Java side the module covers a wide range of Android APIs: telephony, WiFi, battery, location, sensors, clipboard, accounts, WebView, and more. On the native side it loads a companion library that hooks lower-level system calls for file access, system properties, and network interfaces. There is also a set of anti-detection hooks that hide traces of the Xposed framework itself from apps that check for root or hook frameworks. Configuration is per-app. Each target app gets its own fake device profile stored in a JSON file in its data directory, so different apps can see different substitute values. Changes take effect the next time the target app's process starts, so you need to force-stop the app after saving. The repository ships no hard-coded targets or business logic. Everything is controlled through the DeviceVeil UI.

Copy-paste prompts

Prompt 1
I enabled DeviceVeil in LSPosed for a target app. How do I configure which device identifiers get spoofed, what fake values are returned, and where is the per-app JSON config file stored?
Prompt 2
DeviceVeil hooks both Java-level Android APIs and native system calls. How do I enable native hooks separately from Java hooks, and what is the stable preset that is recommended for most users?
Prompt 3
I saved DeviceVeil settings and force-stopped the target app but it still shows my real device info. What exactly needs to happen for the new hooks to take effect, and how do I verify they are active?
Prompt 4
DeviceVeil has anti-detection hooks that hide Xposed from apps checking for root or hook frameworks. Which specific checks does it intercept, and how can I tell if an app is still detecting the framework despite those hooks?
Open on GitHub → Explain another repo

← cornerdevice on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.