Red de conocimiento informático - Conocimiento informático - ¿Cómo desprogramar?

¿Cómo desprogramar?

Explicamos el proceso básico de descompilación desde múltiples perspectivas según tres clasificaciones diferentes.

Si se divide según el orden de implementación de la tecnología de descompilación, se puede dividir en siete etapas, que son: análisis sintáctico, análisis semántico, generación de código intermedio, generación de gráficos de flujo de control, análisis de flujo de control y generación de código.

Si se divide de acuerdo con las operaciones específicas en la práctica, generalmente se puede dividir en 7 pasos diferentes, a saber: carga de archivos, decodificación de instrucciones, mapeo semántico, construcción de gráficos de correlación, análisis de procesos, análisis de tipos y resultados. salida, etc.

Para el propósito del análisis inverso, cada etapa de descompilación no es una secuencia estricta de un solo paso, pero hay algunos módulos paralelos, y también es necesario ejecutar el proceso de análisis en un bucle para resolver algunos Los problemas especiales (por ejemplo, instrucciones de salto indirecto generadas por un código de rama que no es N) se analizan y recuperan.

El proceso de descompilación, si se distingue por función, se puede dividir en tres partes: front-end, middle-end y back-end. De hecho, este método de división consiste en fusionar las etapas de los dos procesos anteriores, es decir, combinar varias etapas del descompilador. La ventaja de esta división es que se pueden implementar descompiladores para múltiples fuentes y destinos diseñando diferentes front-end, middle-end y back-end.