explaingit

girlanddragon/maskmyscene

22CAudience · developerComplexity · 4/5Setup · hard

TLDR

A Linux kernel module for rooted Android devices that hides specific network ports and file paths so third-party apps cannot detect a service called Scene running on the device.

Mindmap

mindmap
  root((maskmyscene))
    What it does
      Hide network ports
      Block file path lookups
      Whitelist specific apps
    How it works
      Intercepts system calls
      Filters proc filesystem
      Bitmask per feature
    Requirements
      Rooted Android device
      Magisk or KernelSU
      CONFIG_KPROBES enabled
    Supported kernels
      5.10 and 5.15
      6.1 and 6.6 and 6.12
    Setup
      Flash ZIP via root manager
      Edit config file
      Reboot device
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

Hide the ports used by the Scene daemon so detection tools on a rooted Android phone cannot find it running.

USE CASE 2

Whitelist your own apps so they still see real network connections while other apps see blocked ports.

USE CASE 3

Disable path hiding while keeping port hiding active using the bitmask config option.

USE CASE 4

Flash the module via Magisk on a supported Android kernel (5.10, 5.15, 6.1, 6.6, or 6.12) to protect background services.

Tech stack

CLinux kernelAndroidMagiskKernelSUAPatch

Getting it running

Difficulty · hard Time to first run · 1h+

Requires a rooted Android device with a supported KMI kernel version and CONFIG_KPROBES enabled, installation is done by flashing a ZIP through the root manager.

No license information was mentioned in the explanation.

In plain English

MaskMyScene is a Linux kernel module for rooted Android devices that hides specific network ports and file paths from detection tools. It is designed to prevent third-party apps from discovering that certain services, specifically those tied to a daemon called Scene, are running on the device. To use it, the device needs to be rooted through Magisk, KernelSU, or APatch, and the kernel must have CONFIG_KPROBES enabled, which is standard on most Android kernels. Only specific Android kernel versions are supported: 5.10, 5.15, 6.1, 6.6, and 6.12, each identified by the android plus KMI tag in the kernel version string. Installation is done by downloading the latest ZIP from the project's GitHub Actions page and flashing it through your root manager. After installation, you edit a configuration file to list which ports to hide and which app user IDs should be exempted from the hiding. Changes take effect after a device reboot. The module works by intercepting several low-level system calls. It rewrites connection attempts to the hidden ports so they fail, filters those ports from the proc filesystem entries that tools use to list active network connections, and blocks file path lookups for relevant Scene files. Apps whose user IDs appear on the whitelist see the system normally, without any interception. A bitmask value in the configuration lets you enable or disable each interception function individually, so you can turn off path hiding while keeping port hiding active, for example. The README is written in Chinese and covers the full setup process, configuration options, and how to verify the module is loaded and active after installation.

Copy-paste prompts

Prompt 1
I have a rooted Android device with Magisk and kernel 5.15. Walk me through flashing maskmyscene and configuring it to hide port 8080 from all apps except my own app with UID 10234.
Prompt 2
Show me the maskmyscene config file format: how do I list ports to hide, add UID exemptions, and set the bitmask to enable only port hiding (not path hiding)?
Prompt 3
How do I verify that maskmyscene is loaded and active after rebooting my Android device?
Prompt 4
What does CONFIG_KPROBES do and how do I check if my Android kernel has it enabled before installing maskmyscene?
Open on GitHub → Explain another repo

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

Verify against the repo before relying on details.