О прекрасной библиотеке Microsoft Detours тут уже писали. Её возможности и правда впечатляют, есть только одно но: библиотеку нужно собирать из исходников (что вообще не характерно для библиотек на платформе Windows и тем более для продуктов Microsoft). Более того, внятную инструкцию как это сделать найти трудно (я так и не смог), а штатный make-файл при сборке с помощью Visual Studio 2008 выдаёт кучу ошибок. Собрав наконец Detours, я решил написать (для себя — на будущее) инструкцию по сборке. Если кому-то она сэкономит пару минут — буду рад.
На выходе получаем собранную библиотеку и все примеры из папки samples.
Удачи в использовании.
- Качаем Microsoft Detours.
- Устанавливаем (всё по-умолчанию).
- Переходим в папку проекта, открываем файл samples\common.mak в любом текстовом редакторе (полный путь к этому файлу у меня: C:\Program Files\Microsoft Research\Detours Express 3.0\samples\common.mak). Внимание — если вы используете Vista\Win7 с включенным 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 Files\Microsoft Research\Detours Express 3.0"
- Объявляем переменную окружения с целевой платформой
set DETOURS_TARGET_PROCESSOR=x86
- Билдим
nmake all
На выходе получаем собранную библиотеку и все примеры из папки samples.
Удачи в использовании.