Помогите, совсем запутался. Скорее всего тема уже имеет место быть и 200 раз обсуждалась. Есть 0.ехе файл, он подгружает 1.dll в импорте которой прописана 2.dll c функцией f0. Которую мне и надо перехватить. Инжектюсь в 0.exe через ResumeThread и подгружаю свою dll, на данный момент ни 1.dll ни 2.dll в процессе нету. Перехватываю LoadLibrary/LdrLoadDll жду пока подгрузится 2.dll, но ее нет. Тупо ставлю таймер на срабатывание через каждые 100 мс - и мониторю через GetModuleHandle - через какое то время она появляется. Через что она грузится?
Именно это и делает верификатор(Application Verifier). Ваш модуль должен быть провайдером. См. Avrf*. http://wasm.ru/forum/viewtopic.php?id=37208
можно в последних версиях еще заюзать apisetschema.dll. LdrpApplyFileNameRedirection() смотрит есть ли в .apiset запись о перенаправлении импорта.
n0name Не универсально, так же как и LdrSetAppCompatDllRedirectionCallback(). Можно вручную изменить смещение в директории экспорта(на сколько помню нет проверок диапазона), прежде отследив момент проецирования секции.