Гайд CSGOSimple Obs Bypass Present Hook

Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,792
Реакции[?]
1,073
Поинты[?]
29K
здарова пастеры илита контрострак комунизма, севодня будем делоть в ксгосимпле хук презента для обс байпасса итак приступим
пиздуем в hooks.hpp и пихаем сюды эта
Код:
extern HRESULT(STDMETHODCALLTYPE *oPresent) (IDirect3DDevice9*, const RECT*, const RECT*, HWND, const RGNDATA*);
и эта
Код:
long __stdcall  hkPresent(IDirect3DDevice9* pDevice, const RECT *pSourceRect, const RECT *pDestRect, HWND hDestWindowOverride, const RGNDATA *pDirtyRegion);
чапаем до хуев.сэпэпэ(hooks.cpp) и под vfunc_hookи пихаем
Код:
uint8_t* present_addr;
удоляем
Код:
direct3d_hook.hook_index(index::EndScene, hkEndScene);
и
добовляем
Код:
       present_addr = Utils::PatternScan(GetModuleHandleA("GameOverlayRenderer.dll"), "A3 ? ? ? ? 68 ? ? ? ? FF 76 54 E8 ? ? ? ? 83 C4 08 84 C0 75 17") + 1;

        oPresent = **reinterpret_cast<decltype(&oPresent)*>(present_addr);

        **reinterpret_cast<void***>(present_addr) = reinterpret_cast<void*>(hkPresent);
далее вместо сраки
Код:
long __stdcall hkEndScene(IDirect3DDevice9* pDevice)
пихуем страку
Код:
long __stdcall hkPresent(IDirect3DDevice9* pDevice, const RECT *pSourceRect, const RECT *pDestRect, HWND hDestWindowOverride, const RGNDATA *pDirtyRegion)
и все вы великолепны, а я майнкрафтер
хайд не ставлю ибо за эту хуету нет смысла ставить hide(скрыть с пендосково)
UPD: в hooks.cpp после инклудов добавить ето
Код:
decltype(Hooks::oPresent) Hooks::oPresent = nullptr;
и внутри hkPresent удалить строку
Код:
auto oEndScene = direct3d_hook.get_original<EndScene>(index::EndScene);
и заменить
Код:
oEndScene(pDevice);
на
Код:
oPresent(pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
сурс для совсем еблантяев:
Пожалуйста, авторизуйтесь для просмотра ссылки.


пиздец заебали в телегу насчет анхука писать - в Hooks::Shutdown
Код:
*reinterpret_cast<void**>(present_addr) = oPresent;
отъебитесь только
 
Последнее редактирование:
bruh
Участник
Статус
Оффлайн
Регистрация
15 Апр 2017
Сообщения
1,298
Реакции[?]
365
Поинты[?]
0
https://yougame.biz/threads/52506/ хайд побольше поставь кста, а так збс
предпологаю что под хайдом - индекс презент хука(17) и еще подмена EndScene на Present индекс
 
Последнее редактирование:
Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,792
Реакции[?]
1,073
Поинты[?]
29K
https://yougame.biz/threads/52506/ хайд побольше поставь кста, а так збс
предпологаю что под хайдом - индекс презент хука(17)
Как бы индекс тут нахуй не нужен лол я по паттерну ищу функу и хукаю, а в теме которую ты скинул обосанная хуета которая крашит
 
bruh
Участник
Статус
Оффлайн
Регистрация
15 Апр 2017
Сообщения
1,298
Реакции[?]
365
Поинты[?]
0
Как бы индекс тут нахуй не нужен лол я по паттерну ищу функу и хукаю, а в теме которую ты скинул обосанная хуета которая крашит
если хочешь делать нормальную тему, не делай хайд которые видят только модеры, имхо ты даешь пастерам нерабочий код как и в той теме, только потому что не смогут увидеть хайд
 
Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,792
Реакции[?]
1,073
Поинты[?]
29K
если хочешь делать нормальную тему, не делай хайд которые видят только модеры, имхо ты даешь пастерам нерабочий код как и в той теме, только потому что не смогут увидеть хайд
В хайде ничего нет лол, если пастеры и этого не спастят то :roflanPominki: сочувствую им
 
bruh
Участник
Статус
Оффлайн
Регистрация
15 Апр 2017
Сообщения
1,298
Реакции[?]
365
Поинты[?]
0
В хайде ничего нет лол, если пастеры и этого не спастят то :roflanPominki: сочувствую им
так лол ты делаешь гайд как его добавить, и не пишешь практически самое основное
 
Забаненный
Статус
Оффлайн
Регистрация
24 Авг 2018
Сообщения
13
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну и че блять это за хуета, добавил индекс хука - крашит. Если ты блять делаешь гайд, то хули ты нормально его не можешь сделать?
 
Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,792
Реакции[?]
1,073
Поинты[?]
29K
У тебя тут кстати нет анхука
Кому надо будет - сделают, у меня лично есть, хуле гайд же только на то как хукать презент :CoolCat:
 
лучще юзать 2 паттернп сразу
И еще использовать твой классный вмт который позволяет хукать функцию по паттерну через индекс :roflanEbalo:
 
Пользователь
Статус
Оффлайн
Регистрация
28 Апр 2018
Сообщения
134
Реакции[?]
35
Поинты[?]
0
и легче сделать так
Код:
vfunc_hook  present_hook;
vfunc_hook  reset_hook;
uint8_t* present_addr;
uint8_t* reset_addr;
void Initialize()
{
present_hook.setup(present_addr);
reset_hook.setup(reset_addr);
present_hook.hook_index(0, hkPresent);
reset_hook.hook_index(0, hkReset);
present_addr = Utils::PatternScan(GetModuleHandleA("GameOverlayRenderer.dll"), "FF 15 ? ? ? ? 8B F8 85 DB") + 0x2;
reset_addr = Utils::PatternScan(GetModuleHandleA("GameOverlayRenderer.dll"), "FF 15 ? ? ? ? 8B F8 85 FF 78 18") + 0x2;
long __stdcall hkReset(IDirect3DDevice9* device, D3DPRESENT_PARAMETERS* pPresentationParameters)
{
auto oReset = reset_hook.get_original<Reset>(0);
if (Menu::Get().IsReady())
Menu::Get().OnDeviceLost();
auto hr = oReset(device, pPresentationParameters);
if (hr >= 0) {
if (Menu::Get().IsReady())
Menu::Get().OnDeviceReset();
}
return hr;
}
}
long __stdcall hkPresent(IDirect3DDevice9* pDevice, const RECT *pSourceRect, const RECT *pDestRect, HWND hDestWindowOverride, const RGNDATA *pDirtyRegion)
{
static auto oPresent = present_hook.get_original<PresentScene>(0);
if (Menu::Get().IsReady())
{
ImGui_ImplDX9_NewFrame();
Render::Get().BeginRender();
Menu::Get().Render();
Visuals::OnRender();
ImGui::Render();
ImGui_ImplDX9_RenderDrawData(ImGui::GetDrawData());
ImGui::Render();
Render::Get().EndRender();
}
return oPresent(pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
}
 
Пользователь
Статус
Оффлайн
Регистрация
28 Апр 2018
Сообщения
134
Реакции[?]
35
Поинты[?]
0
Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,792
Реакции[?]
1,073
Поинты[?]
29K
и легче сделать так
Код:
vfunc_hook  present_hook;
vfunc_hook  reset_hook;
uint8_t* present_addr;
uint8_t* reset_addr;
void Initialize()
{
present_hook.setup(present_addr);
reset_hook.setup(reset_addr);
present_hook.hook_index(0, hkPresent);
reset_hook.hook_index(0, hkReset);
present_addr = Utils::PatternScan(GetModuleHandleA("GameOverlayRenderer.dll"), "FF 15 ? ? ? ? 8B F8 85 DB") + 0x2;
reset_addr = Utils::PatternScan(GetModuleHandleA("GameOverlayRenderer.dll"), "FF 15 ? ? ? ? 8B F8 85 FF 78 18") + 0x2;
long __stdcall hkReset(IDirect3DDevice9* device, D3DPRESENT_PARAMETERS* pPresentationParameters)
{
auto oReset = reset_hook.get_original<Reset>(0);
if (Menu::Get().IsReady())
Menu::Get().OnDeviceLost();
auto hr = oReset(device, pPresentationParameters);
if (hr >= 0) {
if (Menu::Get().IsReady())
Menu::Get().OnDeviceReset();
}
return hr;
}
}
long __stdcall hkPresent(IDirect3DDevice9* pDevice, const RECT *pSourceRect, const RECT *pDestRect, HWND hDestWindowOverride, const RGNDATA *pDirtyRegion)
{
static auto oPresent = present_hook.get_original<PresentScene>(0);
if (Menu::Get().IsReady())
{
ImGui_ImplDX9_NewFrame();
Render::Get().BeginRender();
Menu::Get().Render();
Visuals::OnRender();
ImGui::Render();
ImGui_ImplDX9_RenderDrawData(ImGui::GetDrawData());
ImGui::Render();
Render::Get().EndRender();
}
return oPresent(pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
}
Сначала present_hook.setup(present_addr) и только потом инициализация, ну ты конешно конч еба, а ресет можно и обычный хукать разницы никакой, можешь сам проверить
 
Пользователь
Статус
Оффлайн
Регистрация
28 Апр 2018
Сообщения
134
Реакции[?]
35
Поинты[?]
0
Сначала present_hook.setup(present_addr) и только потом инициализация, ну ты конешно конч еба, а ресет можно и обычный хукать разницы никакой, можешь сам проверить
ну хз у мне норм с ресет адресом, и разница в том что в GameOverlayUI две функции как для презента так и для ресета
 
Забаненный
Статус
Оффлайн
Регистрация
13 Мар 2017
Сообщения
83
Реакции[?]
93
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
здарова пастеры илита контрострак комунизма, севодня будем делоть в ксгосимпле хук презента для обс байпасса итак приступим
пиздуем в hooks.hpp и пихаем сюды эта
Код:
extern HRESULT(STDMETHODCALLTYPE *oPresent) (IDirect3DDevice9*, const RECT*, const RECT*, HWND, const RGNDATA*);
и эта
Код:
long __stdcall  hkPresent(IDirect3DDevice9* pDevice, const RECT *pSourceRect, const RECT *pDestRect, HWND hDestWindowOverride, const RGNDATA *pDirtyRegion);
чапаем до хуев.сэпэпэ(hooks.cpp) и под vfunc_hookи пихаем
Код:
uint8_t* present_addr;
удоляем
Код:
direct3d_hook.hook_index(index::EndScene, hkEndScene);
и
добовляем
Код:
       present_addr = Utils::PatternScan(GetModuleHandleA("GameOverlayRenderer.dll"), "A3 ? ? ? ? 68 ? ? ? ? FF 76 54 E8 ? ? ? ? 83 C4 08 84 C0 75 17") + 1;

        oPresent = **reinterpret_cast<decltype(&oPresent)*>(present_addr);

        **reinterpret_cast<void***>(present_addr) = reinterpret_cast<void*>(hkPresent);
далее вместо сраки
Код:
long __stdcall hkEndScene(IDirect3DDevice9* pDevice)
пихуем страку
Код:
long __stdcall hkPresent(IDirect3DDevice9* pDevice, const RECT *pSourceRect, const RECT *pDestRect, HWND hDestWindowOverride, const RGNDATA *pDirtyRegion)
и все вы великолепны, а я майнкрафтер
хайд не ставлю ибо за эту хуету нет смысла ставить hide(скрыть с пендосково)
UPD: в hooks.cpp после инклудов добавить ето
Код:
decltype(Hooks::oPresent) Hooks::oPresent = nullptr;
и внутри hkPresent удалить строку
Код:
auto oEndScene = direct3d_hook.get_original<EndScene>(index::EndScene);
и заменить
Код:
oEndScene(pDevice);
на
Код:
oPresent(pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
сурс для совсем еблантяев:
Пожалуйста, авторизуйтесь для просмотра ссылки.



























что такое обс бупас? конечно я понимаю что это обхот какой то херни... но какой именно? напиши что такое вообще (обс)
 
Похожие темы
Сверху Снизу