Я написал этот код для перехвата функций API путем изменения адреса в IAT и EAT: http://pastebin.com/7d9N1J2c
Это прекрасно работает, когда я хочу подключить "recv" или "connect". Однако по какой-то неизвестной причине при попытке перехватить «gethostbyname» моя функция перехвата никогда не вызывается.
Я попытался найти «gethostbyname» в отладчике, взяв базовый адрес модуля wsock32.dll + 0x375e, что и показывает порядковый номер 52 моего wsock32.dll в качестве смещения. Но это просто заставляет меня оказаться в некотором случайном ассемблерном коде, а не в начале функции.
Однако тот же метод отлично работает при попытке найти точку входа «recv».
Кто-нибудь видит, что я могу делать неправильно?