Ningún descompilador puede reconstruir un archivo de código fuente en un lenguaje de alto nivel. Casi toda la información útil para un programador se elimina durante la compilación, y todo lo que queda es el código hexadecimal ejecutable. A veces, el programa deja información de depuración en forma de una tabla de símbolos, pero la mayoría se elimina, ya que ocupa espacio. Entonces, lo que obtienes es casi invariablemente una lista de ensambladores, sin comentarios y, en el mejor de los casos, etiquetas del formulario “C1234” o “D005A”, que son la mejor suposición del desensamblador en cuanto a si la dirección es código o datos. Luego, habrá tablas de datos enterradas en el código, y el desensamblador no sabe la diferencia entre estas y las instrucciones. Depende de la persona que hace el trabajo identificar esas áreas y marcarlas, lo que requiere mucho conocimiento y, por lo general, varias ejecuciones de desensamblador para encontrarlas. El programa original, incluso uno bastante pequeño, se compilará y vinculará desde varios archivos de origen y bibliotecas, pero el desensamblaje será un solo archivo, sin indicación de los cortes originales. Finalmente, el desensamblador no tiene idea de qué ensamblador o compilador se utilizó para compilar el programa, por lo que no tiene forma de incluir las directivas y las operaciones psuedo necesarias para hacerlo.
La conclusión es que no, el código descompilado sin procesar nunca se compilará correctamente . Se necesita una gran cantidad de habilidad y experiencia para editar el resultado en un formulario que se ensamble sin error. Primero, realice el desensamblaje correctamente con todas las áreas de datos correctamente identificadas y las operaciones psuedo-op del ensamblador restauradas hasta que cree un archivo hexadecimal idéntico al que comenzó. Ese es el primer paso importante. Solo entonces debería profundizar y comenzar a editar el código.
- ¿Hay algún riesgo al usar 1Password?
- ¿Por qué es ilegal exportar software de cifrado a ciertos estados extranjeros?
- Cómo aprender piratería ética o de sombrero gris de internet gratis
- ¿Por qué mi computadora portátil se cuelga innecesaria y frecuentemente después de la instalación del antivirus Kaspersky?
- ¿Las pruebas de penetración son un buen comienzo en la industria de la seguridad informática?