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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Estructura de datos en NASM y/o MASM
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Estructura de datos en NASM y/o MASM  (Leído 4,892 veces)
Rozor

Desconectado Desconectado

Mensajes: 270


As I Walk Through The Valley Of The Shadow Of Dead


Ver Perfil WWW
Estructura de datos en NASM y/o MASM
« en: 16 Septiembre 2007, 22:37 pm »

Hola, la duda es en nasm o masm como se tratan a las estructuras.

Por que en MASM haciendo invoke a sockaddr_in por ejemplo, lo metes como offset pero si lo hacemos metiendo en pila etc... como se manipularia?



MASM:

  mysock sockaddr_in <>

luego

  mov mysock.sin_family, 0x04  ; AF_INET

pero luego al meterlo en la pila para llamar a connect no sirve

 push 0x00
 push offset mysock
 push offset sock
 call connect  ; o direccion hardcoreada

Gracias.


En línea

out in the streets they call it murder....
nts94

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Re: Estructura de datos en NASM y/o MASM
« Respuesta #1 en: 11 Julio 2011, 13:26 pm »

Has probado a usar addr en vez de offset?


En línea

Иōҳ


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: Estructura de datos en NASM y/o MASM
« Respuesta #2 en: 12 Julio 2011, 22:01 pm »

Has probado a usar addr en vez de offset?

exactamente cuando haces referencia al puntero de una struct tienes que usar la directiva addr, ya que offset no "funciona" en esos casos, te pego una parte del code, almenos el cliente.

Código
  1. .data?
  2. S1        SOCKET ?
  3. S2        SOCKET ?
  4. Sin1      sockaddr_in <>
  5. Sin2      sockaddr_in <>
  6. WSAData   WSADATA <>
  7. Temp      DD ?
  8.  
  9.  
  10. .code
  11. start:
  12.  
  13. invoke  WSAStartup, 0101h, ADDR WSAData
  14. invoke  socket, PF_INET, SOCK_STREAM, IPPROTO_TCP
  15. mov     S1, eax
  16. mov     ax, AF_INET
  17. mov     Sin1.sin_family, ax
  18. xor     eax, eax
  19. mov     Sin1.sin_addr, eax
  20. invoke  inet_addr, addr ServerIPAddress
  21. mov     Sin1.sin_addr, eax
  22. invoke  htons, ListeningPort                               ; listen to a specified port
  23. mov     Sin1.sin_port, ax
  24.  
  25. ;invoke  bind, S1, ADDR Sin1, SIZEOF sockaddr_in
  26.  
  27.  
  28. ;invoke  closesocket, S2
  29. ;mov     eax, SIZEOF sockaddr_in
  30. ;mov     Temp, eax
  31. ;invoke  accept, S1, ADDR Sin2, ADDR Temp
  32. ;mov     S2,eax
  33.  
  34.  
  35. invoke  connect, S1, addr Sin1, SIZEOF Sin1
  36.  
  37. mov     TempVar, SIZEOF SendBuff
  38. invoke send, S1, addr SendBuff, TempVar, 0

creo que te daría la idea ._.

Nox.
« Última modificación: 12 Julio 2011, 22:05 pm por Иōҳ » En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Cuàl me recomiendan: FASM, TASM, MASM, NASM?
ASM
theghost_te 2 7,635 Último mensaje 20 Noviembre 2010, 09:11 am
por theghost_te
Estructura de datos
Programación General
EFEX 1 2,576 Último mensaje 27 Junio 2011, 14:25 pm
por EFEX
[Tutorial] Configurar RadAsm + MASM|FASM|NASM|TASM
ASM
x64core 9 18,829 Último mensaje 8 Junio 2012, 09:19 am
por TomaSs
como hacer una estructura de datos nueva?????
Programación C/C++
guanaco112 2 3,194 Último mensaje 5 Junio 2012, 07:53 am
por guanaco112
¿Como declarar un array dentro de una estructura en MASM?
ASM
Usuario887 2 3,709 Último mensaje 23 Febrero 2021, 23:03 pm
por Usuario887
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines