Я использую управляемую версию Easyhook для загрузки моей dll в целевой процесс и перехвата вызова API.
Я использую IPC-связь, которая уже реализована в easyhook для связи с загруженной dll.
Все работает, кроме выгрузки введенных dll. Когда я внедряю свою dll в целевой процесс, когда я наблюдаю за загруженными dll целевого процесса с помощью инструмента Process Explorer, я вижу dll easyhook, моя dll и многие другие dll загружаются в целевой процесс, но когда возвращается функция Run из введенной dll, эти библиотеки сохраняются в целевом процессе. Я сравнил свой код с примерами на веб-сайте Easyhook и не смог найти никаких проблем. Я даже пробовал выбрасывать и исключение в функции «Выполнить» без блоков try-catch, но эти dll продолжают загружаться в целевом процессе.
Почему эти библиотеки сохраняются в целевом процессе и никогда не выгружаются? Что я могу сделать, чтобы принудительно выгрузить эти библиотеки из целевого процесса?
Примечание. Использование Windows 10 x64 Enterprise