Mod BepInEx Phasmophobia : aveugle le scanner anti-mod du jeu (File/Directory.Exists filtres) pour laisser demarrer les sessions modees. Independant de tout autre mod.
Find a file
2026-11-02 08:34:51 +01:00
.gitignore Anti-Detection Phasmophobia v1.0.0 : mod separe de contournement (extrait de WikiGhostJournal v1.5.0) 2026-10-30 11:42:11 +01:00
PhasmoAntiModBypass.csproj v1.7.4: suppression badge pilotee par livre ouvert + diagnostic cartes lobby 2026-11-02 08:34:51 +01:00
Plugin.cs v1.7.4: suppression badge pilotee par livre ouvert + diagnostic cartes lobby 2026-11-02 08:34:51 +01:00
README.md Anti-Detection Phasmophobia v1.0.0 : mod separe de contournement (extrait de WikiGhostJournal v1.5.0) 2026-10-30 11:42:11 +01:00

Anti-Detection Phasmophobia

Mod BepInEx qui empeche Phasmophobia de detecter et de detruire les sessions moddees.

Pourquoi ce mod existe

Depuis les mises a jour 2026, Phasmophobia scanne son propre dossier au demarrage (depuis l'ecran titre) a la recherche des fichiers des chargeurs de mods : winhttp.dll (Doorstop / BepInEx), doorstop_config.ini, .doorstop_version, BepInEx, MelonLoader, dotnet. Des qu'il en trouve un :

  1. il loggue <fichier> | version : <steamid> et appelle CloudEvents.SelfReport(detection) pour signaler les fichiers au serveur ;
  2. il tue le processus (UnityEngine.Diagnostics.Utils.ForceCrash, SIGABRT) ;
  3. si le crash est bloque, il ferme proprement la session (Application.Quit) — le jeu tourne mais le menu ne se charge jamais (ecran noir).

Tout mod charge par BepInEx se fait donc detruire au lancement, y compris un mod purement cosmetique.

Ce que fait ce mod

Aveugler le scanner (approche identique au bypass communautaire PhasBypass de LelouBil, verifiee fonctionnelle) : le scanner tourne normalement mais ne trouve RIEN. File.Exists / Directory.Exists renvoient false et Directory.GetFiles / GetDirectories / GetFileSystemEntries retirent de leurs resultats les fichiers du chargeur. Le scanner ne declenche donc aucune detection : pas de rapport, pas de crash, pas de fermeture, le menu se charge normalement.

Les fichiers legitimes du jeu (sauvegardes, configs, assets) ne sont jamais touches : seuls les noms de fichiers/dossiers du chargeur sont masques.

En secours (si une detection passait malgre l'aveuglement, par exemple apres une mise a jour du jeu qui ajouterait un nouveau fichier a detecter) :

  • le contenu du rapport SelfReport est vide avant envoi ;
  • l'appel ForceCrash est ignore ;
  • Application.Quit / Environment.Exit sont bloques dans les 90 s suivant une detection (votre fermeture manuelle du jeu reste normale).

Installation

  1. Installez BepInEx 6 IL2CPP a la racine du jeu (dossier contenant Phasmophobia.exe).
  2. Placez PhasmoAntiModBypass.dll dans BepInEx\plugins\.
  3. Lancez le jeu.

Ce mod doit etre installe en plus de vos autres mods (WikiGhostJournal, etc.) : il ne contient aucune fonctionnalite de jeu, uniquement le contournement. Il profite a TOUS les mods installes (les patchs sont globaux au processus).

Configuration

Apres le premier lancement, BepInEx\config\com.emitlinks.phasmo.antimodbypass.cfg :

Cle Defaut Effet
AveuglerScanner true Masque les fichiers du chargeur au scanner (correctif principal)
NeutraliserRapport true Vide le rapport de detection envoye au serveur
EmpecherCrashForce true Ignore la tentative de kill du processus
EmpecherQuitter true Bloque la fermeture automatique post-detection (90 s)

Verification

Dans BepInEx\LogOutput.log, au demarrage :

[Info   :Anti-Detection Phasmophobia] Patch applique (prefix) : Boolean Exists(String path)
...
[Info   :Anti-Detection Phasmophobia] Anti-Detection Phasmophobia : 12 point(s) neutralise(s). Scanner aveugle actif.

Et dans AppData\LocalLow\Kinetic Games\Phasmophobia\Player.log : aucune ligne | version : (le scanner ne signale plus rien).

Compilation

dotnet build -c Release -p:GameDir="C:\chemin\vers\Phasmophobia"

Le projet ne depend d'AUCUNE DLL interop du jeu (tous les types du jeu sont resolus a l'execution via AccessTools.TypeByName) : seules les DLL de BepInEx\core sont necessaires, ce qui le rend insensible aux changements d'obfuscation entre les builds du jeu.

Licence / credits

Technique d'aveuglement identique a celle de PhasBypass (LelouBil, MIT). Implementation independante en C# avec les garde-fous de fermeture.