trate de hacer un socket en nasm, es algo novato pero espero me puedan ayudar con esto
estoy tratando de usar la estructura sockaddr_in, y no logro entender como usarla en nasm asi que encontre que es posible acceder mediante direcciones
trate de usar las direcciones pero creo lo hago mal, porque usando netcat no se conecta, alguien me podria explicar como usar sockaddr_in y/o decirme que estoy haciendo mal, porfavor
les dejo el codigo
[BITS 32]
section .data
wsdll: db 'ws2_32.dll',0
wsaddr: dd '0xFFFFFFFF'
Getpc: dd '0xFFFFFFFF'
WStp: db 'WSAStartup',0
WSaddr: dd '0xFFFFFFFF'
WSD: dd 'WSADATA',0
saveWSA: dd '0xFFFFFFFF'
soc: db 'socket',0
soadd: dd '0xFFFFFFFF'
conn: db 'connect', 0
conaddr: dd '0xFFFFFFFF'
sen: db 'send', 0
sendadd: dd '0xFFFFFFFF'
sre: db "hola mundo",0
section .bss
sn resb 10
section .text
global _WinMain@16
extern _ExitProcess@4
extern _LoadLibraryA@4
extern _GetProcAddress@8
extern _printf
extern _WSAStartup@8
_WinMain@16:
xor eax, eax
push wsdll
call _LoadLibraryA@4
mov [wsaddr], eax
push WStp
push dword [wsaddr]
call _GetProcAddress@8
mov [Getpc], eax
push WSD
push 0x202
call [Getpc]
mov [saveWSA], eax
push soc
push dword [wsaddr]
call _GetProcAddress@8
mov [Getpc], eax
push 6
push 1
push 2
call [Getpc]
mov [soadd], eax
push conn
push dword [wsaddr]
call _GetProcAddress@8
mov [conaddr], eax
push dword [soadd]
mov eax, 0x00000000
mov eax, 0x00000000
mov eax, 0x0100007f
mov eax, 0x5c110002
mov eax, 16
push eax
call [conaddr]
push sen
push dword [wsaddr]
call _GetProcAddress@8
mov [sendadd], eax
push dword [soadd]
push sre
push sn
push 0
call [sendadd]
erro:
push 0
call _ExitProcess@4
hago pruebas con la direccion local "127.0.0.1" y el puerto "4444"
salu2
Cierro al estar solucionado :)