Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Socket con nasm... al fin lo logre

  • 2 Respuestas
  • 5105 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado proxy_lainux

  • *
  • Underc0der
  • Mensajes: 122
  • Actividad:
    1.67%
  • Reputación 0
  • belial grimoire
    • Ver Perfil
« en: Julio 20, 2013, 05:11:10 pm »
pues lo logre, aun no se como usar estructuras en nasm pero logre hacerlo funcionar

Código: ASM
  1. [BITS 32]
  2.  
  3. section .data
  4.  
  5. wsdll: db 'ws2_32.dll',0
  6. wsaddr: dd '0xFFFFFFFF'
  7. Getpc: dd '0xFFFFFFFF'
  8.  
  9. WStp: db 'WSAStartup',0
  10. WSaddr: dd '0xFFFFFFFF'
  11. WSD: dd 'WSADATA',0
  12. saveWSA: dd '0xFFFFFFFF'
  13. soc: db 'socket',0
  14. soadd: dd '0xFFFFFFFF'
  15. conn: db 'connect', 0
  16. conaddr: dd '0xFFFFFFFF'
  17. sen: db 'send', 0
  18. sendadd: dd '0xFFFFFFFF'
  19.  
  20. res1: db "WSAStartup %d", 10, 0
  21. res2: db "Socket %d", 10, 0
  22. res3: db "connect %d", 10, 0
  23. res4: db "send %d", 10 ,0
  24.  
  25. sre: db "hola mundo",0
  26.  
  27. section .bss
  28. sn resb 10
  29.  
  30. section .text
  31.  
  32. extern _printf
  33.  
  34.  
  35. xor eax, eax
  36.  
  37. push wsdll
  38. mov [wsaddr], eax
  39.  
  40. push WStp
  41. push dword [wsaddr]
  42. mov [Getpc], eax
  43.  
  44. push WSD
  45. push 0x202
  46. call [Getpc]
  47. mov [saveWSA], eax
  48.  
  49. cmp dword [saveWSA], -1
  50. jne mns1
  51. je erro
  52.  
  53. mns1:
  54. push dword [saveWSA]
  55. push res1
  56. call _printf
  57.  
  58. push soc
  59. push dword [wsaddr]
  60. mov [Getpc], eax
  61.  
  62. push 6
  63. push 1
  64. push 2
  65. call [Getpc]
  66. mov [soadd], eax
  67.  
  68. push dword [soadd]
  69. push res2
  70. call _printf
  71.  
  72. push conn
  73. push dword [wsaddr]
  74. mov [conaddr], eax
  75.  
  76. push dword [conaddr]
  77. push res3
  78. call _printf
  79.  
  80. push 0x0100007F
  81. push 0xB9220002
  82. mov esi, esp
  83. push byte 16
  84. push esi
  85. push dword [soadd]
  86. call [conaddr]
  87.  
  88. erro:
  89. push 0

Aunque admito que hacerlo en fasm es mucho mas sencillo

Código: ASM
  1. format PE console 4.0
  2.  
  3. entry start
  4.  
  5. include 'include\win32a.inc'
  6.  
  7. section '.data' data readable writable
  8.  
  9. wsadata WSADATA
  10. saddr sockaddr_in
  11. sock_size = $-saddr
  12. sock dd ?
  13. sin_addr dd ?
  14. sin_port dd ?
  15.  
  16. section '.code' code readable executable
  17. start:
  18.  
  19. invoke WSAStartup, 0202h, wsadata
  20. invoke socket, AF_INET, SOCK_STREAM, 0
  21.  
  22. mov[sock], eax
  23. mov[saddr.sin_family], AF_INET
  24. mov[saddr.sin_port], 0xB922
  25. mov[saddr.sin_addr], 0x0100007F
  26.  
  27. invoke connect, [sock], saddr, sock_size
  28.  
  29. invoke ExitProcess,0
  30.  
  31. section '.idata' import data readable writeable
  32.  
  33. library kernel, 'KERNEL32.DLL',\
  34.         winsock, 'WSOCK32.DLL'
  35.  
  36. import kernel,\
  37.        ExitProcess, 'ExitProcess'
  38.  
  39. import winsock,\
  40.        WSAStartup, 'WSAStartup',\
  41.        WSACleanup, 'WSACleanup',\
  42.        socket, 'socket',\
  43.        connect, 'connect',\
  44.        sendto, 'sendto',\
  45.        closesocket, 'closesocket'          
« Última modificación: Febrero 08, 2014, 05:28:21 pm por Expermicid »

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5489
  • Actividad:
    13.33%
  • Reputación 36
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« Respuesta #1 en: Julio 20, 2013, 05:11:52 pm »
Excelente trabajo Bro!!
Felicitaciones!


Desconectado Expermicid

  • *
  • Underc0der
  • Mensajes: 457
  • Actividad:
    0%
  • Reputación 0
  • _-Expermicid-_
    • Ver Perfil
  • Skype: expermicid.xd
« Respuesta #2 en: Julio 20, 2013, 07:43:30 pm »
Muy bueno grimoire. Lo agrego al indice y cierro el post de la duda que habias tenido ;)

Saludos

 

¿Te gustó el post? COMPARTILO!



Fallo de socket en un programa de ensamblador

Iniciado por catarsis

Respuestas: 0
Vistas: 3274
Último mensaje Julio 14, 2018, 03:36:11 pm
por catarsis
[Guía NASM] Introducción a Netwide Assembler (Partes 1 y 2) (Descarga PDF)

Iniciado por yoyomismo

Respuestas: 5
Vistas: 10210
Último mensaje Abril 10, 2013, 12:07:21 pm
por yoyomismo
[NASM] Reverse string

Iniciado por Sanko

Respuestas: 2
Vistas: 5226
Último mensaje Febrero 22, 2014, 07:52:03 am
por Sanko
RunPE NASM

Iniciado por ragaza

Respuestas: 0
Vistas: 3666
Último mensaje Abril 04, 2018, 06:01:24 am
por ragaza