Есть длл, которая экспортирует методы, надо их перехватить (сплайсингом).
Чтобы их перехватить написана функция InstallHook:
— принимает адрес оригинального метода и адрес перехватчика
— возвращает адрес по которому перехватчик должен вызвать оригинальный метод.
Соответсвенно возникают два вопроса:
1) Как импортировать метод, не вызывая его?
Для того чтобы перехватить функцию, ее вызывать не надо, надо только передать ее адрес установщику перехвата.
А если импортируемая функция не вызывается, компилятор ее не импортирует.
2) Как передать в функцию указатель на любой метод?
Функции-установщику перехвата безразлично какой прототип у функции, адрес которой ей передается, кроме того она должна уметь перехватывать функции адреса которых получаются динамически.
05.11.08 13:58: Перенесено модератором из 'C/C++' — Кодт