Overview
Developed by Seyud, Device Faker is an open-source, high-performance Zygisk module written in Rust designed for granular per-application device model and hardware identity spoofing.
Many specialized applications (such as high-refresh-rate mobile games, OEM camera suites, streaming platforms, and diagnostic tools) gate graphics presets, HDR playback, or exclusive capabilities behind specific device whitelists (e.g. demanding a Galaxy S24 Ultra, iPad Pro, or ROG Phone model string). Rather than modifying system-wide build.prop values—which can cause global stability issues or break vendor services—Device Faker allows you to assign custom hardware profiles to individual target packages.
Technical Architecture & How It Works
- Zygisk Injection: Injects into application processes at fork time via the native Zygisk API (
zygisk-api-rs) before application initialization occurs. - Copy-On-Write (COW) Property Spoofing: Rather than relying on fragile userspace hooks, Device Faker creates a private
mmapCopy-On-Write clone of the system property area for the target process. When the app reads system properties (__system_property_get/__system_property_read), it receives the spoofed values while the rest of the OS remains untouched. - Unified Execution Flow: Automatically coordinates JNI field cloaking (
android.os.Buildfields), COW system properties, and companion daemon services without requiring manual mode selection. - TOML Configuration Engine: All settings and device model definitions are stored in clean TOML format at
/data/adb/device_faker/config/config.toml.
WebUI Management
Device Faker includes an integrated modern WebUI supporting multilingual interfaces (English, Simplified Chinese, Turkish):
- Template Management: Create, edit, and maintain hardware profile templates (e.g., Pixel 9 Pro XL, Xiaomi 14 Ultra, ASUS ROG Phone 8) and assign them across multiple packages with a single tap.
- Application Management: Displays all installed packages (including multi-user and work profile apps) and lets you toggle spoofing profiles individually.
- Config Editor: Direct visual and raw editor for configuring advanced parameters.
Installation & Setup
- Verify that your root environment has active Zygisk support:
- Magisk: Enable Zygisk in Magisk app settings.
- KernelSU / APatch: Install and activate the ZygiskNext module.
- Download the latest
device_faker.ziprelease from the official repository. - Flash the zip in your root manager (Magisk, KernelSU, or APatch) and reboot your device.
- Access the WebUI via the KernelSU/APatch WebUI manager, or manage the configuration directly via
/data/adb/device_faker/config/config.toml. - Assign your desired device template to your target applications and restart the target apps to apply changes.
Frequently Asked Questions
Does Device Faker permanently modify my system properties globally?
No. Device Faker utilizes an in-memory Copy-On-Write (COW) property spoofing engine. System properties (such as ro.product.model or ro.product.brand) are modified strictly inside the target application's isolated memory space, leaving the global Android system and untouched applications completely stock.
Do I need to reboot every time I change a device model template?
No reboot is required. Once you update your configuration in the WebUI or edit config.toml, simply force stop and relaunch the target application to apply the new device profile immediately.