StudioInterface (Hook) |
Что это такое:
Функции описанные в HLSDK -> r_studioint.h -> структура r_studio_interface_s. Структура иниализируется при передаче клиенту функции HUD_GetStudioModelInterface (client.dll export).
int (*HUD_GetStudioModelInterface)(int, struct r_studio_interface_s**, struct engine_studio_api_s*);
Получение:
Самое корректное - получать структуру через HUD_GetStudioModelInterface. Но если вы не хукаете функции клиента, придётся использовать автоматический поиск указателя или статичный оффсет (если используете вполне конкретный патч - в интернете есть куча архивов оффсетов под каждый патч).
Код автоматического поиска указателя (точно не скажу до какого патча работает - возможно надо расширить диапазон поиска):
r_studio_interface_s* *ppinterface; int a;
for(a=0x01D00000;a<0x01D1FFFF;a++)
{
if(*(PBYTE)(a) == 0x68 && *(PBYTE)(a + 0x05) == 0x68 &&
*(PBYTE)(a + 0x0A) == 0x6A && *(PBYTE)(a + 0x0B) == 0x01 &&
*(PBYTE)(a + 0x0C) == 0xFF && *(PBYTE)(a + 0x0D) == 0xD0 &&
*(PBYTE)(a + 0x0E) == 0x83 && *(PBYTE)(a + 0x27) == 0xC3)
{
ppinterface = (r_studio_interface_s**)*(DWORD*)(a+0x06);
break;
}
}
;
Copyright (c) Troll