Ошибка при перехвате InternetConnect

Тема в разделе "WASM.BEGINNERS", создана пользователем nuclearpartizan, 22 сен 2008.

  1. nuclearpartizan

    nuclearpartizan New Member

    Публикаций:
    0
    Регистрация:
    1 фев 2007
    Сообщения:
    12
    подскажите плиз в чем может быть проблема тут.

    использую библиотеку advApiHook.

    под виндопс xp сп1 не хочет работать.

    Код (Text):
    1. library dll;
    2. uses
    3. windows,
    4. wininet,
    5. advApiHook;
    6.  
    7. var
    8.  
    9. TrueInternetConnect: function(hInternet: HINTERNET; lpszServerName: Pchar; nServerPort: INTERNET_PORT; lpszUsername: Pchar;  lpszPassword: Pchar; dwService: cardinal; dwFlags: cardinal; dwContext: cardinal):longbool; stdcall;
    10.  
    11.  
    12. function NewInternetConnect(hInternet: HINTERNET; lpszServerName: Pchar; nServerPort: INTERNET_PORT; lpszUsername: Pchar;  lpszPassword: Pchar; dwService: cardinal; dwFlags: cardinal; dwContext: cardinal):longbool; stdcall;
    13.  
    14. begin
    15.  
    16. MessageBoxA(0, lpszServerName, lpszServerName, 0);
    17.  
    18. Result := TrueInternetConnect(hInternet, lpszServerName, nServerPort,lpszUsername, lpszPassword,  dwService,  dwFlags, dwContext);
    19.  
    20. end;
    21.  
    22.  
    23. begin
    24. HookProc('wininet.dll', 'InternetConnectA', @NewInternetConnect, @TrueInternetConnect);
    25. end.
    вылетает с ошибкой после мессадж бокса.

    в сп2 работает.
     
  2. nuclearpartizan

    nuclearpartizan New Member

    Публикаций:
    0
    Регистрация:
    1 фев 2007
    Сообщения:
    12
    на пиво 20 баксов дам тому, кто поможет. всё голову сломал
     
  3. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    1) удалить дельфу с хитрым модулем advApiHook; написать на асме
    2) дельфу оставить; модуль переписать (можно на дельфе)
    3) запустить отладчик (в делфе он кстати норм)
    4) включить моск
    5) спросить в королевстве?
     
  4. wertyman

    wertyman Member

    Публикаций:
    0
    Регистрация:
    13 дек 2006
    Сообщения:
    74
    MessageBox убери, а сделай вывод в консоль дебуга. InternetConnect вызывается скорее всего ассинхронно, а ты задержку устраиваешь ему, винду глючит от этого.
     
  5. nuclearpartizan

    nuclearpartizan New Member

    Публикаций:
    0
    Регистрация:
    1 фев 2007
    Сообщения:
    12
    чтобы переписывать знаний мало. времени разбираться нету.
     
  6. nuclearpartizan

    nuclearpartizan New Member

    Публикаций:
    0
    Регистрация:
    1 фев 2007
    Сообщения:
    12
    Пробывал, не работает.

    Другие функции из вининет под сп1 перехватываются нормально. Всё работает. А InternetConnect не хочет. Под сп2 всё перехватывается и работает.


    100 баксов на пиво в качестве благодарности за помощь :) Очень нужно решение.
     
  7. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    если зависимость линейная, то завтра будет 500 Ж)
     
  8. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    upd наврал, делфи -- адский язык =)
     
  9. slavanap

    slavanap Вячеслав

    Публикаций:
    0
    Регистрация:
    10 сен 2008
    Сообщения:
    300
    Адрес:
    Смоленск, Россия
    nuclearpartizan
    1. Что за модуль advAPIHook. Код в студию.
    2. Без MessageBox'а работает?
     
  10. nuclearpartizan

    nuclearpartizan New Member

    Публикаций:
    0
    Регистрация:
    1 фев 2007
    Сообщения:
    12
    без MessageBox'а не работает

    код тут

    http://pills100.com/sourse.rar
     
  11. slavanap

    slavanap Вячеслав

    Публикаций:
    0
    Регистрация:
    10 сен 2008
    Сообщения:
    300
    Адрес:
    Смоленск, Россия
    Странно....
    На мой взгляд место для HookProc выбрано не верно.
    Но судить не могу, в скором времени попробую потестить на Windows Server'е.
     
  12. z_x_spectrum

    z_x_spectrum New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2007
    Сообщения:
    145
    1. AdvApiHook - МсРемовская библиотека для сплайсинга.
    2. Делфи - нормальный язык, во всяком случае не хуже С.
    Тоже когда то давно были траблы именно с InternetConnect и AdvApiHook, но я уже не помню в чем там было дело. Есть подозрение, что может некорректно отрабатывать дизассемблер длин LdAsm. Посмотри в отладчике на начало IntenetConnect. Что показывает RkU? В любом случае надо смотреть в Ольге.