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