elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  [problema] SOCKET EN FASM
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [problema] SOCKET EN FASM  (Leído 3,517 veces)
afdlkglfgfdgfhgf

Desconectado Desconectado

Mensajes: 92


Ver Perfil
[problema] SOCKET EN FASM
« en: 29 Marzo 2010, 01:50 am »

hola, tengo un pequeño problema con un codigo que hize.

Código
  1.  
  2. include 'win32ax.inc'
  3.  
  4. .data
  5. ;Datos de Conexion.
  6. puerto dd 123
  7. host   db '127.0.0.1',0
  8.  
  9. ;Variables.
  10. wsa WSADATA     ? ;puntero a una estructura WSADATA.
  11. sock dd    ? ;Handle del socket.
  12. conec hostent     ? ;puntero a la estructura hostent
  13. cliente sockaddr_in ? ;puntero a la estructura sockaddr_in
  14.  
  15. .code
  16. ;Funcion que se ejecuta cuando a habido algun error
  17. proc FIND_ERROR
  18.     ;limpiamos y saltamos al inicio.
  19.     call [WSACleanup]
  20.     ;Limpiamos
  21.     push 2000
  22.     call [Sleep]
  23.     ;Esperamos 2 segundos.
  24.     jmp start
  25.     ;saltamos al inicio del programa.
  26. endp
  27.  
  28. start :
  29. ;Cuerpo del Programa.
  30. push wsa
  31. push 200
  32. call [WSAStartup]
  33. ;iniciamos la *.dll con su respectiva Version.
  34. cmp eax,0
  35. jz  siguiente
  36. ;Comprobamos que la funcion aya sido ejecutada
  37. ;Correctamente
  38. call FIND_ERROR
  39.  
  40.  
  41. ;de lo contrario, continuamos con nuestro
  42. ;programa.
  43. siguiente :
  44.  
  45. push 6 ;IPPROTO_TCP
  46. push 1 ;SOCK_STREAM
  47. push 2 ;AF_INET
  48. call [socket]
  49. ;Creamos un Identificador de Socket.
  50. cmp eax,-1
  51. jnz siguiente2
  52.  
  53. ;si hay un error Llamamos ala funcion
  54. ;FIND_ERROR
  55. call FIND_ERROR
  56.  
  57. siguiente2 :
  58. mov [sock],eax;Guardamos el Handle.
  59. mov eax,0 ;Limpiamos el Registro eax.
  60.  
  61. push host
  62. call [gethostbyname]
  63.  
  64. mov [conec],eax  ;guardamos el retorno de la funcion en
  65. ;la variable conec.
  66.  
  67. mov eax,0
  68. push [puerto]
  69. call [htons]
  70.  
  71. mov [cliente.sin_family],2 ;AF_INET
  72. mov [cliente.sin_port],ax
  73. mov eax,[conec]
  74. mov [cliente.sin_addr],eax
  75.  
  76. push 20
  77. push cliente
  78. push [sock]
  79. call[connect]
  80.  
  81. cmp eax,0
  82. jz funciona
  83.  
  84. call FIND_ERROR
  85.  
  86. ;Cerramos el proceso
  87. push 0
  88. call [ExitProcess]
  89.  
  90. .end start
  91.  
  92.  

el programa no conecta al servidor echo en C, creo que hay un problema con la funcion connect, bueno espero que alguien me pueda ayudar .

SSaludos.


En línea

bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Re: [problema] SOCKET EN FASM
« Respuesta #1 en: 29 Marzo 2010, 09:25 am »

la etiqueta funciona no existe, sales de un call con un jmp .... ¿quien saca de la pila la direccion de retorno?. Lee aqui. depura tu programa y veras que te esta devolviendo connect, no puedes pretender hacer que tu programa solo funcione en "una direccion" y que no sea capaz de controlar los errores que pueda devolver una funcion, volver a empezar una y otra vez no es una solucion.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema server socket thread
Java
momo1234 1 2,829 Último mensaje 12 Mayo 2012, 17:20 pm
por momo1234
problema socket internet
Java
netastra 2 1,594 Último mensaje 12 Octubre 2013, 14:45 pm
por ThinkByYourself
Problema al atrapar excepcion en ensamblador cambiando [fs:0] manualmente (FASM)
ASM
harry_the_blogger 6 4,067 Último mensaje 16 Septiembre 2014, 04:02 am
por harry_the_blogger
Problema con OllyDbg y ejecutables en FASM
Ingeniería Inversa
fary 3 2,085 Último mensaje 13 Diciembre 2015, 01:48 am
por fary
Creando un socket con FASM para Linux
ASM
Yuki 6 3,152 Último mensaje 5 Octubre 2019, 04:28 am
por Yuki
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines