Всем привет!!! Не могу разобраться в чем соль. функция connect возвращает: WSAETIMEDOUT. Сдается мне что неправильно заполнил структуру. Вот код: Код (Text): .386 .model flat,stdcall option casemap:none include C:\asma\masm32\include\windows.inc include C:\asma\masm32\include\kernel32.inc includelib C:\asma\masm32\lib\kernel32.lib include C:\asma\masm32\include\user32.inc includelib C:\asma\masm32\lib\user32.lib includelib C:\asma\masm32\lib\ws2_32.lib include C:\asma\masm32\include\ws2_32.inc .data sock SOCKET ? wsadata WSADATA <> ADDRE db "94.100.191.203",0 PORT dw 25 sock_addr sockaddr_in <> .code start: push offset wsadata push 0101h call WSAStartup cmp eax,0 jne quit push 0 push SOCK_STREAM push AF_INET call socket cmp eax,0 je quit mov sock, eax push offset PORT call htons mov sock_addr.sin_port,ax push offset ADDRE call inet_addr mov sock_addr.sin_addr, eax ;mov sock_addr.sin_family, AF_INET mov eax, type sock_addr push eax push offset sock_addr push sock call connect cmp eax,-1 je quit quit: call WSACleanup ret end start
смотри снифером, куда ломится прога. или мож тебе провайдеры порезали 25 порт. а вообще mov sock_addr.sin_family, AF_INET вроде как обязательна. К томуже sockaddr_in желательно чтобы была инициализирована нулями
25 открыт, а сниффер молчит, может посеръезнее сниффер надо у меня простой стоит smsniff, а кстати slesh подскажи как структуру обнулять, в сях там попроще ZeroMemory или memset, а здесь похоже в цикл загонять надо.
RtlZeroMemory есть такая. А вообще почему push offset PORT ? Ты должен в стек загнать не адрес переменной которая хранит порт, а непосредственно значение порта. Юзай нормальные сниферы типа - WireShark или CommView