Приветствую. Пытаюсь написать вебинжекты для Google Chrome, за основу беру NetRipper и для хука юзаю MinHook. По сигнатурке нахожу адреса SSL_Read, SSL_Write. Инициализирую Minhook, вызываю MH_CreateHook и собственно MH_EnableHook. Все функции MinHook возвращают MH_OK. Краша не происходит. ВПРОЧЕМ КАК И ХУКА. Сравнивал адреса SSL_Read/SSL_Write у себя и у NetRipper - оказались идентичными. В чём проблема, никто не в курсе?
C++:
typedef int (*SSL_Write_Typedef)(void*, void*, int);
typedef int (*SSL_Read_Typedef)(void*, void*, int);
SSL_Write_Typedef SSL_Write_Original;
SSL_Read_Typedef SSL_Read_Original;
int SSL_Write_Callback(void* fd, void* buffer, int amount)
{
MessageBoxA(0, (PCHAR)buffer, 0, 0); //Не появляется меседжбокс этот
return SSL_Write_Original(fd, buffer, amount);
}
void HookChrome()
{
.. //Упустим моменты поиска по сигнатурке и инициализации MinHook, оно к сабжу отношения не имеет так-то
SSL_Write_Original = (SSL_Write_Typedef)pWrite64; //pWrite64 это адрес SSL_Write в .text
// Add hooks
MH_CreateHook((void*)pWrite64, (void*)SSL_Write_Callback, (void**)&SSL_Write_Original);
MH_EnableHook(MH_ALL_HOOKS);
}