En la nota anterior explicamos por qué no es posible que Windows ejecute de forma nativa los programas escritos en Python. Sin embargo, también vimos que se pueden ejecutar fácilmente mientras haya un intérprete de este lenguaje de programación. Para lograrlo, es necesario compilar en un mismo paquete el script en formato bytecode junto con el intérprete de Python, además de cualquier librería que sea necesaria para el buen funcionamiento del programa o la aplicación en cuestión.
Ahora bien, para código fuente de una aplicación con estas características, es necesario descompilar el archivo ejecutable hasta conseguir el código en texto plano. Por eso, a continuación veremos los pasos necesarios para lograrlo.
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.
Existen diferentes opciones de softwares que permiten realizar esta tarea. Veremos brevemente algunos de ellos con sus características principales.
Pyinstxtractor: este programa se puede descargar fácilmente desde GitHub. Para ejecutarlo, como mínimo se requiere utilizar la versión 2.7 de Python. Para lograr extraer de forma adecuada los archivos del código escrito en Python, se recomienda utilizar la misma versión con la que se creó el código.
Uncompyle6: este software permite descompilar programas en python archivos creados en cualquier versión de Python. Sin embargo, es posible que presenta algunas incompatibilidades con las versiones superiores a Python 3.7. En este caso, se puede utilizar el software denominado Decompile3, el cual ha sido creado específicamente con este propósito.
Unpy2exe: este script puede ser descargado directamente desde Python. Es importante tener en cuenta qué para descompilar un archivo que contiene código creado en cualquier variante de la versión 2 de Python, deberá utilizarse con la variante de la versión 2.
El proceso para descompilar programas en python archivos ejecutables escritos en Python es relativamente sencillo. Por supuesto, cada software tiene sus características propias, pero en términos generales se sigue la misma secuencia.
Esto es así porque se sigue el principio de la ingeniería inversa. Dicho en términos sencillos, la ingeniería está destinada a construir aplicaciones, y la ingeniería inversa tiene como propósito revertir todos los procesos implicados en la construcción de los programas.
Por eso, lo primero es descompilar el archivo .exe. Después de esto, se tomará el script en formato de bytecode, con la extensión .pyc. Por último, de este proceso se obtiene un archivo en formato .py, el cual corresponde al texto plano del código fuente de la aplicación.
Es en este archivo en el que se deben realizar todas las modificaciones pertinentes. Sin embargo, es posible que se haya utilizado la técnica de ofuscado para ocultar el código fuente de la aplicación. En este caso habrá que realizar un análisis minucioso para detectar cuáles son las líneas de código correctas. Esto puede lograrse si se buscan patrones de sintaxis de lenguaje que corresponda a una estructura lógica.
Con todo, el hecho que Python sea de código abierto hace que este lenguaje de programación este accesible para todos los desarrolladores. Por lo tanto, como norma general, es muy complicado ofuscar el código escrito en este lenguaje, por lo que normalmente encontrarás textos plenamente legibles.
Diseño Web Grupo Codesi