Título: Problema con Memset Publicado por: Blackhawk222 en 15 Enero 2011, 07:57 am Hola a todos estoy creando un exploit para aprender el uso de los buffer overflow y me encontre con un problema sobre la programacion del mismo.
Resulta que tengo una variable llenarla de el caracter \x91, mas exacto poner 76 veces ese caracter. Lo que hago es lo siguiente... INICIO DE CODIGO Código: char nops[76]; El problema es que agrega al final de la variable tres caracteres mas que necesito que no esten, estos son los caracteres ↑♥> Alguna idea sobre la solucion? Gracias... Título: Re: Problema con Memset Publicado por: Blackhawk222 en 15 Enero 2011, 08:21 am Ja Ja Ja :laugh:
El problema ya lo encontre resulta que me olvide que las variables en c++ se miden por bytes la cosa era poner Código: char nops[228]; Código: char nops[76]; Ahora funciona bien... Título: Re: Problema con Memset Publicado por: Garfield07 en 15 Enero 2011, 13:26 pm ¿? Por que 228? No tiene ningun sentido... :P
Mira asi, porque no le veo sentido... A ver que usas para ver los nops... :¬¬ Código
Tu declaras dos veces nops, eso daria error, no se entiende nada.... ¿Que funcion usas para imprimir? Título: Re: Problema con Memset Publicado por: Eternal Idol en 16 Enero 2011, 21:05 pm Mejor usa sizeof en lugar del tamaño.
Título: Re: Problema con Memset Publicado por: Garfield07 en 17 Enero 2011, 10:40 am Cierto sera siempre mas correcto, pero yo prefiriria usar cuantas menos llamadas a otras funciones mejor no? En este caso no importa, pero en otras cosas si podria cambiar :P
Aun asi sigo con la duda... Código: char nops[228]; Código: char nops[76]; Ahora funciona bien... Título: Re: Problema con Memset Publicado por: Eternal Idol en 17 Enero 2011, 11:06 am sizeof es un operador y (practicamente siempre) se resuelve en tiempo de compilacion.
Título: Re: Problema con Memset Publicado por: Garfield07 en 17 Enero 2011, 11:20 am Ahh oks pues entonces habra que cambiar la practica :P pero como he dicho antes en este caso no importa...
Y ahora como es mi duda? |