Skip to content

Getting Started

ifBars edited this page Feb 5, 2026 · 3 revisions

Getting Started with MLVScan

This guide will walk you through installing and using MLVScan to protect your game from malicious mods.

Installation

MLVScan supports MelonLoader, BepInEx 5.x, and BepInEx 6.x (Mono & Il2Cpp). Choose the appropriate section for your mod loader.

Prerequisites

  • A compatible mod loader installed on your game (MelonLoader or BepInEx)
  • Basic familiarity with installing mods

MelonLoader Installation

Steps

  1. Download MLVScan

    • Visit the Releases page
    • Download the latest MLVScan.MelonLoader.dll
  2. Install the Plugin

    • Navigate to your game's installation folder
    • Open the Plugins folder (created by MelonLoader)
    • Copy MLVScan.MelonLoader.dll into the Plugins folder
  3. Launch Your Game

    • Start your game normally
    • MLVScan will automatically initialize and scan all installed mods
    • Check the MelonLoader console for scan results

BepInEx 5.x Installation

Steps

  1. Download MLVScan

    • Visit the Releases page
    • Download the latest MLVScan.BepInEx.dll
  2. Install the Patcher

    • Navigate to your game's installation folder
    • Open the BepInEx/patchers folder
    • Copy MLVScan.BepInEx.dll into the BepInEx/patchers folder
  3. Launch Your Game

    • Start your game normally
    • MLVScan will automatically initialize and scan all installed plugins
    • Check the BepInEx console/log for scan results

BepInEx 6.x Mono Installation

Steps

  1. Download MLVScan

    • Visit the Releases page
    • Download the latest MLVScan.BepInEx6.Mono.dll
  2. Install the Plugin

    • Navigate to your game's installation folder
    • Open the BepInEx/plugins folder
    • Copy MLVScan.BepInEx6.Mono.dll into the BepInEx/plugins folder
  3. Launch Your Game

    • Start your game normally
    • MLVScan will automatically initialize and scan all installed plugins
    • Check the BepInEx console/log for scan results

BepInEx 6.x Il2Cpp Installation

Steps

  1. Download MLVScan

    • Visit the Releases page
    • Download the latest MLVScan.BepInEx6.IL2CPP.dll
  2. Install the Plugin

    • Navigate to your game's installation folder
    • Open the BepInEx/plugins folder
    • Copy MLVScan.BepInEx6.IL2CPP.dll into the BepInEx/plugins folder
  3. Launch Your Game

    • Start your game normally
    • MLVScan will automatically initialize and scan all installed plugins
    • Check the BepInEx console/log for scan results

What Happens During Scanning

When you launch your game with MLVScan installed:

  1. Pre-load Analysis: MLVScan scans all mods/plugins before they execute
  2. Pattern Detection: Uses 17+ detection rules from MLVScan.Core to identify suspicious code
  3. Hash Verification: Checks mod SHA256 hashes against your whitelist
  4. Automatic Protection: Disables any mods/plugins with suspicious patterns above the threshold
  5. Report Generation: Creates detailed reports for any flagged mods/plugins

Understanding the Console Output

Clean Scan

[MLVScan] Pre-scanning for malicious mods...
[MLVScan] Scanning for suspicious mods...
[MLVScan] No suspicious mods found
[MLVScan] MLVScan initialization complete

Suspicious Mod Detected

[MLVScan] Pre-scanning for malicious mods...
[MLVScan] Scanning for suspicious mods...
[MLVScan] Disabled 1 suspicious mods
[MLVScan] ======= DETAILED SCAN REPORT =======
[MLVScan] SUSPICIOUS MOD: SomeMod.dll
[MLVScan] SHA256 Hash: abc123...
[MLVScan] [CRITICAL] Process execution detected (2 instances)
...

Configuration

MLVScan creates a configuration section in MelonPreferences.cfg:

Default Configuration

[MLVScan]
WhitelistedHashes = ["3918e1454e05de4dd3ace100d8f4d53936c9b93694dbff5bcc0293d689cb0ab7", "8e6dd1943c80e2d1472a9dc2c6722226d961027a7ec20aab9ad8f1184702d138"]
DisableThreshold = Medium
DumpFullIlReports = false

Configuration Options

  • WhitelistedHashes: Array of SHA256 hashes for trusted mods
  • DisableThreshold: Minimum severity level to trigger mod disabling (Low, Medium, High, Critical)
  • DumpFullIlReports: Generate complete IL dumps for flagged mods (advanced debugging)

Development Scanning with MLVScan.DevCLI

If you're developing your own mods, you can use MLVScan.DevCLI to scan your builds during development:

Installation

dotnet tool install --global MLVScan.DevCLI

Basic Usage

# Scan your built mod
mlvscan-dev MyMod.dll

# Get JSON output for CI/CD
mlvscan-dev MyMod.dll --json

# Fail build on high severity issues
mlvscan-dev MyMod.dll --fail-on High

MSBuild Integration

Add this to your .csproj to automatically scan after builds:

<Target Name="MLVScanCheck" AfterTargets="Build">
  <Exec Command="dotnet mlvscan-dev $(TargetPath)" />
</Target>

For more information on the Developer CLI, see the Developer CLI Guide.

First-Time Setup

On your first launch, MLVScan will:

  1. Create default configuration in MelonPreferences.cfg
  2. Initialize a default whitelist (includes common false positives like UnityExplorer, CustomTV)
  3. Scan all installed mods
  4. Display results in the console

Where to Find Reports

When MLVScan flags a mod, it generates reports in:

YourGame/UserData/MLVScan/Reports/
├── ModName_20231215_123456.report.txt
├── Prompts/
│   └── ModName.prompt.md
└── IL/
    └── ModName_20231215_123456.il.txt  (if DumpFullIlReports is enabled)

Next Steps

Need Help?