|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Апр 28, 2004 22:36:33 Имеем кусок кода:
; Сообщение от WSAAsyncSelect
@wmsocket:
mov eax,[lParam]
and eax,0FFFFh
cmp eax,FD_ACCEPT
je @fd_accept
cmp eax,FD_READ
je @fd_read
cmp eax,FD_CLOSE
je @fd_close
jmp @done
@fd_accept:
; Разрешить входящее соединение
@call accept,[wParam],offset iaddr,[temp_var]
cmp eax,-1
je @accept_error
; Указываем Windows, чтобы она извещала нас о готовности
; сокета для чтения или его закрытии
@call WSAAsyncSelect,eax,edi,WM_SOCKET,FD_READ+FD_CLOSE
в структуру iaddr адрес созвращается через раз, если ли сполоб получить IP адрес того кто к тебе присосался? как, например, использовать функцию getpeername? |
|
|
Дата: Апр 29, 2004 11:15:54 · Поправил: Безпощадный даос.data
AppName db "x", 0
inadrlen dd SIZEOF sockaddr_in
WM_SOCKET equ WM_USER + 100
wsadata WSADATA <?>
sin sockaddr_in<?>
sock dd ?
ip dd ?
invoke WSAStartup, 101h, addr wsadata
invoke socket, AF_INET, SOCK_STREAM, 0
mov sock, eax
invoke htons, 111
mov sin.sin_port, ax
mov sin.sin_family, AF_INET
mov sin.sin_addr, INADDR_ANY
invoke bind, sock, addr sin, sizeof sin
invoke listen, sock, 0
__AcceptConn:
xor eax, eax
invoke accept, sock, addr sin, addr inadrlen
;------------ Определить IP -----
mov eax, sin.sin_addr
xchg ah,al
rol eax,10h
xchg ah,al
invoke IPtoString, eax,addr ip
invoke MessageBox,NULL,offset ip,addr AppName,MB_OK |
|
|
Дата: Апр 29, 2004 13:17:25 KiNDeR в структуру iaddr адрес созвращается через раз значит ошибка гдето в другом месте, должна быть всегда, по идее:) хотя у меня accept всегда возвращала. |
|
|
Дата: Апр 29, 2004 17:57:59 Flasher благодарю, опробуем. |
|
|
Дата: Май 10, 2004 18:33:09 Flasher ОЙ, а если спрошу что значит xchg ah,al rol eax,10h xchg ah,al сможешь ответить? и почему именно 10h? |
|
|
Дата: Май 10, 2004 18:38:07 jabber Это вместо bswap,eax :-) |
|
|
Дата: Май 11, 2004 03:19:15 Quantum а если спрошу почему перед eax запятая? :-) а если серьёзно то я знаю потому что сам этот код писал. просто не думаю что это очень круто что человек тянет с одного форума на другой чужой код даже не зная как он работает |
|
|
Дата: Май 11, 2004 06:11:05 jabber а если спрошу почему перед eax запятая? :-) Описка. просто не думаю что это очень круто что человек тянет с одного форума на другой чужой код даже не зная как он работает securitylab? :-) |
|
|
Дата: Май 12, 2004 10:52:44 jabber, я не намеренно.., просто под руку попался... :) кстати.. вот Вам код, где без пробелов szStr db "%i.%i.%i.%i",0 and ebx, not 255 mov eax, sin.sin_addr xchg ah,al rol eax,10h xchg ah,al movzx ebx,al push ebx shr eax,8 movzx ebx,al push ebx shr eax,8 movzx ebx,AL push ebx shr eax,8 push eax push offset szStr push offset ip call wsprintfA |
|
|
Дата: Май 12, 2004 11:32:42 Flasher Чем не устраивает inet_ntoa? |
|
|
Дата: Май 12, 2004 12:18:00 разве она без пробелов возвращает ? |
|
|
Дата: Май 12, 2004 12:45:17 Flasher У меня да. |
|
|
Дата: Май 12, 2004 17:33:33 Flasher О каких пробелах идёт речь? ЗЫ: После wsprintf нужно выровнять стек. |
|
|
Дата: Май 12, 2004 18:23:51 Quantum, кода юзал этот код: xchg ah,al rol eax,10h xchg ah,al показывало: 192 .168 . 0. 1 конечно это моно показать в listboxe, но если нуно в дальнейшем использовать где-нить этот ip - лучше юзать тот, который я дал. |
|
|
Дата: Май 13, 2004 01:09:47 Flasher Аааа... Это баг в DW2A, которую вызывает IPtoString. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.066 |