Исходник Aimware fakelags

Участник
Участник
Статус
Оффлайн
Регистрация
30 Дек 2020
Сообщения
398
Реакции
293
aimware fakelags reversed

C++:
Expand Collapse Copy
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;

Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Последнее редактирование:
aimware fakelags reversed

C++:
Expand Collapse Copy
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;

Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Что за чит на видео?
 
Какой смысл от этого поста вообще? Типа зачем это реверсить, все эти принципы и так понятны любому дураку даже не нужно это проверять, единственное что возможно несло бы какую либо пользу это исходный код детекта пика, но даже это не составляет никакой ценности
 
aimware fakelags reversed

C++:
Expand Collapse Copy
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;

Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Подскажи, как дебажить сие чудо? Я так и не могу разобраться, можешь пошагово пожалуйста рассказать пошагово, что и как делать с зероном\фестивом
 
  • Ахаха
Реакции: sove
Подскажи, как дебажить сие чудо? Я так и не могу разобраться, можешь пошагово пожалуйста рассказать пошагово, что и как делать с зероном\фестивом
1651846990394.png
 
да, вот как делаю я:
-Компил в релизе:
1. Инжекчу (потому что если сначала подкинуть отладку, а потом инжектить - не заинжектится)
2. подкидываю отладку
3. когда ловлю краш, выбивает прост очто не распознало символы, без какого либо кода
-Компил в дебаге
1. Инжекчу по тем же причинам сначала
2. Отладка
3. При открытии меню ловлю краш имгуя который я уже показывал в теме вопросов, и что с ним делать не знаю
 
крашит, что делать?
 
Назад
Сверху Снизу