elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 01:45  


Tema destacado: Entra al canal IRC oficial de #elhacker.net

+  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 1,842 veces)
Rozor

Desconectado Desconectado

Mensajes: 269


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 »

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: 20


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

Has probado a usar addr en vez de offset?


En línea
Иōҳ


Desconectado Desconectado

Mensajes: 453


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

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
.data?
S1        SOCKET ?
S2        SOCKET ?
Sin1      sockaddr_in <>
Sin2      sockaddr_in <>
WSAData   WSADATA <>
Temp      DD ?
 
 
.code
start:
 
invoke  WSAStartup, 0101h, ADDR WSAData
invoke  socket, PF_INET, SOCK_STREAM, IPPROTO_TCP
mov     S1, eax
mov     ax, AF_INET
mov     Sin1.sin_family, ax
xor     eax, eax
mov     Sin1.sin_addr, eax
invoke  inet_addr, addr ServerIPAddress
mov     Sin1.sin_addr, eax
invoke  htons, ListeningPort                               ; listen to a specified port
mov     Sin1.sin_port, ax
 
;invoke  bind, S1, ADDR Sin1, SIZEOF sockaddr_in
 
 
;invoke  closesocket, S2
;mov     eax, SIZEOF sockaddr_in
;mov     Temp, eax
;invoke  accept, S1, ADDR Sin2, ADDR Temp
;mov     S2,eax
 
 
invoke  connect, S1, addr Sin1, SIZEOF Sin1
 
mov     TempVar, SIZEOF SendBuff
invoke send, S1, addr SendBuff, TempVar, 0

creo que te daría la idea ._.

Nox.
« Última modificación: 12 Julio 2011, 22:05 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
usar labels en el segmento de datos en Masm.
Programación General
txomin 3 594 Último mensaje 2 Noviembre 2006, 22:35
por byebye
¿Cuàl me recomiendan: FASM, TASM, MASM, NASM?
ASM
theghost_te 2 2,494 Último mensaje 20 Noviembre 2010, 09:11
por theghost_te
Estructura de datos
Programación General
EFEX 1 326 Último mensaje 27 Junio 2011, 14:25
por EFEX
[Tutorial] Configurar RadAsm + MASM|FASM|NASM|TASM
ASM
RHL 8 1,636 Último mensaje Ayer a las 22:04
por $Edu$
como hacer una estructura de datos nueva?????
Programación C/C++
guanaco112 1 99 Último mensaje 11 Mayo 2012, 06:44
por Leo Gutiérrez.
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines