Перехват wsock32!connect

Тема в разделе "WASM.BEGINNERS", создана пользователем Active, 27 фев 2007.

  1. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Нет. Если объявить перехватчик так, как написал я, то можно оперировать просто параметрами p1... Т.е. не надо будет писать что-то типа mov eax,[esp+7*4+8+...]. Тебе для вызова оригинального обработчика надо будет сделать так:
    push pn
    ...
    push p2
    push p1
    call original_func ;(только первые байты восстанови)

    Никаких попов не надо! Из своего обработчика выходишь просто с пом. ret.

    Если ты объявляешь процедуру так, как я сказал и/или используешь локальные переменные, то компилятор (во всяком случае масм) вначале прецедуры пишет push ebp/mov ebp,esp/sub esp... - это типа и есть стековый кадр. Я ж тебе и советую объявлять функию обработчика отдельно - так гораздо удобнее - и к параметрам, и к локальным переменным обращаться. Да и вообще со стеком не запутаешься. Но это только на мой взгляд.
     
  2. Active

    Active New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2007
    Сообщения:
    38
    Значит я не один по ночам на форумах сижу=)
    Спасибо, вроде все ясно.