Skip to content

bytehide/monitor-jvm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Maven Central Documentation License

ByteHide Monitor for JVM

Runtime Application Self-Protection (RASP) for Java, Kotlin and Android applications.

Monitor provides real-time threat detection and response, protecting your applications against debuggers, emulators, code injection, tampering and other runtime attacks without requiring code changes.

Detection Modules

Module Description
Debugger Detection Detects attached debuggers via platform APIs and process inspection
Emulator Detection Identifies emulated environments (QEMU, Genymotion, BlueStacks, etc.)
Virtual Machine Detection Detects VM environments (VMware, VirtualBox, Hyper-V, etc.)
Jailbreak / Root Detection Identifies rooted Android devices and jailbroken iOS environments
Tampering Detection Validates APK signature integrity and detects code modifications
Clock Tampering Detects system time manipulation attempts
Process Injection Identifies unauthorized libraries and code injection
Network Tampering Detects proxy, VPN and MITM interception
Memory Dump Detection Identifies memory dump and instrumentation tools (Frida, Xposed, etc.)
License Binding Binds license to device hardware for anti-piracy
Container Detection Detects Docker, Kubernetes and container environments
Remote Desktop Detection Identifies remote desktop and screen sharing sessions
Cloud Metadata Detection Detects cloud provider metadata service access

Installation

Step 1: Configure repositories

In your settings.gradle.kts, add Maven Central to plugin repositories:

pluginManagement {
    repositories {
        mavenCentral()
        google()
        gradlePluginPortal()
    }
}

Step 2: Apply the plugin

In your app's build.gradle.kts:

plugins {
    id("com.android.application")
    id("com.bytehide.monitor") version "1.0.1"
}

monitor {
    projectToken = "your-project-token"
}

That's it. The plugin automatically:

  • Embeds an encrypted, server-signed license
  • Generates a ContentProvider for zero-code auto-initialization
  • Registers the provider in AndroidManifest.xml
  • Adds the monitor-core dependency

Note: The Gradle plugin is required — it signs and embeds the license at build time. The SDK will not initialize without it.

Configuration

Android DSL

monitor {
    projectToken = "your-project-token"

    // Presets: "mobile", "desktop", or "custom"
    preset = "mobile"

    // Or configure individually
    enableDebuggerDetection = true
    enableJailbreakDetection = true
    enableTamperingDetection = true
    enableEmulatorDetection = true

    // Default action: "log", "close", "erase", or custom
    defaultAction = "log"
    defaultIntervalMs = 30000
}

Advanced: Java API

For additional runtime control beyond the DSL, use the Java API in your Application or Activity:

import com.bytehide.monitor.Monitor;
import com.bytehide.monitor.core.action.ActionType;
import com.bytehide.monitor.core.protection.ProtectionModuleType;
import com.bytehide.monitor.core.logging.LogLevel;

Monitor.configure(config -> {
    config.useToken("your-project-token");

    // Register custom threat handler
    config.registerCustomAction("notify", threat -> {
        System.out.println("Threat: " + threat.getDescription());
    });

    // Configure logging
    config.configureLogging(logging -> {
        logging.enableConsole();
        logging.setMinimumLevel(LogLevel.INFO);
    });

    // Enable protections
    config.addProtection(ProtectionModuleType.DEBUGGER_DETECTION, ActionType.LOG, 30000);
    config.addProtection(ProtectionModuleType.JAILBREAK_DETECTION, ActionType.CLOSE, 60000);
});

Threat Response Actions

Action Description
LOG Log the threat and continue execution
CLOSE Terminate the application
ERASE Wipe application data and terminate
CUSTOM Execute a custom handler

Platform Support

  • Android 5.0+ (API 21+) via Gradle plugin
  • Java 11+ (desktop and server)
  • Kotlin (JVM target)
  • Gradle 8.x / 9.x

Documentation

Full documentation, integration guides and API reference available at docs.bytehide.com.

License

Proprietary. See Terms of Service.


Built by ByteHide

About

Runtime Application Self-Protection (RASP) for JVM applications. Monitor secures your Java, Kotlin and Android apps with real-time threat detection, anti-tampering and security monitoring.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors