Хук на InternetSetStatusCallback

Тема в разделе "WASM.NETWORKS", создана пользователем Selah, 23 окт 2008.

  1. Selah

    Selah New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2007
    Сообщения:
    258
    Как ставить хук на эту функцию???
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Наверное так же как и на все остальные :)
     
  3. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Ставим векторный обработчик исключений. Делаем невалидным указатель BASE_SYSINFO.PageSize(секция данных kernel32!) на который ссылается kernel32!IsBadReadPtr(). Обрабатываем исключение.
    Ссылку на BASE_SYSINFO находим из первой инструкции kernel32!TermsrvAppInstallMode().
     
  4. Selah

    Selah New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2007
    Сообщения:
    258
    Clerk что-то ты круто как-то загнул)))
    Не понял я.
    Когда-то на компе была малвара, там был перехват InternetSetStatusCallback, Вот только как он был реализован не помню. У меня не получается перехватить эту функцию, нету ее вызова., обьясните мне почему? Ослик же полюбому запускает колбек функцию, как он это делает????
     
  5. Selah

    Selah New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2007
    Сообщения:
    258
    вот что я придумал. Делаю перехват InternetConnect и ставлю коллбек на свою функцию

    Код (Text):
    1. function NInternetConnect(hInet: HINTERNET;lpszServerName.....
    2. ...
    3. begin
    4. iscCallback:=InternetSetStatusCallback(hInet,@MyInternetCallBack);
    5. Result:=TInternetConnect(hInet,lpszServerName,nServerPort,lpszUsername,lpszPassword,dwService,dwFlags,dwContext);
    6. .....
    В итоге я получаю события в функции MyInternetCallBack , но ослик перестает грузить страницы.
     
  6. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Selah
    Ты спросил как её перехватить, калбак она или не калбак - мне почём знать откуда она юзается, если ты про это.
     
  7. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Посмотрел IE под олей.
    Юзается эта функция из urlmon.dll, XPSP2, RVA = (0x7726A7C5 - 0x77250000).
    Такой кодес:
    Код (Text):
    1. 7726A7BA    push urlmon.77268E60
    2. 7726A7BF    push dword ptr [772C13A8]
    3. 7726A7C5    call dword ptr [772C0030]                                 ;  WININET.InternetSetStatusCallbackA
     
  8. dendi

    dendi New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    233
    она очень редко (возможно единожды) вызывается в IE.