“Conocimientos Programación>C /C + + Programming

Cómo arreglar un desbordamiento de búfer

2016/5/29
Un desbordamiento de búfer , o de desbordamiento de búfer , es un problema en el que un programa de ordenador escribe más datos en una memoria intermedia que se ha asignado para ese búfer. Como resultado, los datos se escriben en una parte adyacente de la memoria , que podría sobrescribir otros datos . Esto puede hacer que el programa para actuar de forma errática , lo que podría provocar que se caiga . También puede ser explotado para desencadenar el funcionamiento de un programa malicioso . Por lo tanto , siempre es aconsejable evitar desbordamientos de búfer en un programa. Cosas que necesitará
código fuente que contiene el buffer overflow
compilador para el lenguaje de ese código fuente
Mostrar más instrucciones
1

Afine su búsqueda . Usted puede hacer esto mediante la información de depuración de impresión y mediante la prevención de las partes del programa que se ejecute . Los desbordamientos del búfer pueden ser difíciles de localizar porque la evidencia no siempre es consistente. Sin embargo , si la evidencia que tienes desaparece cuando una porción del programa no pueda correr, es una buena indicación de que el problema es con esa parte .
2

Leer el código fuente . Una vez que haya reducido suficientemente su búsqueda, mira a través del código fuente de algo que podría potencialmente causar un desbordamiento. A veces es en un bucle que escribe más allá de la longitud de una matriz . A veces es una concatenación de cadenas en una cadena más grande que el búfer asignado para dicha cuerda.
3

arreglar el defecto . Si el problema estaba escribiendo pasado sale de una matriz , asegúrese de que lo hizo que se ejecuta correctamente, o que la matriz se cambia el tamaño correctamente cuando sea necesario. Asegúrese de que todos los buffers de cadenas son lo suficientemente grandes para sostener las cuerdas que puedan tener .
4

tomar medidas preventivas. Utilice límites de comprobación de funciones a fin de garantizar que la memoria nunca se sobrescribe . Dinámicamente cambiar el tamaño de las matrices como sea necesario. Mantenga un registro cuidadoso de toda la memoria posible escribe para asegurarse de que nunca escriben a la zona equivocada de la memoria.

C /C + + Programming
Cómo crear un árbol binario en C
Cómo construir un motor de juego para principiantes
Cómo desarrollar desplegables aplicaciones de Windows Mobile
Cómo animar en XNA
¿Qué significa la saturación del búfer
Cómo asignar punteros
Cómo convertir una cadena de enteros en una matriz de Byte
Cómo compilar un C + + con CMD & CL
Conocimientos Informáticos © http://www.ordenador.online