-1
Я пытаюсь создать «сокет» с masm32, но что-то не так с accept(), ollydbg показывает мне нарушение доступа, когда код пытается выполнить accept() и I не знаю, что не так, Может кто-нибудь сказать мне, как я могу это исправить, пожалуйста?access abuse socket accept() on masm32
.686
.model flat, stdcall
option casemap:none
extrn [email protected]:PROC
extrn [email protected]:PROC
extrn [email protected]:PROC
extrn [email protected]:PROC
extrn [email protected]:PROC
extrn [email protected]:PROC
WSADATA STRUCT 8
wVersion WORD ?
wHighVersion WORD ?
iMaxSocket WORD ?
iMaxUdpDg WORD ?
lpVendorInfo DWORD ?
szDescription SBYTE 257 dup (?)
szSystemStatus SBYTE 129 dup (?)
WSADATA ENDS
sockaddr STRUCT
sa_family WORD ?
sa_port WORD ?
sa_addr DWORD ?
BYTE 8 dup (?)
sockaddr ENDS
.const
address sockaddr<2, 0B922h, 00000000h>
sbuff BYTE 50 dup (0)
.data?
wsadata WSADATA <>
Socket DWORD ?
.code
Start proc
push ebp
mov ebp, esp
lea edx, wsadata
push edx
push 2h
call [email protected]
push 0h
push 1h
push 2h
call [email protected]
mov Socket, eax
push 16h
lea ecx, address
push ecx
push Socket
call [email protected]
push 1h
push Socket
call [email protected]
push 16h
lea ecx, address
push ecx
push Socket
call [email protected]
mov eax, 0
call [email protected]
mov esp, ebp
pop ebp
Start endp
END
рассматривает
Что касается размеров структуры; MASM32 также имеет переменные 'LENGTHOF variable',' SIZEOF variable' и 'SIZEOF type'. – Michael
работает отлично, спасибо –