Dertin Blog

Sobre Ciencia, Tecnología, Programación y sobre la Vida Misma.

Ejemplos de “Overflow”

Posted by Dertin en diciembre 23, 2008

Unos códigos muy sencillos para que vean el overflow en dos ejemplos, espero que sean útiles :D,
overflow:  “Desbordamiento de la capacidad de una variable en un programa o de un fichero”.

1]
#include <iostream>

int main()
{

using std::cout;
using std::endl;

unsigned int resultado;
unsigned int mayor = 100;
unsigned int menor = 50;

resultado = mayor – menor;
cout << “resultado es: “ << resultado;
resultado = menor – mayor;
cout << “\n Ahora resultado es: “ << resultado << endl;
return 0;
}

Bueno aquí otro ejemplo pero sacado de Internet es más complejo.

2]
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
char *buffer1 = (char *)calloc(5, sizeof(char));
char *buffer2 = (char *)calloc(15, sizeof(char));
char *tmp;

strcpy(buffer2, “ls -a –color”);
strcpy(buffer1, argv[1]);

// Indirizzi di memoria…
printf(“%p <– buffer1\n”, buffer1);
printf(“%p <– buffer2\n”, buffer2);
printf(“\n\n”);

// Stampa indirizzi…
printf(“Start code….\n”);
tmp=buffer1;
while(tmp<buffer2+15)
{
printf(“%p: %c (0x%x)\n”, tmp, *tmp, *(unsigned int *)tmp);
tmp++;
}

printf(“\n”);
system(buffer2);
return 0;
}

Si tienes otro ejemplo que mostrar, deja un comentario aquí, Gracias…

Saludos, Dertin.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: