Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Csgosimple / ну и потянуло

  • Автор темы Автор темы KlareoN
  • Дата начала Дата начала
Участник
Участник
Статус
Оффлайн
Регистрация
12 Мар 2019
Сообщения
757
Реакции
247
Ну крч вот такой прикол, он случается рандомно, в софте все функции оффнуты.
prn01RylqUc.jpg
WwknRMYIYZM.jpg

Вот если что FrameStageNotify
1591645537213.png
 
в софте все функции оффнуты
Тем не менее, хуки наверняка остаются при этом установлены, возможно какой-то хук некорректно вызывает оригинальную функцию.
Попробуй отключать хуки один за другим, пока это не пропадет, тогда узнаешь точную функцию где это происходит и можно будет думать дальше.
 
Тем не менее, хуки наверняка остаются при этом установлены, возможно какой-то хук некорректно вызывает оригинальную функцию.
Попробуй отключать хуки один за другим, пока это не пропадет, тогда узнаешь точную функцию где это происходит и можно будет думать дальше.
щас попробую.
 
Тем не менее, хуки наверняка остаются при этом установлены, возможно какой-то хук некорректно вызывает оригинальную функцию.
Попробуй отключать хуки один за другим, пока это не пропадет, тогда узнаешь точную функцию где это происходит и можно будет думать дальше.
Дошёл я крч до hkSuppressLists И словил вот такой рофл, объясняю что тут происходит изображение фулл зависло, стреляю звук есть, захожу в меню звук есть, но изображения нету :/
1591648128938.png
 
Проблему с текстурами решил, добавив пару проверок. Осталась только выше упомянутое статическое изображение.
 
C++:
Expand Collapse Copy
void __stdcall Hooks::hkSuppressLists(int a2, bool a3) {
    static auto ofunc = partition_hook.get_original< SuppressLists >(16);
    static float SpawnTime = 0.0f;
    static auto OnRenderStart_Return = Utils::PatternScan(GetModuleHandleA("client_panorama.dll"), "FF 50 40 8B 1D ? ? ? ?") + 0x3;
    static auto FrameNetUpdateEnd_Return = Utils::PatternScan(GetModuleHandleA("client_panorama.dll"), "5F 5E 5D C2 04 00 83 3D ? ? ? ? ?");

    if (g_LocalPlayer && g_LocalPlayer->IsAlive()) {
        if (_ReturnAddress() == OnRenderStart_Return) {
            

            if (g_LocalPlayer->GetPlayerAnimState())
                g_LocalPlayer->SetAbsAngles(QAngle(0.0f, g_LocalPlayer->GetPlayerAnimState()->m_flGoalFeetYaw, 0.0f));
        
            auto state = g_LocalPlayer->GetPlayerAnimState();
            if(state)
                if (g_LocalPlayer->m_vecVelocity().Length2D() < 3.f)
                    *reinterpret_cast<float*> (reinterpret_cast<uintptr_t> (state) + 292) = 0.f;

            if (vangle.yaw && g_Input->m_fCameraInThirdPerson)
                g_LocalPlayer->GetVAngles() = vangle;
            
            g_LocalPlayer->m_flFlashMaxAlpha() = g_Options.flash;
            auto csm = g_CVar->FindVar("cl_csm_enabled");
            if (g_Options.esp_optimise) {
            
                csm->m_fnChangeCallbacks.m_Size = 0;
                csm->SetValue(false);
                if(disablePostProcessing)
                    *disablePostProcessing = true;
                        
            }
            else {
                csm->m_fnChangeCallbacks.m_Size = 0;
                g_CVar->FindVar("cl_csm_enabled")->SetValue(true);
                if (disablePostProcessing)
                    *disablePostProcessing = false;

            }
            for (int i = 1; i < 65; i++)
            {
                auto ent = (C_BasePlayer*)C_BasePlayer::GetEntityByIndex(i);
                if (!ent || !ent->IsAlive())
                    continue;
                CanSee[ent->EntIndex()] = g_LocalPlayer->CanSeePlayer(ent, HITBOX_CHEST, true);
            }

        }
        else if (_ReturnAddress() == FrameNetUpdateEnd_Return) {

            Skins::OnFrameStageNotify(true);

        }
    }
    if(!g_EngineClient->IsInGame()) {
        changeName(true, "", 0.f);
        g_Aimbot.Cleanup();
    }
    ofunc(g_SpatialPartition, a2, a3);
}
 
C++:
Expand Collapse Copy
void __stdcall Hooks::hkSuppressLists(int a2, bool a3) {
    static auto ofunc = partition_hook.get_original< SuppressLists >(16);
    static float SpawnTime = 0.0f;
    static auto OnRenderStart_Return = Utils::PatternScan(GetModuleHandleA("client_panorama.dll"), "FF 50 40 8B 1D ? ? ? ?") + 0x3;
    static auto FrameNetUpdateEnd_Return = Utils::PatternScan(GetModuleHandleA("client_panorama.dll"), "5F 5E 5D C2 04 00 83 3D ? ? ? ? ?");

    if (g_LocalPlayer && g_LocalPlayer->IsAlive()) {
        if (_ReturnAddress() == OnRenderStart_Return) {
           

            if (g_LocalPlayer->GetPlayerAnimState())
                g_LocalPlayer->SetAbsAngles(QAngle(0.0f, g_LocalPlayer->GetPlayerAnimState()->m_flGoalFeetYaw, 0.0f));
       
            auto state = g_LocalPlayer->GetPlayerAnimState();
            if(state)
                if (g_LocalPlayer->m_vecVelocity().Length2D() < 3.f)
                    *reinterpret_cast<float*> (reinterpret_cast<uintptr_t> (state) + 292) = 0.f;

            if (vangle.yaw && g_Input->m_fCameraInThirdPerson)
                g_LocalPlayer->GetVAngles() = vangle;
           
            g_LocalPlayer->m_flFlashMaxAlpha() = g_Options.flash;
            auto csm = g_CVar->FindVar("cl_csm_enabled");
            if (g_Options.esp_optimise) {
           
                csm->m_fnChangeCallbacks.m_Size = 0;
                csm->SetValue(false);
                if(disablePostProcessing)
                    *disablePostProcessing = true;
                       
            }
            else {
                csm->m_fnChangeCallbacks.m_Size = 0;
                g_CVar->FindVar("cl_csm_enabled")->SetValue(true);
                if (disablePostProcessing)
                    *disablePostProcessing = false;

            }
            for (int i = 1; i < 65; i++)
            {
                auto ent = (C_BasePlayer*)C_BasePlayer::GetEntityByIndex(i);
                if (!ent || !ent->IsAlive())
                    continue;
                CanSee[ent->EntIndex()] = g_LocalPlayer->CanSeePlayer(ent, HITBOX_CHEST, true);
            }

        }
        else if (_ReturnAddress() == FrameNetUpdateEnd_Return) {

            Skins::OnFrameStageNotify(true);

        }
    }
    if(!g_EngineClient->IsInGame()) {
        changeName(true, "", 0.f);
        g_Aimbot.Cleanup();
    }
    ofunc(g_SpatialPartition, a2, a3);
}
Ну как минимум, client_panorama -> client
 
*reinterpret_cast<float*> (reinterpret_cast<uintptr_t> (state) + 292)
Это место очень стремное, учитывая что у тебя client_panorama вместо client, то стоит еще проверить что это смещение верное.
Иначе ты можешь при определенных условиях бить данные класса.
Плюс поиск сигнатур в статической переменной ну такое себе, ты так же не проверяешь нашел ли ты вообще эти паттерны.
 
Назад
Сверху Снизу