![]() |
Сталкнулся с вопросом. Я смог хукнуть функцию DrawIndexedPrimitive, однако все отрисовки видны в OBS. Возможно ли как-то обойти это?
C++: Код:
HRESULT __stdcall CD3DHookC++: [CODE] class CD3DHook { public : CD3DHook ( ) { bInit = false ; oPresent = ( tPresent ) GetDeviceAddress ( 17 ) ; oReset = ( tReset ) GetDeviceAddress ( 16 ) ; oDrawIndexedPrimitive = ( tDrawIndexedPrimitive ) GetDeviceAddress ( 82 ) ; DetourRestoreAfterWith ( ) ; DetourTransactionBegin ( ) ; DetourUpdateThread ( GetCurrentThread ( ) ) ; pSecure -> SDetourAttach ( & ( PVOID & ) oPresent , hkPresent ) ; pSecure -> SDetourAttach ( & ( PVOID & ) oReset , hkReset ) ; pSecure -> SDetourAttach ( & ( PVOID & ) oDrawIndexedPrimitive , hkDrawIndexedPrimitive ) ; DetourTransactionCommit ( ) ; } ; ~ CD3DHook ( ) { DetourRestoreAfterWith ( ) ; DetourTransactionBegin ( ) ; DetourUpdateThread ( GetCurrentThread ( ) ) ; DetourDetach ( & ( PVOID & ) oPresent , hkPresent ) ; DetourDetach ( & ( PVOID & ) oReset , hkReset ) ; DetourDetach ( & ( PVOID & ) oDrawIndexedPrimitive , hkDrawIndexedPrimitive ) ; DetourTransactionCommit ( ) ; } ; bool bInit ; IDirect3DDevice9 * pD3DDevice ; private : DWORD FindDevice ( DWORD dwLen ) { DWORD dwObjBase = 0 ; char infoBuf [ MAX_PATH ] ; GetSystemDirectoryA ( infoBuf , MAX_PATH ) ; strcat_s ( infoBuf , MAX_PATH , "\\d3d9.dll" ) ; dwObjBase = ( DWORD ) LoadLibraryA ( infoBuf ) ; while ( dwObjBase ++ Просто например Функция present спокойно отрисовывает и не виден в OBS |
невидно на обс,бандикам и тд при хуке презента дллки д3д9 и только при записи игры а не экрана
при чем тут DrawIndexedPrimitive я честно хз длл бандикама кстати тоже хукает функции д3д9 длл, поэтому надо хукать другое место в памяти. к примеру я в ультравх хукаю адресс present+5: https://gitlab.com/samp-plugins/ultr...plugin.cpp#L35 |
Цитата:
Отрисовка менюшки и ВХ на записи не виден, но вот все изменения в DrawIndexedPrimitive видны прекрасно. Вот я и думаю, как бы рисовать тот же самый chams wh чтобы его видно не было. Все советовали хукать эту функцию, что я и сделал :D |
| Время: 22:03 |