Skip to content

RAFIN-G/Hidder

Repository files navigation

Hidder 📂

Hidder is a Fabric mod designed to work in tandem with the ModSeeker Paper plugin. It provides secure client-side mod verification, detailed system reporting, and encrypted communication with servers running ModSeeker.


✨ Features

  • Client-Side Only: Runs exclusively on the client; no server-side operations.
  • Comprehensive Mod Detection: Detects all installed Fabric mods with version information.
  • Resource Pack Detection: Detects folder-based and ZIP-based resource packs.
  • Shader Pack Detection: Detects installed shaders.
  • Secure Communication: Encrypted channels for mod verification with ModSeeker.
  • Native Cryptography: Uses a native C++ library for RSA/AES encryption and digital signatures.
  • Replay Attack Protection: Includes timestamps in all signed messages.
  • System Info Reporting: Sends OS, Java, Minecraft, and Fabric versions to the server.

🛠 Requirements

  • Minecraft 1.21.10
  • Fabric Loader 0.17.2 or higher
  • Fabric API
  • Java 21 or higher
  • Compatible server running ModSeeker

📦 Installation

  1. Install Fabric Loader for Minecraft 1.21.10.
  2. Download the latest Hidder.jar release.
  3. Place the JAR in your mods/ folder.
  4. Launch the game.

🔗 How It Works

Connection Process

  1. Presence Announcement: Hidder announces itself to the server running ModSeeker.
  2. Handshake: Waits for server acknowledgment.
  3. Mod List Provision: Responds with a full mod list and system info when requested.
  4. Encryption: All communication is encrypted using hybrid RSA/AES.

Communication Protocol

Hidder uses a custom plugin-channel protocol to communicate with ModSeeker:

Message Type Description
ANNOUNCE_PRESENCE Declares Hidder is installed on the client.
ACKNOWLEDGE_PRESENCE Server confirms receipt of announcement.
REQUEST_MODLIST Server requests the client's mod list.
RESPONSE_MODLIST Client responds with mod list and system info.

🔒 Security Implementation

  • Native Vault: Uses hidder_vault.dll (Windows) / .so (Linux) for cryptographic operations.
  • Hybrid Encryption: RSA public-key encryption secures AES session keys; AES-CBC encrypts payloads.
  • Digital Signatures: Messages are signed to prevent tampering.
  • Replay Protection: Timestamps included in all signed messages.
  • Payload Verification: Server validates signatures and timestamps before accepting data.

💻 Native Library

Hidder’s native library provides:

  • RSA/AES hybrid encryption
  • High-performance signature generation
  • Automatic runtime extraction and loading

⚠️ Warning: Do not modify the native library; any changes will invalidate communication with ModSeeker.


🛠 Building from Source

Prerequisites

  • Visual Studio with C++ tools (for Windows native compilation)
  • OpenSSL development libraries
  • JDK 21+
  • Gradle

Steps

  1. Clone the repository.
    git clone https://github.com/RAFIN-G/Hidder 
  2. Navigate to the project directory.
  3. 🔑 Client Keys To build the client, you need the keys generated by the server:
  • Obtain CLIENT_KEYS_CPP.txt (generated by the ModSeeker-Hidder-keygen-tool).
  • Paste its contents into native/hidder_vault.cpp, replacing the RSA KEY COMPONENTS section.
  1. Compile the native library (Windows):
    native/compile_vault.bat
  2. Build the JAR:
    ./gradlew build  # Linux/macOS
    gradlew.bat build # Windows

The compiled JAR will appear in build/libs/.


📝 Technical Details

Detection Scope

  • All installed Fabric mods with versions
  • Resource packs (folder & ZIP)
  • Shader packs (folder & ZIP)

System Info Reported

  • Java version
  • Minecraft version
  • Fabric Loader version

Security Highlights

  • Messages are encrypted and signed
  • Includes timestamps for replay protection
  • Enforces server verification policies strictly

📄 License

This project is licensed under AGPL-3.0 — see the LICENSE file for details.

About

Fabric mod for modseeker

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors