Socket con nasm... al fin lo logre

  • 2 Respuestas
  • 5515 Vistas

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

Desconectado proxy_lainux

  • *
  • Underc0der
  • Mensajes: 128
  • Actividad:
    6.67%
  • Reputación 0
  • belial grimoire
    • Ver Perfil

Socket con nasm... al fin lo logre

  • 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. global [email protected]16
  33. extern [email protected]4
  34. extern [email protected]4
  35. extern [email protected]8
  36. extern _printf
  37. extern [email protected]8
  38.  
  39. [email protected]16:
  40.  
  41. xor eax, eax
  42.  
  43. push wsdll
  44. call [email protected]4
  45. mov [wsaddr], eax
  46.  
  47. push WStp
  48. push dword [wsaddr]
  49. call [email protected]8
  50. mov [Getpc], eax
  51.  
  52. push WSD
  53. push 0x202
  54. call [Getpc]
  55. mov [saveWSA], eax
  56.  
  57. cmp dword [saveWSA], -1
  58. jne mns1
  59. je erro
  60.  
  61. mns1:
  62. push dword [saveWSA]
  63. push res1
  64. call _printf
  65.  
  66. push soc
  67. push dword [wsaddr]
  68. call [email protected]8
  69. mov [Getpc], eax
  70.  
  71. push 6
  72. push 1
  73. push 2
  74. call [Getpc]
  75. mov [soadd], eax
  76.  
  77. push dword [soadd]
  78. push res2
  79. call _printf
  80.  
  81. push conn
  82. push dword [wsaddr]
  83. call [email protected]8
  84. mov [conaddr], eax
  85.  
  86. push dword [conaddr]
  87. push res3
  88. call _printf
  89.  
  90. push 0x0100007F
  91. push 0xB9220002
  92. mov esi, esp
  93. push byte 16
  94. push esi
  95. push dword [soadd]
  96. call [conaddr]
  97.  
  98. erro:
  99. push 0
  100. call [email protected]4

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 »

Desconectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5702
  • Actividad:
    76.67%
  • Country: ar
  • Reputación 37
  • ANTRAX
  • Skype: underc0de.org
  • Twitter: @Underc0de
    • Ver Perfil
    • Underc0de
    • Email

Re:socket con nasm... al fin lo logre

  • en: Julio 20, 2013, 05:11:52 pm
Excelente trabajo Bro!!
Felicitaciones!


Conectado Expermicid

  • *
  • Ex-Staff
  • *****
  • Mensajes: 461
  • Actividad:
    13.33%
  • Reputación 0
  • _-Expermicid-_
  • Skype: expermicid.xd
    • Ver Perfil

Re:socket con nasm... al fin lo logre

  • 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

 

Fallo de socket en un programa de ensamblador

Iniciado por catarsis

Respuestas: 0
Vistas: 3707
Ú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: 11082
Último mensaje Abril 10, 2013, 12:07:21 pm
por yoyomismo
[NASM] Reverse string

Iniciado por Sanko

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

Iniciado por ragaza

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