Перехват вызовов API в текущем процессе?

Как мне выполнить перехват / перенаправление функции в DLL (скажем, CreateThread из Kernel32.dll), загруженной в текущий процесс?

(У меня нет контроля над тем, какие фрагменты кода вызывают CreateThread , поэтому я не могу просто использовать другой код вместо этого.)

Язык не имеет большого значения; Я предполагаю, что C / C ++ был бы лучшим выбором для этого.


Обновление:

Я забыл упомянуть: я не ищу решения, которые требуют включения дополнительных библиотек в мои программа; Я искал ручной способ выполнить подключение (например, переписав адрес функции), а не использовать для этого внешнюю библиотеку.

Но спасибо тем, кто упомянул внешнюю библиотеку; извините, я не сказал этого раньше.

5
задан Mehrdad 22 January 2011 в 20:25
поделиться