Вопрос ARK Survival Evolved - DirectX11 не рисуется ImGui меню

Начинающий
Статус
Оффлайн
Регистрация
11 Июн 2022
Сообщения
9
Реакции[?]
0
Поинты[?]
0
В общем ребзятули делаю хук через kiero, хукаю Present для 11 директа, но ImGui менюшка не рисуется. Проверил, функция хукается корректно и она вызывается при рендеринге каждого кадра, в перехват вставил вызов MessageBox, он показывается мне каждый кадр, после нажатия Ok идет прорисовка очередного кадра, что говорит о том, что с версией директа я не ошибся и хукаю все верно. Эта же самая Dll при инжекте в другие игры\семплы директ11 отрабатывает прекрасно, меню рисуется, все в лучших традициях. Но в ARK эта шляпа по какой-то причине отказывается работать. Напоминаю, хук устанавливается корректно, перехваченная функция вызывается каждый кадр, но ImGui не рендерит ничего.
Ниже прилагаю код.

C++:
long __stdcall hkPresent11(IDXGISwapChain* pSwapChain, UINT SyncInterval, UINT Flags)
{
    static bool init = false;
    static ID3D11Device* device;
    static DXGI_SWAP_CHAIN_DESC desc;
    static ID3D11DeviceContext* context;

    if (!init)
    {
        pSwapChain->GetDesc(&desc);

        pSwapChain->GetDevice(__uuidof(ID3D11Device), (void**)&device);

        device->GetImmediateContext(&context);
        
        impl::win32::init(desc.OutputWindow);

        ImGui::CreateContext();
        ImGui_ImplWin32_Init(desc.OutputWindow);
        ImGui_ImplDX11_Init(device, context);

        init = true;
    }

    ImGui_ImplDX11_NewFrame();
    ImGui_ImplWin32_NewFrame();
    ImGui::NewFrame();

    impl::showExampleWindow("D3D11");

    ImGui::EndFrame();
    ImGui::Render();
    ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData());

    if (!alive) {
        kiero::shutdown();
        //device->Release();
        //context->Release();
        //pSwapChain->Release();
        oWndProc = (WNDPROC)SetWindowLongPtr(desc.OutputWindow, GWLP_WNDPROC, (LONGLONG)(oWndProc));
        ImGui_ImplDX11_Shutdown();
        ImGui_ImplWin32_Shutdown();
        ImGui::DestroyContext();
    }

    //MessageBoxA(0, "Debug Hook", "Debug Hook", 0);

    return oPresent(pSwapChain, SyncInterval, Flags);
}
 
Начинающий
Статус
Оффлайн
Регистрация
11 Июн 2022
Сообщения
9
Реакции[?]
0
Поинты[?]
0
Так че никто не в теме ? Этот же самый хук работает идеально на других приложениях Dx11
Не может ли это быть какой-то встроенной защитой ? Если что игра идет с BattleEye, но античит выключен в пиратке, поэтому это точно не он куралесит
 
али рождение киберспортсмена ( стандоф 2 )
Эксперт
Статус
Оффлайн
Регистрация
21 Окт 2020
Сообщения
1,478
Реакции[?]
564
Поинты[?]
53K
Так че никто не в теме ? Этот же самый хук работает идеально на других приложениях Dx11
Не может ли это быть какой-то встроенной защитой ? Если что игра идет с BattleEye, но античит выключен в пиратке, поэтому это точно не он куралесит
Это мияги и эндшпиль вечером куралесят под песню бадабум
 
Сверху Снизу