Исходник Aimware fakelags

Участник
Статус
Оффлайн
Регистрация
30 Дек 2020
Сообщения
400
Реакции[?]
293
Поинты[?]
1K
aimware fakelags reversed

C++:
int choke_amount{};
bool should_choked{};

switch (g_cfg->m_fake_lag_mode)
{
case FACTOR:
    {
        choke_amount = static_cast<int>(g_sdk.m_packet_data.m_max_choke + 0.5 - 1); // m_max_choke - lag limit from config
        should_choked = g_interfaces.m_client_state->m_choked_commands < choke_amount;
    }
    break;
case SWITCH:
    {
        if (c_packet_manager::get()->get_command()->m_command % 30 >= 15)
            should_choked = true;
    }
    break;
case ADAPTIVE:
    {
        int wish_ticks{};
        int adaptive_ticks{};
        const int units_per_tick = static_cast<int>(TICKS_TO_TIME(g_sdk.m_local->get_velocity().length_2d()));

        if (wish_ticks * units_per_tick > 68)
            goto LABEL_64;
        if ((adaptive_ticks - 1) * units_per_tick > 68)
        {
            ++wish_ticks;
        LABEL_64:
            should_choked = g_interfaces.m_client_state->m_choked_commands < wish_ticks;
        }
        else if (adaptive_ticks * units_per_tick > 68)
        {
            should_choked = g_interfaces.m_client_state->m_choked_commands < wish_ticks + 2;
        }
        else if ((adaptive_ticks + 1) * units_per_tick > 68)
        {
            should_choked = g_interfaces.m_client_state->m_choked_commands < wish_ticks + 3;
        }
        else
        {
            if ((adaptive_ticks + 2) * units_per_tick <= 68)
            {
                adaptive_ticks += 5;
                wish_ticks += 5;
                if (adaptive_ticks > 16)
                {
                    should_choked = g_interfaces.m_client_state->m_choked_commands < wish_ticks;
                    break;
                }
            }
            should_choked = g_interfaces.m_client_state->m_choked_commands < wish_ticks + 4;
        }
        choke_amount = wish_ticks;
    }
    break;
case RANDOM:
    {
        if (const auto random_ticks = min((rand() % 14) + 1, g_cfg->m_lag_limit);
            g_interfaces.m_client_state->m_choked_commands < random_ticks)
        {
            should_choked = true;
        }
    }
    break;
case PEEK:
    {
        if (!g_sdk.m_peek_data.m_is_peeking || !g_sdk.m_rage_data.m_current_target.m_can_hit)
            return;

        /*if (g_interfaces.m_client_state->m_choked_commands >= 14) g_sdk.m_peek.m_is_peeking = false; */
        if (g_interfaces.m_client_state->m_choked_commands < g_sdk.m_packet_data.m_max_choke)
            should_choked = true;
    }
default: break;
}

if (should_choked)
    c_packet_manager::get()->get_send_packet() = false;
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
13 Мар 2022
Сообщения
12
Реакции[?]
0
Поинты[?]
0
aimware fakelags reversed

C++:
int choke_amount{};
bool should_choked{};

switch (g_cfg->m_fake_lag_mode)
{
case FACTOR:
    {
        choke_amount = static_cast<int>(g_sdk.m_packet_data.m_max_choke + 0.5 - 1); // m_max_choke - lag limit from config
        should_choked = g_interfaces.m_client_state->m_choked_commands < choke_amount;
    }
    break;
case SWITCH:
    {
        if (c_packet_manager::get()->get_command()->m_command % 30 >= 15)
            should_choked = true;
    }
    break;
case ADAPTIVE:
    {
        int wish_ticks{};
        int adaptive_ticks{};
        const int units_per_tick = static_cast<int>(TICKS_TO_TIME(g_sdk.m_local->get_velocity().length_2d()));

        if (wish_ticks * units_per_tick > 68)
            goto LABEL_64;
        if ((adaptive_ticks - 1) * units_per_tick > 68)
        {
            ++wish_ticks;
        LABEL_64:
            should_choked = g_interfaces.m_client_state->m_choked_commands < wish_ticks;
        }
        else if (adaptive_ticks * units_per_tick > 68)
        {
            should_choked = g_interfaces.m_client_state->m_choked_commands < wish_ticks + 2;
        }
        else if ((adaptive_ticks + 1) * units_per_tick > 68)
        {
            should_choked = g_interfaces.m_client_state->m_choked_commands < wish_ticks + 3;
        }
        else
        {
            if ((adaptive_ticks + 2) * units_per_tick <= 68)
            {
                adaptive_ticks += 5;
                wish_ticks += 5;
                if (adaptive_ticks > 16)
                {
                    should_choked = g_interfaces.m_client_state->m_choked_commands < wish_ticks;
                    break;
                }
            }
            should_choked = g_interfaces.m_client_state->m_choked_commands < wish_ticks + 4;
        }
        choke_amount = wish_ticks;
    }
    break;
case RANDOM:
    {
        if (const auto random_ticks = min((rand() % 14) + 1, g_cfg->m_lag_limit);
            g_interfaces.m_client_state->m_choked_commands < random_ticks)
        {
            should_choked = true;
        }
    }
    break;
case PEEK:
    {
        if (!g_sdk.m_peek_data.m_is_peeking || !g_sdk.m_rage_data.m_current_target.m_can_hit)
            return;

        /*if (g_interfaces.m_client_state->m_choked_commands >= 14) g_sdk.m_peek.m_is_peeking = false; */
        if (g_interfaces.m_client_state->m_choked_commands < g_sdk.m_packet_data.m_max_choke)
            should_choked = true;
    }
default: break;
}

if (should_choked)
    c_packet_manager::get()->get_send_packet() = false;
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Что за чит на видео?
 
кто читает тот умрет
Участник
Статус
Оффлайн
Регистрация
29 Июл 2019
Сообщения
696
Реакции[?]
540
Поинты[?]
153K
Какой смысл от этого поста вообще? Типа зачем это реверсить, все эти принципы и так понятны любому дураку даже не нужно это проверять, единственное что возможно несло бы какую либо пользу это исходный код детекта пика, но даже это не составляет никакой ценности
 
Пользователь
Статус
Оффлайн
Регистрация
26 Авг 2017
Сообщения
386
Реакции[?]
32
Поинты[?]
8K
aimware fakelags reversed

C++:
int choke_amount{};
bool should_choked{};

switch (g_cfg->m_fake_lag_mode)
{
case FACTOR:
    {
        choke_amount = static_cast<int>(g_sdk.m_packet_data.m_max_choke + 0.5 - 1); // m_max_choke - lag limit from config
        should_choked = g_interfaces.m_client_state->m_choked_commands < choke_amount;
    }
    break;
case SWITCH:
    {
        if (c_packet_manager::get()->get_command()->m_command % 30 >= 15)
            should_choked = true;
    }
    break;
case ADAPTIVE:
    {
        int wish_ticks{};
        int adaptive_ticks{};
        const int units_per_tick = static_cast<int>(TICKS_TO_TIME(g_sdk.m_local->get_velocity().length_2d()));

        if (wish_ticks * units_per_tick > 68)
            goto LABEL_64;
        if ((adaptive_ticks - 1) * units_per_tick > 68)
        {
            ++wish_ticks;
        LABEL_64:
            should_choked = g_interfaces.m_client_state->m_choked_commands < wish_ticks;
        }
        else if (adaptive_ticks * units_per_tick > 68)
        {
            should_choked = g_interfaces.m_client_state->m_choked_commands < wish_ticks + 2;
        }
        else if ((adaptive_ticks + 1) * units_per_tick > 68)
        {
            should_choked = g_interfaces.m_client_state->m_choked_commands < wish_ticks + 3;
        }
        else
        {
            if ((adaptive_ticks + 2) * units_per_tick <= 68)
            {
                adaptive_ticks += 5;
                wish_ticks += 5;
                if (adaptive_ticks > 16)
                {
                    should_choked = g_interfaces.m_client_state->m_choked_commands < wish_ticks;
                    break;
                }
            }
            should_choked = g_interfaces.m_client_state->m_choked_commands < wish_ticks + 4;
        }
        choke_amount = wish_ticks;
    }
    break;
case RANDOM:
    {
        if (const auto random_ticks = min((rand() % 14) + 1, g_cfg->m_lag_limit);
            g_interfaces.m_client_state->m_choked_commands < random_ticks)
        {
            should_choked = true;
        }
    }
    break;
case PEEK:
    {
        if (!g_sdk.m_peek_data.m_is_peeking || !g_sdk.m_rage_data.m_current_target.m_can_hit)
            return;

        /*if (g_interfaces.m_client_state->m_choked_commands >= 14) g_sdk.m_peek.m_is_peeking = false; */
        if (g_interfaces.m_client_state->m_choked_commands < g_sdk.m_packet_data.m_max_choke)
            should_choked = true;
    }
default: break;
}

if (should_choked)
    c_packet_manager::get()->get_send_packet() = false;
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Подскажи, как дебажить сие чудо? Я так и не могу разобраться, можешь пошагово пожалуйста рассказать пошагово, что и как делать с зероном\фестивом
 
Участник
Статус
Оффлайн
Регистрация
26 Мар 2019
Сообщения
707
Реакции[?]
167
Поинты[?]
1K
Пользователь
Статус
Оффлайн
Регистрация
26 Авг 2017
Сообщения
386
Реакции[?]
32
Поинты[?]
8K
да, вот как делаю я:
-Компил в релизе:
1. Инжекчу (потому что если сначала подкинуть отладку, а потом инжектить - не заинжектится)
2. подкидываю отладку
3. когда ловлю краш, выбивает прост очто не распознало символы, без какого либо кода
-Компил в дебаге
1. Инжекчу по тем же причинам сначала
2. Отладка
3. При открытии меню ловлю краш имгуя который я уже показывал в теме вопросов, и что с ним делать не знаю
 
Похожие темы
Сверху Снизу