Гайд Как FaceIt обнаруживает AimBot на самом деле?

Администратор
Администратор
Статус
Оффлайн
Регистрация
20 Янв 2014
Сообщения
6,550
Реакции[?]
8,428
Поинты[?]
279K
Многие читеры и основополагающие кодеры используют в своей основе mouse_event [АимБот], который до сих пор остался незамеченным на FaceIt. Я решил написать некоторую статью о том, как FaceIt вообще детектит игроков с аимботом (точнее, с "не теми" настройками).

Какие мысли не соответствуют действительности?

  • FaceIt обнаруживает "нечеловеческое" поведение - [Не правда].
  • FaceIt обнаруживает линейные аимботы - [Не правда].
  • FaceIt обнаруживает rand() - [На данный момент - актуально, но идёт 50/50].
  • FaceIt используют суперкомпьютер и Hadoop, которая распространяет нейтральную сеть для обнаружения аимбота - [Не правда].
  • Только "hardware" аимботы не обнаружены - [Похоже на правду, но на самом деле - нет].

Как это реально работает? Давайте посмотрим на CUserCmd:

Код:
class CUserCmd
{
public:
    // For matching server and client commands for debugging
    int        command_number;
    
    // the tick the client created this command
    int        tick_count;
    
    // Player instantaneous view angles.
    QAngle    viewangles;     
    
    Vector    aimdirection;
    
    // Intended velocities
    //    forward velocity.
    float    forwardmove;   
    //  sideways velocity.
    float    sidemove;      
    //  upward velocity.
    float    upmove;         
    // Attack button states
    int        buttons;        
    // Impulse command issued.
    byte    impulse;        
    // Current weapon id
    int        weaponselect;    
    int        weaponsubtype;
 
    int        random_seed;    // For shared random functions
 
    short    mousedx;        // mouse accum in x from create move
    short    mousedy;        // mouse accum in y from create move
Если вы не заметили, то у нас здесь есть 2 параметра - "mousedx" и "mousedy", а также отдельный параметр "viewangles". Когда у вас работает аимбот, то изменяется только значение "viewangles". А значения "mousedx" и "mousedy" будут равны нулю или иметь какое-то одно значение, которое не будет совпадать со значение "дельта viewangles".

От того, что написано выше, и следует система поиска аимботов в лиге FaceIt. Попросту система вычисляет правильное значение параметров "mousedx" и "mousedy" на сервере, которое рассчитывается на основе параметра "дельта viewangles" текущей и прошлой отметок. Если значения не совпадают с UserCmd, посланного от клиента, то вы сразу же получаете бан.

Вот такая вот система работы античита FaceIt. Если узнать, как вычисляются параметры "mousedx" и "mousedy" на основе "дельта viewangles", то можно найти способ обхода. Такие вот дела (:
 
Сверху Снизу