Вопрос Vmt hooks

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
28 Июн 2022
Сообщения
16
Реакции
1
Did dota 2 change the vmt slot? it is not working anymore, can anyone please share thanks
C++:
Expand Collapse Copy
void * client = GetInterface ("client.dll", "Source2Client002");

    uintptr_t * vmt_slot = * (uintptr_t **) client + 25; // 25th function in Source2Client vtable

    uintptr_t addr_start = * vmt_slot + 3; // stores the relative address portion of the mov rax, [rip + 0x2512059] instruction

    entity = * (CGameEntitySystem **) (addr_start + * (uint32_t *) (addr_start) + 4); //pointer to CentitySystem is at 2512059 + addr_start <TA

    // Hook our entity

    entityVMT = new VMT (entity); // downloads CinntitySystem VMT into vmt.entity
 
Did dota 2 change the vmt slot? it is not working anymore, can anyone please share thanks
C++:
Expand Collapse Copy
void * client = GetInterface ("client.dll", "Source2Client002");

    uintptr_t * vmt_slot = * (uintptr_t **) client + 25; // 25th function in Source2Client vtable

    uintptr_t addr_start = * vmt_slot + 3; // stores the relative address portion of the mov rax, [rip + 0x2512059] instruction

    entity = * (CGameEntitySystem **) (addr_start + * (uint32_t *) (addr_start) + 4); //pointer to CentitySystem is at 2512059 + addr_start <TA

    // Hook our entity

    entityVMT = new VMT (entity); // downloads CinntitySystem VMT into vmt.entity
just analyze the assembly of every virtual function near index 25(within sensible limits: maybe +- 5, i.e. check indices 20->30) and find the one with an xref to CGameEntitySystem
 
What function are you looking for?
 
Назад
Сверху Снизу