Сейчас на форуме: _MBK_, Adler (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Прокси сервер, inject dll, вопрос
Посл.ответ Сообщение

Ранг: 6.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 19 июля 2011 09:08
· Личное сообщение · #1

Слушаю порт, телнет подключается без проблем, пакетики бегают, всё хорошо.
Инжектирую длл в процесс, перехватываю connect:
Code:
  1. FARPROC __stdcall HookedConnect(SOCKET s, const struct sockaddr FAR* name, int namelen)
  2. {
  3.          sockaddr_in *name_in = (sockaddr_in *) name;
  4.  
  5.          name_in->sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
  6.          name_in->sin_port = 8888;
  7.  
  8.          FARPROC result = (FARPROC) connect(s, (sockaddr *)name_in, namelen);
  9.  
  10.          return result;
  11. };

Родной connect возвращает WSAEWOULDBLOCK 10035: Resource temporarily unavailable.
На моём серевере OnAccept не происходит.

Подскажите, что я делаю не так?



Ранг: 6.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 19 июля 2011 13:45 · Поправил: Wishmaster-zanyat
· Личное сообщение · #2

Решено!

По незнанию неправильно указал порт, надо:
Code:
  1. name_in->sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
  2. name_in->sin_port = htons(8888);

В интернете куча подобных вопросов, но нигде нет ответа. Приходится методом тыка)



Ранг: 74.1 (постоянный), 34thx
Активность: 0.030
Статус: Участник

Создано: 19 июля 2011 15:12
· Личное сообщение · #3

Wishmaster-zanyat
В любой книжке по программированию под сокеты хоть под линух, хоть под винду все это есть.
И тыкаться не надо)



Ранг: 6.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 19 июля 2011 19:47
· Личное сообщение · #4

Не перевариваю труды Эрлийцев, в заунывности они уступают только балладам Осов (CopyLeft - по смыслу верно) Тайный город, Вадим Панов.
Лучший учебник - это справочник. IMHO.

З.Ы. сори за флуд



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 19 июля 2011 20:14 · Поправил: Hexxx
· Личное сообщение · #5

Wishmaster-zanyat пишет:
Лучший учебник - это справочник. IMHO.

В справочнике не пишут о том, что в TCP/IP традиционно юзается BIG Endian. Справочник - это для тех, кто и так это знает.

-----
Реверсивная инженерия - написание кода идентичного натуральному



 eXeL@B —› Вопросы новичков —› Прокси сервер, inject dll, вопрос
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати