send
Grupo de Telegram
play_arrow
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
  • 2496 Vistas

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

Desconectado proxy_lainux

  • *
  • Underc0der
  • Mensajes: 117
  • Actividad:
    0%
  • Reputación 0
    • 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. global _WinMain@16
  33. extern _ExitProcess@4
  34. extern _LoadLibraryA@4
  35. extern _GetProcAddress@8
  36. extern _printf
  37. extern _WSAStartup@8
  38.  
  39. _WinMain@16:
  40.  
  41. xor eax, eax
  42.  
  43. push wsdll
  44. call _LoadLibraryA@4
  45. mov [wsaddr], eax
  46.  
  47. push WStp
  48. push dword [wsaddr]
  49. call _GetProcAddress@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 _GetProcAddress@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 _GetProcAddress@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 _ExitProcess@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 »

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5301
  • Actividad:
    38.33%
  • Reputación 29
  • 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!



[Guía NASM] Introducción a Netwide Assembler (Partes 1 y 2) (Descarga PDF)

Iniciado por yoyomismo

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

Iniciado por Sanko

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

Iniciado por ragaza

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