Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

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

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

Помимо бамика, возможно в будущем я буду кидать туда что то реально годное от себя(Или не годное, сами разберётесь что кому надо)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
nice job?
 
ah yes bameware still around because smoke leaked my source. ugh...
 
Иллюминат(Кодер jre и skeet.idb) помог мне как то раз с фейклатенси для бамика, но мне стало лень его дальше продвигать(Кста, его фейклатенси помой, мой лучше :roflanEbalo: )
Так что держите гитхаб:
Пожалуйста, авторизуйтесь для просмотра ссылки.

Помимо бамика, возможно в будущем я буду кидать туда что то реально годное от себя(Или не годное, сами разберётесь что кому надо)
Да кто такой этот ваш Иллюминат?
 
Да кто такой этот ваш Иллюминат?
А я хотел кредиты оставить на тебя, та югейм чёт не давал. Так что вот так да, и кста, говно твой фейклатенси, я сегодня реализую ахуенный :roflanEbalo:
 
А я хотел кредиты оставить на тебя, та югейм чёт не давал. Так что вот так да, и кста, говно твой фейклатенси, я сегодня реализую ахуенный :roflanEbalo:
у илюмината не такой ник в дискорде, и его ник ilum1nate, и зовут его юра :)
 
New and last free update:
1. Added NetShowFragments Hook(Если кто то не знает, зачем оно надо, то вот тема раксера на юц(noad):
Пожалуйста, авторизуйтесь для просмотра ссылки.
)
А также сразу прилагается видео от кодера манибота:
2. Переделал что то в ресольвере, куз говно.
Теперь только искать сурсы @simv0l_dA_KinG в3 версии. :roflanEbalo:
 
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++:
Expand Collapse Copy
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.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Resolver isn`t so bad as you think.

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

C++:
Expand Collapse Copy
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
 
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++:
Expand Collapse Copy
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);
            }
        }
 
NetShowFragments new method:
C++:
Expand Collapse Copy
    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);
    }
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
NetShowFragments new method:
C++:
Expand Collapse Copy
    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
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
it's crashing :(
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу