О прекрасной библиотеке Microsoft Detours тут уже писали. Её возможности и правда впечатляют, есть только одно но: библиотеку нужно собирать из исходников (что вообще не характерно для библиотек на платформе Windows и тем более для продуктов Microsoft). Более того, внятную инструкцию как это сделать найти трудно (я так и не смог), а штатный make-файл при сборке с помощью Visual Studio 2008 выдаёт кучу ошибок. Собрав наконец Detours, я решил написать (для себя — на будущее) инструкцию по сборке. Если кому-то она сэкономит пару минут — буду рад.
- Качаем Microsoft Detours.
- Устанавливаем (всё по-умолчанию).
- Переходим в папку проекта, открываем файл samplescommon.mak в любом текстовом редакторе (полный путь к этому файлу у меня: C:Program FilesMicrosoft ResearchDetours Express 3.0samplescommon.mak). Внимание — если вы используете VistaWin7 с включенным UAC — вам понадобится редактор, запущенный с привилегиями администратора («Run as administrator»).
- Находим строку
rc /nologo /fo$(@) /i$(INCD) $(*B).rc
и заменяем её на
rc /fo$(@) /i$(INCD) $(*B).rc
т.е. убираем "/nologo"
- Запускаем консоль Visual Studio с привилегиями администратора: Пуск->All programs->Microsoft Visual Studio 2008->Visual Studio Tools->Visual Studio 2008 Command Prompt — «Run as administrator»
- Переходим в папку Microsoft Detours
cd "C:Program FilesMicrosoft ResearchDetours Express 3.0"
- Объявляем переменную окружения с целевой платформой
set DETOURS_TARGET_PROCESSOR=x86
- Билдим
nmake all
На выходе получаем собранную библиотеку и все примеры из папки samples.
Удачи в использовании.
Автор: tangro