-
-
Notifications
You must be signed in to change notification settings - Fork 0
Whitelisting
MLVScan uses SHA256 cryptographic hashes to whitelist trusted mods, providing superior security compared to filename-based whitelisting.
- Tamper Detection: Any modification to a mod file changes its hash
- Filename Independence: Renaming a file doesn't affect its hash
- Authenticity Verification: Confirms you have the exact same file
- Collision Resistance: Virtually impossible to create a malicious file with the same hash
| Feature | Filename-Based | SHA256 Hash-Based |
|---|---|---|
| Security | Low - easily spoofed | High - cryptographically secure |
| Tamper Detection | None | Immediate |
| Rename Protection | No | Yes |
| Version Control | Poor | Excellent |
When MLVScan flags a mod, it displays the hash in the console and report:
[MLVScan] SUSPICIOUS MOD: MyMod.dll
[MLVScan] SHA256 Hash: 3918e1454e05de4dd3ace100d8f4d53936c9b93694dbff5bcc0293d689cb0ab7
The hash is also included in the generated report file.
Before whitelisting:
- Ask the Community: Join the Modding Discord and ask in the MLVScan thread
- Check the Report: Review the detailed scan report to understand what was flagged
- Use LLM Analysis: Copy the generated prompt file to ChatGPT for analysis (see reports folder)
- Verify Source: Ensure the mod came from a trusted source (NexusMods, Thunderstore)
- Check Author: Research the mod author's reputation
- Open
MelonPreferences.cfgin your game directory - Find the
[MLVScan]section - Add the hash to
WhitelistedHashes
Example Configuration:
[MLVScan]
WhitelistedHashes = ["3918e1454e05de4dd3ace100d8f4d53936c9b93694dbff5bcc0293d689cb0ab7", "8e6dd1943c80e2d1472a9dc2c6722226d961027a7ec20aab9ad8f1184702d138", "d47eb6eabd3b6e3b742c7d9693651bc3a61a90dcbe838f9a4276953089ee4951"]Format Notes:
- Use the full 64-character hash
- Separate multiple hashes with commas
- Hashes can be in any case (uppercase/lowercase)
- Keep hashes inside the array brackets
[]
Changes to MelonPreferences.cfg require a game restart to take effect.
MLVScan includes a default whitelist for common mods with known false positives:
| Mod | Hash | Reason |
|---|---|---|
| CustomTV (Mono) | 3918e145... |
Uses legitimate data loading |
| CustomTV (IL2CPP) | 8e6dd194... |
Uses legitimate data loading |
| UnityExplorer (Mono) | d47eb6ea... |
Debugging tool with reflection |
| UnityExplorer (IL2CPP) | cfe43c0d... |
Debugging tool with reflection |
To remove a mod from your whitelist:
- Open
MelonPreferences.cfg - Find the hash in the
WhitelistedHashesarray - Delete the hash (and its comma)
- Save and restart
To start fresh:
[MLVScan]
WhitelistedHashes = []On next launch, MLVScan will re-initialize the default whitelist.
You can share your whitelist with others by copying the WhitelistedHashes line. This helps build community trust for known-safe mods.
You can verify a mod's SHA256 hash using system tools:
Get-FileHash -Algorithm SHA256 "path\to\mod.dll"sha256sum /path/to/mod.dllUse trusted hash calculators, but never upload mod files to untrusted sites.
- Verify hashes match before whitelisting
- Share safe hashes with the community
- Keep a backup of your whitelist
- Review the scan report before whitelisting
- Ask the community if unsure
- Whitelist without verifying the source
- Blindly trust hashes from unknown sources
- Whitelist just to make warnings go away
- Share hashes of unverified mods
Common reasons for false positives:
- Legitimate Reflection: Some mods use reflection for valid purposes
- Debugging Tools: Development tools trigger multiple detection rules
- Data Loading: Loading custom content can appear suspicious
- Obfuscation: Some developers obfuscate code, triggering encoding rules
MLVScan uses multi-signal detection to reduce false positives, but some legitimate mods may still be flagged.
- Bypasses ALL security checks for the whitelisted mod
- Trusts the mod completely - no rescanning on updates
- Permanent until removed - stays whitelisted across game sessions
- Doesn't verify safety - you must verify before whitelisting
- Doesn't protect against updates - if the mod updates, the hash changes
- Doesn't scan dependencies - other files loaded by the mod aren't checked
Remember:
- Whitelisting is powerful but dangerous if misused
- Always verify with the community first
- Keep your whitelist minimal
- Review flagged mods carefully
- When in doubt, don't whitelist