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.