Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > C/C++: Системное программирование и WinAPI > Hook GetAdaptersAddresses


Автор: docroot 16.04.17, 03:53
Доброе время суток .
Есть может у кого идеи или готовое решения хука функции GetAdaptersAddresses , нужно получить данные с этой функции в процессе .

Автор: KILLER 18.04.17, 20:01
Самый эффективный способ использовать функцию CreateRemoteThread, для большей информации кури вот эту книгу Windows для профессионалов. Создание эффективных Win32-пpилoжeний с учетом специфики 64-разрядной версии Windows Джеффи Рихтера.
Правда это не совсем хук(в смысле виндовых хуков), а внедрение своей длл в чужой процесс, с целью получения/изменения поведения того или инного функционала.
Там же написано в деталях несколько способов перехватов функций. Включая ловушки, на сколько я помню.

Автор: ЫукпШ 20.04.17, 10:31
Цитата KILLER @
Самый эффективный способ использовать функцию CreateRemoteThread,

Это более общий и "сложный" вариант.
Для внедрения своей dll можно отредактировать импорт подсудимого приложения.
Например, утилитой "IIDKing".
После этого в процесс будет подгружаться своя dll, которая перехватит требуемые API.
---
Точно "по Рихтеру" не всё получится. Начиная с XP необходимо будет изменять параметры
защиты памяти таблицы импорта приложения.

Автор: KILLER 26.04.17, 15:08
Цитата ЫукпШ @
Точно "по Рихтеру" не всё получится. Начиная с XP необходимо будет изменять параметры
защиты памяти таблицы импорта приложения.

У меня даже в Windows 8.1 работало точно по рихтеру :-?

Добавлено
Цитата ЫукпШ @
Это более общий и "сложный" вариант.

У Рихтера написано что это более гибкий и эффективный способ в отличии от остальных :-?

Автор: ЫукпШ 26.04.17, 23:23
Цитата KILLER @
У меня даже в Windows 8.1 работало точно по рихтеру :-?

А у меня даже в XP точно по Рихтеру не работало.
Поэтому пришлось дополнить.
Потому что проверять все версии систем нет охоты да это и бессмысленно.

Добавлено
Цитата KILLER @
У Рихтера написано что это более гибкий и эффективный способ в отличии от остальных :-?

Да, это я сделал, даже отдельным приложением, но имеется ряд проблем на системах после XP.
Решать их пршлось долго.
Приём удобен тем, что нет необходимости вносить изменения в исследуемое приложение.
Использование удобно не всегда - например, цепляться к службе.

Автор: docroot 27.04.17, 13:59
Все делается через сплайсинг (перехват функции ) через Detours или MiniHook либы - кoму как удобно можно написать самому ... вопрос не в том как сделать хук . А касаемо самой функции GetAdaptersAddresse .
Тему можно закрывать .

Автор: B.V. 28.04.17, 13:38
Цитата docroot @
Есть может у кого идеи или готовое решения хука функции GetAdaptersAddresses , нужно получить данные с этой функции в процессе .

Можно было воспользоваться поиском: ПОИСК: сплайсинг

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)