Допустим, делаю перехват методам объекта Web Browser (тот самый который имплементирует IWebbrowser2). Внутри процесса iexplorer перехватываю CoCreateInstance и ловлю создание объекта Web Browser. Оригинальная идея была подменить созданный объект на мой proxy. Непонятка номер 1 - мой proxy не вызывается. Более того, если из перхваченного CoCreateInstance возвращаю NULL вместо созданного объекта - explorer работает как ни в чем не бывало. Решил вместо proxy пропатчить vptr объекта Web Browser - но к сожалению эта таблица лежит в области памяти закрытой для записи. Сделал обходной маневр - полностью сделал свою vptr и поменял указатель не нее в объекте. Работает. Если подменяю метод в vptr на свой - он вызывается. Непонятка номер 2. Если из другого процесса прицепиться к Web Browser (используя enumeration IShellWindows) и вызвать перехваченный метод - будет вызван оригнальный код. Може кто поможет обьяснить что происходит?