редирект в IE

Тема в разделе "WASM.WIN32", создана пользователем GeNeZiS, 20 сен 2006.

  1. GeNeZiS

    GeNeZiS New Member

    Публикаций:
    0
    Регистрация:
    14 сен 2006
    Сообщения:
    135
    доброго времени суток.
    подскажите пожалуйста какие функции нужно
    перехватить, чтобы реализовать сабж?
    нужно с одного УРЛа перенаправить не другой.

    спасибо за внимание.
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    IWebBrowser2::Navigate, IWebBrowser2::Navigate2
     
  3. dag

    dag New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    446
    GetAddressByName и иже с ним (hosts и др), самое простое IMHO host файл поправить
     
  4. SmikeX

    SmikeX New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2003
    Сообщения:
    20
    осмелюсь возразить соратникам.
    1. вариант с перехватом IWebBrowser2::Navigate, IWebBrowser2::Navigate2
    не удобен, во-первых эти member функции не объявлены в SHDOCVM явно
    и добраться до них не легко, во-вторых не ловяться все операции типа
    GoBack, Refresh, Refresh2 и иже с ним
    2. вариант, предложенный DAGом, на мой взгляд выглядит лучше,
    перехватывать winsock фунции, для замены host перехватить
    gethostbyname, а лучше сразу cоnnect, влепив свой IP и порт, а также
    send где заменяется сам URL, а возможно и verb.
    И все здесь хорошо, однако, если страница уже сидит в кэше, то
    до send'а дело не дойдет, т к IE пойдет считывать временный файл

    на мой взгляд лучше перехватить InternetConnect, поменяв
    значение параметров lpszServerName, nServerPort (возможно и других тоже)
    на свои, а также перехвать HttpOpenRequest, поменяв на свои lpszVerb
    (GET на РОST или наоборот) и lpszObjectName
    Обе фунции в версиях InternetConnectA, InternetConnectW, HttpOpenRequestA,
    HttpOpenRequestW сидят в wininet.dll, а для перехвата достаточно поменять их
    адрес в таблице импорта urlmon.dll, как показает опыт, что
    перехват функций с префиксом A достаточен
     
  5. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    SmikeX
    Просто и надёжно - DWebBrowserEvents2.
     
  6. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290
    Browser Helper Object , делает все что нужно.