En ensamblaje, ¿por qué deberíamos desmontar los segmentos de código ejecutados antes de ejecutar el programa?
La descompilación se utiliza para depurar programas. No es como dijiste, debes descompilar el código antes de ejecutar el programa. Puedes entender que no todos los que saben programar pueden montar. ¿Cuántas personas usarían un programa si fuera necesario descompilarlo antes de usarlo?
La descompilación puede restaurar el archivo ejecutable compilado a código ensamblador, lo que permite a las personas que pueden entender el código ensamblador observar la secuencia de ejecución y las funciones del código. Cuando comencé a aprender el ensamblaje 8086, a menudo usaba el comando DEBUG para desensamblar el programa. El comando -T se usaba para ejecutar el comando paso a paso. Cada vez que se ejecuta, no se observa si el valor del registro es consistente con el valor esperado antes de la codificación. Durante el estudio de mitad de período de 8086, cuando se pueden completar algunos programas de utilidad simples, el comando DEBUG generalmente se usa para probar el programa cuando la ejecución del programa falla para ver dónde salió mal el programa y luego modificar el código fuente después de encontrar el error. Recompilar y vincular.
También existen herramientas de desmontaje en el ensamblaje WIN32, como OLLYDBG, que también se utilizan para depurar programas. Una vez compilado y vinculado el programa, se produce un error durante la ejecución. Puede depurar un programa, encontrar errores y corregirlo. Esto se debe a este principio. Muchas búsquedas de programas de craqueo y vulnerabilidades de programas utilizan el desensamblado para ver el código ensamblador del programa.
Todo lo que necesitas saber es que no es necesario desmontar el segmento de código antes de ejecutar el programa. El desmontaje es solo depuración de código.
www.ghostasm.com