Título: Supuesto buffer overflow con printf en MASM32 Publicado por: Hesp 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 se que Código es Código , 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
Título: Re: Supuesto buffer overflow con printf en MASM32 Publicado por: x64core 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? Título: Re: Supuesto buffer overflow con printf en MASM32 Publicado por: Hesp 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 Título: Re: Supuesto buffer overflow con printf en MASM32 Publicado por: x64core 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 :) Título: Re: Supuesto buffer overflow con printf en MASM32 Publicado por: Hesp 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
Así que aplicándolo al code seria: Código
Muchas gracias!! Título: Re: Supuesto buffer overflow con printf en MASM32 Publicado por: x64core 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 ::)
|