Как мне выполнить перехват / перенаправление функции в DLL (скажем, CreateThread
из Kernel32.dll), загруженной в текущий процесс?
(У меня нет контроля над тем, какие фрагменты кода вызывают CreateThread
, поэтому я не могу просто использовать другой код вместо этого.)
Язык не имеет большого значения; Я предполагаю, что C / C ++ был бы лучшим выбором для этого.
Обновление:
Я забыл упомянуть: я не ищу решения, которые требуют включения дополнительных библиотек в мои программа; Я искал ручной способ выполнить подключение (например, переписав адрес функции), а не использовать для этого внешнюю библиотеку.
Но спасибо тем, кто упомянул внешнюю библиотеку; извините, я не сказал этого раньше.