A maintained 1:1 mirror of Frida with stealth patches applied to evade common detection methods. Patches also available separately.
Inspiration & Credits: This project builds upon the excellent work from AsenOsen/frida-stealth (supports up to Frida v16) and JsHookApp/Frida-Patchs.
Supports Frida v17+.
These patches modify Frida to avoid common detection patterns:
- Obfuscated thread names (no more "frida-*" threads)
- Renamed internal loops and data structures
- Modified default port numbers
- Anonymized unix socket names
To see all patches:
This repository maintains pre-patched versions of Frida. Simply clone and build:
git clone --recurse-submodules https://github.com/rubenvereecken/frida.git
cd fridaOptional: If you need a specific Frida version, checkout the corresponding branch before building:
git checkout stealth/17.3.2 # Optional! By default you're on stealth/main which tracks frida mainSome available versions (latest per major + minor):
stealth/17.4.0- Latest 17.4.xstealth/17.3.2- Latest 17.3.xstealth/17.2.17- Latest 17.2.xstealth/17.1.5- Latest 17.1.xstealth/17.0.7- Latest 17.0.x
Initialize submodules:
git submodule update --init --recursiveThen build Frida as normal. For detailed build instructions, see the official Frida documentation.
Important: Build frida-tools from this repo for seamless compatibility. The stealth patches change the default port (27042→27043), so using vanilla frida-tools requires manual port forwarding:
# If using vanilla frida-tools with stealth frida-server:
adb forward tcp:27043 tcp:27043
frida -H 127.0.0.1:27043 ...
# If using stealth frida-tools (recommended):
frida -U ... # Just works!To build frida-tools, include --enable-frida-tools when configuring native builds.
If you're maintaining your own Frida fork, apply patches manually:
git -C subprojects/frida-core apply /path/to/frida-stealth/subprojects/frida-core/patches/*.patch
git -C subprojects/frida-gum apply /path/to/frida-stealth/subprojects/frida-gum/patches/*.patchUse patches from the corresponding stealth/X.Y.Z branch for version-specific patches. Then build normally per official docs.
For Android, consider these complementary approaches:
- ZygiskFrida - Inject via Zygisk to avoid ptrace detection
- Use with Kitsune Magisk (not regular Magisk)
- AntiFrida Bypass Scripts - Runtime memory obfuscation
- Framework Patching - System library injection
Want to add a new stealth modification? See CONTRIBUTING.md for:
- How the repository and branches are organized
- Complete workflow for creating and applying patches
- Helper scripts in
tools/for maintaining patches across versions