Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Гайд Phasmophobia — Обход чеков BepInEx и предотвращение форс-краша

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
682
Реакции
18
Народ, кто ковыряет Phasmo, в курсе, что разрабы закрутили гайки и пытаются дропать игру при наличии BepInEx или других лоадеров. Метод защиты там топорный — игра просто вызывает Quit() или ForceCrash(), если видит сторонние либы в процессе. Рассказываю, как это обойти через Harmony и заставить софт работать.

Суть метода

Нам нужно запретить игре самоликвидироваться. Для этого используем последнюю версию BepInEx (Bleeding Edge build для IL2CPP) и Harmony для патчинга критических методов движка Unity.

  1. Качаем актуальный BepInEx-Unity.IL2CPP-win-x64.
  2. Создаем плагин и вешаем хуки на завершение процесса и принудительный краш.
  3. Патчим методы Application.Quit и ForceCrash в префиксе, возвращая false, чтобы оригинальный код не исполнялся.

Техническая часть (C# Patch):

Код:
Expand Collapse Copy
[HarmonyPatch(typeof(Application), "Quit", new Type[] { })]
public static class AntiQuit
{
    public static bool Prefix()
    {
        Debug.Log("Quit blocked!");
        return false;
    }
}

[HarmonyPatch(typeof(UnityEngine.Diagnostics.Utils), "ForceCrash", new Type[] { typeof(UnityEngine.Diagnostics.ForcedCrashCategory) })]
public static class AntiCrash
{
    public static bool Prefix(ForcedCrashCategory crashCategory)
    {
        Debug.Log("Crash blocked: " + crashCategory);
        return false;
    }
}

Траблшутинг: черный экран

После применения патчей игра может зависнуть на черном экране при загрузке — это нормально, так как логика инициализации прерывается. Чтобы проскочить в лобби, используйте UnityExplorer. Через него нужно принудительно вызвать загрузку сцены Main_Menu. После этого обход считается успешным, и можно спокойно юзать свои скрипты.

Кстати, пытался подменить девелоперские бэджи через MITM-прокси (трафик в сторону /GetPlayerBadges). Ответ в JSON подменяется, но визуально в профиле ничего не меняется, либо запрос идет один раз за сессию. Если кто-то уже копал в сторону спуфинга значков через BepInEx плагин — отпишитесь, есть идея реализовать это на стороне клиента.

Кто уже пробовал этот метод на последнем обновлении?
 
Назад
Сверху Снизу