Исходник BameWare old HvH source

Статус
В этой теме нельзя размещать новые ответы.
Keep Ev0lving, Stay Fatal
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,548
Реакции[?]
584
Поинты[?]
100K
Иллюминат(Кодер jre и skeet.idb) помог мне как то раз с фейклатенси для бамика, но мне стало лень его дальше продвигать(Кста, его фейклатенси помой, мой лучше :roflanEbalo: )
Так что держите гитхаб:
Пожалуйста, авторизуйтесь для просмотра ссылки.

Помимо бамика, возможно в будущем я буду кидать туда что то реально годное от себя(Или не годное, сами разберётесь что кому надо)
 
Забаненный
Статус
Оффлайн
Регистрация
14 Сен 2021
Сообщения
20
Реакции[?]
6
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
nice job?
 
I'm watching you
Участник
Статус
Оффлайн
Регистрация
7 Фев 2020
Сообщения
752
Реакции[?]
241
Поинты[?]
3K
Иллюминат(Кодер jre и skeet.idb) помог мне как то раз с фейклатенси для бамика, но мне стало лень его дальше продвигать(Кста, его фейклатенси помой, мой лучше :roflanEbalo: )
Так что держите гитхаб:
Пожалуйста, авторизуйтесь для просмотра ссылки.

Помимо бамика, возможно в будущем я буду кидать туда что то реально годное от себя(Или не годное, сами разберётесь что кому надо)
Да кто такой этот ваш Иллюминат?
 
Keep Ev0lving, Stay Fatal
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,548
Реакции[?]
584
Поинты[?]
100K
Да кто такой этот ваш Иллюминат?
А я хотел кредиты оставить на тебя, та югейм чёт не давал. Так что вот так да, и кста, говно твой фейклатенси, я сегодня реализую ахуенный :roflanEbalo:
 
Пользователь
Статус
Оффлайн
Регистрация
8 Дек 2018
Сообщения
529
Реакции[?]
118
Поинты[?]
31K
А я хотел кредиты оставить на тебя, та югейм чёт не давал. Так что вот так да, и кста, говно твой фейклатенси, я сегодня реализую ахуенный :roflanEbalo:
у илюмината не такой ник в дискорде, и его ник ilum1nate, и зовут его юра :)
 
I'm watching you
Участник
Статус
Оффлайн
Регистрация
7 Фев 2020
Сообщения
752
Реакции[?]
241
Поинты[?]
3K
Keep Ev0lving, Stay Fatal
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,548
Реакции[?]
584
Поинты[?]
100K
Keep Ev0lving, Stay Fatal
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,548
Реакции[?]
584
Поинты[?]
100K
New and last free update:
1. Added NetShowFragments Hook(Если кто то не знает, зачем оно надо, то вот тема раксера на юц(noad):
Пожалуйста, авторизуйтесь для просмотра ссылки.
)
А также сразу прилагается видео от кодера манибота:
2. Переделал что то в ресольвере, куз говно.
Теперь только искать сурсы simv0l_dA_KinG в3 версии. :roflanEbalo:
 
Keep Ev0lving, Stay Fatal
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,548
Реакции[?]
584
Поинты[?]
100K
the cheat is horribly good lol like resolver is decent
Resolver isn`t so bad as you think.
no bruteforce and lagcomp/pred sucks but the cheat overall is good
It has bruteforce and lagcomp. Also, I`m working on new Engine Prediction:

C++:
void EnginePrediction::StartPrediction(SDK::CUserCmd* cmd)
        {
            auto local_player = INTERFACES::ClientEntityList->GetClientEntity(INTERFACES::Engine->GetLocalPlayer());
            if (!local_player)
                return;

            auto weapon = reinterpret_cast<SDK::CBaseWeapon*>(INTERFACES::ClientEntityList->GetClientEntityFromHandle((void*)local_player->GetActiveWeaponIndex()));

            m_flags_backup = local_player->GetFlags();

            local_player->m_pCurrentCommand() = cmd;

            static bool is_initialized = false;
            if (!is_initialized)
            {
                m_random_seed = *(int**)(UTILS::FindPattern("client.dll", (PBYTE)"\x8B\x0D\00\x00\x00\x00\xBA\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x83\xC4\x04", "xx????x????x????xxx") + 2);
                m_prediction_player = *reinterpret_cast<SDK::CBaseEntity***>(UTILS::FindPattern("client.dll", (PBYTE)"\x89\x35\x00\x00\x00\x00\xF3\x0F\x10\x48", "xx????xxxx") + 2);
                is_initialized = true;
            }

            if (!m_movedata)
                m_movedata = (char*)(calloc(1, sizeof(SDK::CMoveData)));

            INTERFACES::MoveHelper->SetHost(local_player);

            *m_random_seed = cmd->random_seed;
            *m_prediction_player = local_player;

            INTERFACES::Globals->curtime = UTILS::GetCurtime();
            INTERFACES::Globals->frametime = INTERFACES::Globals->interval_per_tick;

            //Here we're doing CBasePlayer::UpdateButtonState // NOTE: hard to tell when offsets changed, think of more longterm solution or just dont do this.
            reinterpret_cast<SDK::CMoveData*>(m_movedata)->m_flForwardMove = cmd->forwardmove;
            reinterpret_cast<SDK::CMoveData*>(m_movedata)->m_flSideMove = cmd->sidemove;
            reinterpret_cast<SDK::CMoveData*>(m_movedata)->m_flUpMove = cmd->upmove;
            reinterpret_cast<SDK::CMoveData*>(m_movedata)->m_nButtons = cmd->buttons;
            reinterpret_cast<SDK::CMoveData*>(m_movedata)->m_vecViewAngles = cmd->viewangles;
            reinterpret_cast<SDK::CMoveData*>(m_movedata)->m_vecAngles = cmd->viewangles;
            reinterpret_cast<SDK::CMoveData*>(m_movedata)->m_nImpulseCommand = cmd->impulse;

            int buttonsChanged = cmd->buttons ^ *reinterpret_cast<int*>(uintptr_t(local_player) + 0x31E8);
            *reinterpret_cast<int*>(uintptr_t(local_player) + 0x31DC) = (uintptr_t(local_player) + 0x31E8);
            *reinterpret_cast<int*>(uintptr_t(local_player) + 0x31E8) = cmd->buttons;
            *reinterpret_cast<int*>(uintptr_t(local_player) + 0x31E0) = cmd->buttons & buttonsChanged;  //m_afButtonPressed ~ The changed ones still down are "pressed"
            *reinterpret_cast<int*>(uintptr_t(local_player) + 0x31E4) = buttonsChanged & ~cmd->buttons; //m_afButtonReleased ~ The ones not down are "released"

            INTERFACES::GameMovement->StartTrackPredictionErrors(local_player);

            m_tickbase_backup = local_player->GetTickBase();

            INTERFACES::Prediction->SetupMove(local_player, cmd, INTERFACES::MoveHelper, reinterpret_cast<SDK::CMoveData*>(m_movedata));
            INTERFACES::GameMovement->ProcessMovement(local_player, reinterpret_cast<SDK::CMoveData*>(m_movedata));
            INTERFACES::Prediction->FinishMove(local_player, cmd, reinterpret_cast<SDK::CMoveData*>(m_movedata));

            if(weapon)
                weapon->UpdateAccuracyPenalty();
        }
ps: if u can just merge stuff with synthcode so you got rebuilt player movement
I`ll work on player_movement later. I have much more problems than you think.
 
gone
Забаненный
Статус
Оффлайн
Регистрация
8 Апр 2021
Сообщения
285
Реакции[?]
166
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Resolver isn`t so bad as you think.

It has bruteforce and lagcomp. Also, I`m working on new Engine Prediction:

C++:
void EnginePrediction::StartPrediction(SDK::CUserCmd* cmd)
        {
            auto local_player = INTERFACES::ClientEntityList->GetClientEntity(INTERFACES::Engine->GetLocalPlayer());
            if (!local_player)
                return;

            auto weapon = reinterpret_cast<SDK::CBaseWeapon*>(INTERFACES::ClientEntityList->GetClientEntityFromHandle((void*)local_player->GetActiveWeaponIndex()));

            m_flags_backup = local_player->GetFlags();

            local_player->m_pCurrentCommand() = cmd;

            static bool is_initialized = false;
            if (!is_initialized)
            {
                m_random_seed = *(int**)(UTILS::FindPattern("client.dll", (PBYTE)"\x8B\x0D\00\x00\x00\x00\xBA\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x83\xC4\x04", "xx????x????x????xxx") + 2);
                m_prediction_player = *reinterpret_cast<SDK::CBaseEntity***>(UTILS::FindPattern("client.dll", (PBYTE)"\x89\x35\x00\x00\x00\x00\xF3\x0F\x10\x48", "xx????xxxx") + 2);
                is_initialized = true;
            }

            if (!m_movedata)
                m_movedata = (char*)(calloc(1, sizeof(SDK::CMoveData)));

            INTERFACES::MoveHelper->SetHost(local_player);

            *m_random_seed = cmd->random_seed;
            *m_prediction_player = local_player;

            INTERFACES::Globals->curtime = UTILS::GetCurtime();
            INTERFACES::Globals->frametime = INTERFACES::Globals->interval_per_tick;

            //Here we're doing CBasePlayer::UpdateButtonState // NOTE: hard to tell when offsets changed, think of more longterm solution or just dont do this.
            reinterpret_cast<SDK::CMoveData*>(m_movedata)->m_flForwardMove = cmd->forwardmove;
            reinterpret_cast<SDK::CMoveData*>(m_movedata)->m_flSideMove = cmd->sidemove;
            reinterpret_cast<SDK::CMoveData*>(m_movedata)->m_flUpMove = cmd->upmove;
            reinterpret_cast<SDK::CMoveData*>(m_movedata)->m_nButtons = cmd->buttons;
            reinterpret_cast<SDK::CMoveData*>(m_movedata)->m_vecViewAngles = cmd->viewangles;
            reinterpret_cast<SDK::CMoveData*>(m_movedata)->m_vecAngles = cmd->viewangles;
            reinterpret_cast<SDK::CMoveData*>(m_movedata)->m_nImpulseCommand = cmd->impulse;

            int buttonsChanged = cmd->buttons ^ *reinterpret_cast<int*>(uintptr_t(local_player) + 0x31E8);
            *reinterpret_cast<int*>(uintptr_t(local_player) + 0x31DC) = (uintptr_t(local_player) + 0x31E8);
            *reinterpret_cast<int*>(uintptr_t(local_player) + 0x31E8) = cmd->buttons;
            *reinterpret_cast<int*>(uintptr_t(local_player) + 0x31E0) = cmd->buttons & buttonsChanged;  //m_afButtonPressed ~ The changed ones still down are "pressed"
            *reinterpret_cast<int*>(uintptr_t(local_player) + 0x31E4) = buttonsChanged & ~cmd->buttons; //m_afButtonReleased ~ The ones not down are "released"

            INTERFACES::GameMovement->StartTrackPredictionErrors(local_player);

            m_tickbase_backup = local_player->GetTickBase();

            INTERFACES::Prediction->SetupMove(local_player, cmd, INTERFACES::MoveHelper, reinterpret_cast<SDK::CMoveData*>(m_movedata));
            INTERFACES::GameMovement->ProcessMovement(local_player, reinterpret_cast<SDK::CMoveData*>(m_movedata));
            INTERFACES::Prediction->FinishMove(local_player, cmd, reinterpret_cast<SDK::CMoveData*>(m_movedata));

            if(weapon)
                weapon->UpdateAccuracyPenalty();
        }

I`ll work on player_movement later. I have much more problems than you think.
i used it but once u missed lby flick and freestand then ur fucked
 
Keep Ev0lving, Stay Fatal
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,548
Реакции[?]
584
Поинты[?]
100K
I changed some shit. Now it seems working better, but it`s not perfect solution. I need to fix all hooks and add new animation fix. (In priority, I`ll try to add mutiny animfix. I remember, that samoware v3 had it).
C++:
void Resolver::ResolveYaw(SDK::CBaseEntity* entity)
        {
            auto& resolve_record = player_resolve_records[entity->GetIndex()];
            static float oldlby[65], predict[65], lastmovelby[65], laststandlby[65];
            static bool havebeenalreadyresolved = false;

            // pitch fix
            resolve_record.resolved_angles.x = MATH::NormalizePitch(resolve_record.resolved_angles.x);
            auto i = entity->GetIndex();

            if (entity->GetVelocity().Length2D() > 15 && !IsFakewalking(entity) && entity->GetFlags() & FL_ONGROUND)
            {
                resolve_record.resolved_angles.y = entity->GetLowerBodyYaw();
                lastmovelby[i] = entity->GetLowerBodyYaw();
                predict[i] = entity->GetSimTime() + 0.22;
                resolve_record.resolve_type = RESOLVE_TYPE_LBY;
            }
            else
            {
                if (entity->GetSimTime() >= predict[i])
                {
                    resolve_record.resolved_angles.y = entity->GetLowerBodyYaw();
                    predict[i] = entity->GetSimTime() + INTERFACES::Globals->interval_per_tick + 1.1;
                    resolve_record.resolve_type = RESOLVE_TYPE_PREDICTED_LBY_UPDATE;
                }
                else if (const auto bt_recs = FEATURES::RAGEBOT::backtracking.GetRecords(entity); bt_recs.size() >= 1 && !bt_recs.front().resolve_record.has_fake && !IsFakingYaw(entity))
                {
                    resolve_record.resolved_angles.y = resolve_record.networked_angles.y;
                    resolve_record.resolve_type |= RESOLVE_TYPE_NO_FAKE;
                }
                else if (const float override_yaw = ResolveYawOverride(entity); override_yaw != FLT_MAX)
                {
                    resolve_record.resolved_angles.y = override_yaw;
                    resolve_record.resolve_type |= RESOLVE_TYPE_OVERRIDE;
                }
                else if (IsMovingOnGround(entity) && !IsFakewalking(entity)) /// moving
                {
                    resolve_record.resolved_angles.y = resolve_record.last_moving_lby;
                    resolve_record.resolve_type |= RESOLVE_TYPE_LBY;
                }
                else if (resolve_record.is_last_moving_lby_valid && resolve_record.shots_missed_moving_lby < 1 && IsYawSideways(entity, resolve_record.last_moving_lby)) /// last moving lby if sideways prioritizes over antiurine
                {
                    resolve_record.resolved_angles.y = lastmovelby[i];///resolve_record.last_moving_lby;
                    resolve_record.resolve_type |= RESOLVE_TYPE_LAST_MOVING_LBY;
                }
                else if (IdealFreestand(entity, resolve_record.resolved_angles.y, 10))
                {
                    resolve_record.resolve_type |= RESOLVE_TYPE_ANTI_FREESTANDING;
                }
                else if (resolve_record.is_last_moving_lby_valid && resolve_record.shots_missed_moving_lby < 1) /// last moving lby
                {
                    resolve_record.resolved_angles.y = resolve_record.last_moving_lby; /// lastmovelby[i];///
                    resolve_record.resolve_type |= RESOLVE_TYPE_LAST_MOVING_LBY;
                }
                else /// bruteforce as last resort
                    ResolveYawBruteforce(entity);
            }
        }
 
retard
Пользователь
Статус
Оффлайн
Регистрация
13 Мар 2021
Сообщения
366
Реакции[?]
67
Поинты[?]
10K
Keep Ev0lving, Stay Fatal
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,548
Реакции[?]
584
Поинты[?]
100K
NetShowFragments new method:
C++:
    bool __fastcall HookedNetShowFragments(void* pConVar, void* ebx)
    {
        if (!INTERFACES::Engine->IsInGame())
            return original_net_showfragments(pConVar);

        static auto check_receiving_list_ret = reinterpret_cast<uintptr_t*>(UTILS::FindPattern("engine.dll", (PBYTE)"\xFF\x50\x34\x8B\x1D\x00\x00\x00\x00\x85\xC0\x74\x16\xFF\xB6", "xxxxxxxxxxx") + 0x3);
        static auto read_sub_channel_data_ret = reinterpret_cast<uintptr_t*>(UTILS::FindPattern("engine.dll", (PBYTE)"\xFF\x50\x34\x85\xC0\x74\x12\x53\xFF\x75\x0C", "xxxxx????xxxxxx") + 0x3);
       
        static auto last_fragment = 0;
        static auto last_time = 0.f;

        auto nc = INTERFACES::Engine->GetNetChannel();
        auto nci = INTERFACES::Engine->GetNetChannelInfo();

        if (_ReturnAddress() == read_sub_channel_data_ret && last_fragment > 0) {
            auto e = (uint32_t*)(nc);
            auto data = &e[0x54];

            auto fragment = data[0x43];

            if (fragment == last_fragment) {
                float delta = GetTickCount() * 0.001f - last_time;

                if (delta <= max(nci->GetLatency(1), 0.3f)) {
                    ((uint32_t*)data)[0x42] = 0;
                    last_time = GetTickCount() * 0.001f;
                }
            }
        }

        if (_ReturnAddress() == check_receiving_list_ret) {
            auto e = (uint32_t*)(nc);
            auto data = &e[0x54];

            auto fragment = data[0x43];

            last_fragment = fragment;
            last_time = GetTickCount() * 0.001f;
        }
        return original_net_showfragments(pConVar);
    }
 
gone
Забаненный
Статус
Оффлайн
Регистрация
8 Апр 2021
Сообщения
285
Реакции[?]
166
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
NetShowFragments new method:
C++:
    bool __fastcall HookedNetShowFragments(void* pConVar, void* ebx)
    {
        if (!INTERFACES::Engine->IsInGame())
            return original_net_showfragments(pConVar);

        static auto check_receiving_list_ret = reinterpret_cast<uintptr_t*>(UTILS::FindPattern("engine.dll", (PBYTE)"\xFF\x50\x34\x8B\x1D\x00\x00\x00\x00\x85\xC0\x74\x16\xFF\xB6", "xxxxxxxxxxx") + 0x3);
        static auto read_sub_channel_data_ret = reinterpret_cast<uintptr_t*>(UTILS::FindPattern("engine.dll", (PBYTE)"\xFF\x50\x34\x85\xC0\x74\x12\x53\xFF\x75\x0C", "xxxxx????xxxxxx") + 0x3);
      
        static auto last_fragment = 0;
        static auto last_time = 0.f;

        auto nc = INTERFACES::Engine->GetNetChannel();
        auto nci = INTERFACES::Engine->GetNetChannelInfo();

        if (_ReturnAddress() == read_sub_channel_data_ret && last_fragment > 0) {
            auto e = (uint32_t*)(nc);
            auto data = &e[0x54];

            auto fragment = data[0x43];

            if (fragment == last_fragment) {
                float delta = GetTickCount() * 0.001f - last_time;

                if (delta <= max(nci->GetLatency(1), 0.3f)) {
                    ((uint32_t*)data)[0x42] = 0;
                    last_time = GetTickCount() * 0.001f;
                }
            }
        }

        if (_ReturnAddress() == check_receiving_list_ret) {
            auto e = (uint32_t*)(nc);
            auto data = &e[0x54];

            auto fragment = data[0x43];

            last_fragment = fragment;
            last_time = GetTickCount() * 0.001f;
        }
        return original_net_showfragments(pConVar);
    }
push it to github pls
 
gone
Забаненный
Статус
Оффлайн
Регистрация
8 Апр 2021
Сообщения
285
Реакции[?]
166
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Статус
В этой теме нельзя размещать новые ответы.
Похожие темы
Сверху Снизу