Lag exploit (anti-predict) для weave su v2

Статус
В этой теме нельзя размещать новые ответы.
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
16 Фев 2018
Сообщения
67
Реакции
57
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Никто это не использовал, значит вам это не нужно)
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ty for sharing :seemsgood:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Чел, ну ты просто бест. Добавил в читик, вроде воркает. Правда на пике со скара 1 пулю дт может миснуть и смысла нет в лаг пике, но это проблемы чита.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Чел, ну ты просто бест. Добавил в читик, вроде воркает. Правда на пике со скара 1 пулю дт может миснуть и смысла нет в лаг пике, но это проблемы чита.
1626706797545.png
ок
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Немного переработан код и добавлена информация по просьбе автора
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
мужик
не составляет
а равняется она к чему?
к нулю заебись. да оч круто

например ебать

g_PCsgo->m_nPrevTickbase = m_pCsgo->m_pCurrentTickbase; иэто все инт прикинь
Это можно было логически додумать, потому что переменная увеличивается и равняется 0, если ее значение превышает больше 14
 
я не понял, то есть вместо того, чтобы зарядить дт раз он просто делает это бесконечно в цикле?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
я не понял, то есть вместо того, чтобы зарядить дт раз он просто делает это бесконечно в цикле?
Данный код вызывается вместо обычного Break LC. - При этом речардж остается не тронутым.
 
Данный код вызывается вместо обычного Break LC. - При этом речардж остается не тронутым.
а каким образом тогда если чит не отправляет на сервер и у него остается речарджнутый дт?
 
лучше бы сказал кто в сурсе так наебланил что сайд свичается только на стенде :anguished:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
а каким образом тогда если чит не отправляет на сервер и у него остается речарджнутый дт?
Он всегда отправляет данные на сервер, но не для лаг компенсации с таким методом.
Как я понимаю, каждый раз, когда ты шифтишь, ты ломаешь лаг компенсацию.
От чего какие либо данные не отправляются на сервер / экстраполируются игрой.
 
Where should i include this?
 
Этот метод очень костыльный и могут быть предикшн ерроры.
Но это не мешает аимботу попадать нормально при пике или других ситуациях.
Для этого нужно:
Переделать брик лц таким образом, чтобы он работал как фейклаг
То-есть, как с обычным фейклагом, делается таймер
Пока он не достиг 14 тиков - не отправляем данные (шифтим)
Достигло - отправляем данные на сервер (офаем шифт)
Код:
Expand Collapse Copy
if (can_dt)
    {
        if (++csgo->shift_timer >= 14)
            csgo->shift_timer = 0;

        csgo->shift_amount = csgo->shift_timer > 0 ? 16 : 0;
    }

Может еще понадобиться нормальный (не с лв) Hooked_WriteUsercmdDeltaToBuffer
Код его будет ниже:
Код:
Expand Collapse Copy
void WriteUsercmd(bf_write* buf, CUserCmd* in, CUserCmd* out)
{
    using WriteUserCmd_t = void(__fastcall*)(void*, CUserCmd*, CUserCmd*);
    static auto Fn = (WriteUserCmd_t)csgo->Utils.FindPatternIDA(GetModuleHandleA(g_Modules[fnva1(hs::client_dll.s().c_str())]().c_str()),
        hs::write_user_cmd.s().c_str());

    __asm
    {
        mov     ecx, buf
        mov     edx, in
        push    out
        call    Fn
        add     esp, 4
    }
}

bool __fastcall Hooked_WriteUsercmdDeltaToBuffer(void* ecx, void*, int slot, bf_write* buf, int from, int to, bool isnewcommand)
{
    static auto original_fn = g_pClientHook->GetOriginal <WriteUsercmdDeltaToBufferFn>(g_HookIndices[fnva1(hs::Hooked_WriteUsercmdDeltaToBuffer.s().c_str())]);

    if (!csgo->local
        || !csgo->is_connected
        || !csgo->is_local_alive
        || csgo->game_rules->IsFreezeTime()
        || csgo->local->HasGunGameImmunity()
        || csgo->local->GetFlags() & FL_FROZEN)
        return original_fn(ecx, slot, buf, from, to, isnewcommand);

    if (!csgo->shift_amount)
        return original_fn(ecx, slot, buf, from, to, isnewcommand);

    if (from != -1)
        return true;

    auto p_new_commands = (int*)((DWORD)buf - 0x2C);
    auto p_backup_commands = (int*)((DWORD)buf - 0x30);
    auto new_commands = *p_new_commands;

    auto next_cmd_nr = csgo->client_state->nLastOutgoingCommand + csgo->client_state->iChokedCommands + 1;

    auto total_new_commands = std::clamp(csgo->shift_amount, 0, 16);
    csgo->shift_amount -= total_new_commands;

    from = -1;

    *p_new_commands = total_new_commands;
    *p_backup_commands = 0;

    for (to = next_cmd_nr - new_commands + 1; to <= next_cmd_nr; to++)
    {
        if (!original_fn(ecx, slot, buf, from, to, true))
            return false;

        from = to;
    }

    CUserCmd* last_real_cmd = interfaces.input->GetUserCmd(slot, from);
    CUserCmd from_cmd;

    if (last_real_cmd)
        memcpy(&from_cmd, last_real_cmd, sizeof(CUserCmd));

    CUserCmd to_cmd;
    memcpy(&to_cmd, &from_cmd, sizeof(CUserCmd));

    to_cmd.command_number++;
    to_cmd.tick_count += 200;

    for (int i = new_commands; i <= total_new_commands; i++)
    {
        WriteUsercmd(buf, &to_cmd, &from_cmd);
        memcpy(&from_cmd, &to_cmd, sizeof(CUserCmd));
        to_cmd.command_number++;
        to_cmd.tick_count++;
    }

    return true;
}

Пруф работы: (спасибо @Kamazik, @ZARG, rod9, emazixs1337, @detour , @Opai, @lxrdjustice, @heranox kirbk512 за тесты)
Fuck code hiders
All my homies do self code and leak it on yougame :deilluminati:

P.S.
Почему ставится 16? Поясню.
Методом отладки было выяснено, что в итоге шифтится 14 тиков, а не 16
Потому что в WriteUsercmdDeltaToBuffer комманды создаются от 2 до 16

Код:
Expand Collapse Copy
  for (int i = new_commands; i <= total_new_commands; i++)
   // new_commands равен 2 (скорее всего из-за того, что происходит чоук на 2 тика)
    {
        WriteUsercmd(buf, &to_cmd, &from_cmd);
        memcpy(&from_cmd, &to_cmd, sizeof(CUserCmd));
        to_cmd.command_number++;
        to_cmd.tick_count++;
    }

    return true;
}
От чего и шифтится (16 - 2 ) = 14 тиков
я чёт твой гайд не понял, какой код нужен?
 
Он всегда отправляет данные на сервер, но не для лаг компенсации с таким методом.
А разве эти события могут происходить параллельно? Тики это единичная величина, каким образом даблтап остается заряженным в момент того, как происходит шифт тиков для брик лс, это же невозможно
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу