1. Project Meta:Create a private Android module for the LSPosed environment (Zygisk) that allows selected applications to obtain images or videos from the device's gallery instead of the actual camera stream. The system must be protected against unauthorized copying and operate on a subscription model.
2. Core Functionality (Payload):
Camera API Hooking: Intercept calls at the Camera (legacy), Camera2, and CameraX levels.
Intent Substitution: Handle standard system requests MediaStore.ACTION_IMAGE_CAPTURE and VIDEO_CAPTURE.
Media Injector: When the camera is invoked in the target application, the module should open the system file picker or a custom gallery to select a media file (JPG/PNG/MP4).
White List (Scope): Ability to select specific application package names (e.g., Uber, Bolt) where the substitution will work. For all other applications, the camera should operate in normal mode.
3. Anti-Detection and Concealment (Anti-Detection):
Bypass Virtual Camera Check: Applications should not see that the video source is a "Virtual Camera" or an external stream.
Metadata Spoofing: Automatic removal or substitution of EXIF data of the selected photo to match the device parameters (date, camera model, etc.).
Module Stealth: The module must be invisible to checks of the installed package list (e.g., through GetInstalledPackages methods).
4. Licensing and Protection System (Business Logic):
Hardware Binding (HWID): The module must generate a unique device ID (Android ID + hardware parameters) and bind the license to it.
Server-side Auth: On each launch or periodically, the module must contact a remote server (via API) to check the subscription status.
License Key: A field in the module interface for entering the activation key.
Obfuscation: All module code must be maximally obfuscated (ProGuard/DexGuard) to prevent reverse engineering and cracking of the licensing system.
5. Technical Requirements:
Languages: Java / Kotlin / C++ (JNI for better protection).
Environment: LSPosed (Zygisk mode).
OS: Android 11 – 15.
Architecture: Preferably MVVM, clean code with the possibility of future updates for new Android versions.
6. Expected Result:
APK file of the module.
Simple server-side component (or script) for managing keys/HWID database.
Hello! The technical specification (TS) was assisted by AI, but briefly: I need a program that will substitute the camera stream with a photo from the gallery.
The essence is that in the application I am working with, there is no "select photo" button — you can only take a snapshot immediately. I need the file from the gallery (for example, the most recently added) to be pulled in when the "take photo" button is pressed.
The most important thing: maximum security. It is necessary that the application does not detect the substitution and that I am not blocked. Everything must look like a real snapshot from the camera.