Un archivo ejecutable es convertido a código fuente de alto nivel por un programa de computadora conocido como descompilador. A diferencia de un compilador tradicional, que convierte lenguajes de alto nivel a lenguajes de bajo nivel, realiza exactamente lo contrario. Los descompiladores van un paso más allá y convierten el código a un lenguaje de alto nivel, como C o Java, requiriendo técnicas más avanzadas que los desensambladores, que transforman un ejecutable en lenguaje ensamblador. Los descompiladores frecuentemente producen código ofuscado ya que no pueden reconstruir completamente el código fuente original. Sin embargo, siguen siendo una herramienta crucial en la ingeniería inversa de software.
¿Qué es la descompilación?