De forma nativa, las aplicaciones escritas en Python no pueden ejecutarse en Windows. Por eso, es necesario utilizar algunos compiladores que permitan almacenar en un mismo paquete todos los archivos necesarios para que la aplicación funcione en Windows. Esto es posible porque Python es un lenguaje interpretado. Esto significa que lo único que ocupa es un intérprete para que las aplicaciones funcionen.
En este contexto, los compiladores de python fusionan en un mismo archivo los intérpretes necesarios de los escritos que contienen el código fuente. En este artículo explicaremos el funcionamiento de estos programas.
Por esa razón y muchas otras más no menos importantes, es que te recomendamos este curso de python profesional, el cual lo imparten de manera presencial o en linea, con instructores expertos en este lenguaje de programación.
En términos sencillos, los compiladores de python permiten que un archivo .py se incluya en un paquete ejecutables para windows. El primer paso es compilar el propio script generado en Python, convirtiéndolo a un formato de bytecode. Este archivo puede ser ejecutado por cualquier intérprete Python. Sin embargo, estos intérpretes no están instalados de forma nativa en Windows. Si el equipo en el que se decían de ejecutar es un Linux, normalmente no tendrá ningún problema en ejecutar este archivo, puesto que de forma nativa Linux incluye un intérprete Python.
En vista de lo anterior, para que el archivo pueda ejecutarse en windows, el compilador empaquetará en en un archivo tanto el script ya compilado y el intérprete de Python. Se puede incluir en este mismo archivo cualquier otra librería que sea necesaria para que funcione de forma adecuada el programa o la aplicación en cuestión.
Ahora bien, si se desea analizar el código fuente de una aplicación escrita en Python, y qué ha sido compilada, será necesario realizar el proceso inverso. A esto normalmente se le denomina en informática ingeniería inversa, pues su propósito es revertir el proceso de compilación. Para lograrlo, el primer paso será precisamente el último que se realizó en la compilación.
Como el último paso ha sido compilar un archivo ejecutable, es decir con la extensión .exe, iniciaremos por descompilar este paquete. Para esto se puede usar algún software especializado, como por ejemplo unpy2exe. También se puede usar pyinsxtractor. Ambos revertirán sin ningún problemas el proceso de compilación.
Después que se haya realizado esta acción hay que extraer y descompilar el archivo .pyc, que incluye el script de python en formato bytecode. Para lograrlo se puede utilizar un software como Uncompyle6. Este último proceso permite que obtengamos el script en texto plano, esto es, un archivo con la extensión .py. Lo que veremos allí será el código fuente del programa o la aplicación en cuestión.
De esta forma, se puede analizar, o inclusive modificar cada línea de código. Esto es posible debido a una característica principal de Python, a saber, que es de código abierto, cuando que debe estar disponible el software, la documentación, las librerías y los códigos para todos los desarrolladores.
Ahora bien, es posible que el texto que se obtenga no sea del todo legible, especialmente si se ha cifrado alguna sección del archivo. En cualquier caso, con las técnicas apropiadas, será posible conocer todo el código fuente.
Diseño Web Grupo Codesi