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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Supuesto buffer overflow con printf en MASM32
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Supuesto buffer overflow con printf en MASM32  (Leído 4,479 veces)
Hesp

Desconectado Desconectado

Mensajes: 119



Ver Perfil WWW
Supuesto buffer overflow con printf en MASM32
« en: 9 Junio 2012, 00:06 am »

Muy buenas.

Este sencillo programa da un fallo exactamente en el printf (no al compilar), imagino que es por no poner el correcto tamaño en:
Código
  1. %d
se que
Código
  1. SysTime.wYear
es
Código
  1. word
, pero no se a que correspondería en C, he probado toda las combinaciones, así que espero que me digais que hago mal  :huh:

Código
  1. include masm32rt.inc
  2.  
  3. .data?
  4.  
  5. SysTime SYSTEMTIME <?>
  6.  
  7. .data
  8.  
  9. .code
  10. start:
  11. invoke GetSystemTime, addr SysTime
  12. printf("%d\n", SysTime.wYear);
  13. inkey "Press a key to continue ..."
  14. invoke ExitProcess, NULL
  15. end start


En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Supuesto buffer overflow con printf en MASM32
« Respuesta #1 en: 9 Junio 2012, 00:15 am »

printf en MASM? estoy seguro que e visto una printf en MASM pero creo que es de Basic.inc hecho por jochen
o a menos que estes enlazando las librerias de VC a MASM?


En línea

Hesp

Desconectado Desconectado

Mensajes: 119



Ver Perfil WWW
Re: Supuesto buffer overflow con printf en MASM32
« Respuesta #2 en: 9 Junio 2012, 00:39 am »

printf en MASM? estoy seguro que e visto una printf en MASM pero creo que es de Basic.inc hecho por jochen
o a menos que estes enlazando las librerias de VC a MASM?

Gracias por contestar.

Se trata de la High Level Macro de MASM32 en Console Mode Macros (en el HELP de MASM32)

No se si la macro esta bug, o el fallo es mio lo mas seguro xD
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Supuesto buffer overflow con printf en MASM32
« Respuesta #3 en: 9 Junio 2012, 01:05 am »

vaya, la verdad quiza es que esta en las nuevas versiones de MASM porque yo tengo el viejo MASM
pero si no es la de hecho por jochen entonces:

Código:
INVOKE    crt_printf, ADDR formato, argumento1, argumento2

es declarada como crt_printf y hay un wrapper por printf.
eso debería funcionar  :)
En línea

Hesp

Desconectado Desconectado

Mensajes: 119



Ver Perfil WWW
Re: Supuesto buffer overflow con printf en MASM32
« Respuesta #4 en: 9 Junio 2012, 21:01 pm »

Bien, despues de pedir ayuda en el foro de MASM32 ya que se trataba de un problema mas bien especifico de MASM32, obtuve la solución:

Citar
the problem is probably, that wYear is a WORD, which cause the invoke macro to produce bad code -> move the value to a 32Bit GPR and then pass it to the macro:
Código
  1. movzx edx,SysTime.wYear
  2. printf(...,edx)

Así que aplicándolo al code seria:

Código
  1. include masm32rt.inc
  2.  
  3. .data?
  4.  
  5. SysTime SYSTEMTIME <>
  6.  
  7. .data
  8.  
  9. .code
  10. start:
  11. invoke GetSystemTime, addr SysTime
  12. movzx edx, SysTime.wYear
  13. printf("%d\n", edx);
  14. inkey "Press a key to continue ..."
  15. invoke ExitProcess, NULL
  16. end start

Muchas gracias!!
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Supuesto buffer overflow con printf en MASM32
« Respuesta #5 en: 10 Junio 2012, 09:09 am »

como dije desde un principio ese printf es de basic.inc de jochen , hasta el mismo te respondio  ::)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Buffer Overflow en una pagina web
Nivel Web
mordiskos 1 3,424 Último mensaje 9 Marzo 2006, 00:45 am
por ANELKAOS
buffer overflow
Ingeniería Inversa
Meg 2 5,799 Último mensaje 6 Febrero 2009, 11:20 am
por Shaddy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines