Вопрос C++ Методы защиты чита

Начинающий
Статус
Оффлайн
Регистрация
20 Авг 2024
Сообщения
11
Реакции[?]
0
Поинты[?]
0
Привет всем. Какие существуют методы защиты для чита на плюсах? Знаю есть защиты по MAC, HWID, но их наверное легко обойти...

P.S. я говорю не про обфускацию, а про защиту в лоадере или длл

P.S.S извиняюсь, если допустил какие то ошибки, я новичок в этом
 
Чайний гриб
Пользователь
Статус
Оффлайн
Регистрация
28 Окт 2021
Сообщения
328
Реакции[?]
31
Поинты[?]
23K
Привет всем. Какие существуют методы защиты для чита на плюсах? Знаю есть защиты по MAC, HWID, но их наверное легко обойти...

P.S. я говорю не про обфускацию, а про защиту в лоадере или длл

P.S.S извиняюсь, если допустил какие то ошибки, я новичок в этом
контроль версий (проверка версии с возможностью отключить старые версии через сервер), анти дебаг (к примеру использование простеньких api функций вроде IsDebuggerPresent CheckRemoteDebuggerPresent NtQueryInformationProcess и многое многое другое), анти дамп, проверка на виртуальные машины, проверка на изменение памяти, и это только малая часть еще есть куча разных способов защиты
еще можно юзать разные протекторы например vmprotect
 
SummerLOVE
Пользователь
Статус
Оффлайн
Регистрация
26 Авг 2022
Сообщения
343
Реакции[?]
50
Поинты[?]
7K
контроль версий (проверка версии с возможностью отключить старые версии через сервер), анти дебаг (к примеру использование простеньких api функций вроде IsDebuggerPresent CheckRemoteDebuggerPresent NtQueryInformationProcess и многое многое другое), анти дамп, проверка на виртуальные машины, проверка на изменение памяти, и это только малая часть еще есть куча разных способов защиты
еще можно юзать разные протекторы например vmprotect
вот знаешь ты все это рассказал но полина ждет своего маленького принца...
так и быть держи функции для защиты твоего лоадера


C++:
bool PolinkaDetectDebug() {
    return IsDebuggerPresent();
}

bool PolinkaDetectZombi() {
    HANDLE hProcess = GetCurrentProcess();
    BOOL bDebuggerPresent = FALSE;
    CheckRemoteDebuggerPresent(hProcess, &bDebuggerPresent);
    return bDebuggerPresent;
}

bool Polinka228() {
    HANDLE hProcess = GetCurrentProcess();
    PROCESS_BASIC_INFORMATION pbi;
    NTSTATUS status = NtQueryInformationProcess(hProcess, ProcessBasicInformation, &pbi, sizeof(pbi), NULL);
    if (status == 0) {
        return pbi.PebBaseAddress->BeingDebugged;
    }
    return false;
}
 
Сверху Снизу