Jump to content
icemonster2

De .exe para .py

Recommended Posts

icemonster2

Boas. Eu tenho ao longo de 2 anos desenvolvido um programa que distribuo a 5 ou 6 pessoas à medida que faço uma versão melhor. O que acontece é que o pc onde programava pifou, o backup que fiz do programa está desatualizado por isso a única coisa que tenho do programa é o executável que fiz upload para essas pessoas poderem sacar, que é a versão mais atualizada que existe neste momento. Fiz download do meu executável para o meu novo computador e agora pergunto-me se será possível, a partir do executável, obter o código que programei, de modo a continuar o desenvolvimento do programa.

Cumprimentos: Ice_Monster

Share this post


Link to post
Share on other sites
thoga31

Suponho que criaste o exe com o py2exe. Seja um exe qualquer ou seja um exe feito através de um script Python, a reversão do processo é extremamente complicada, isto porque, por exemplo, o executável não sabe exactamente o nome das variáveis que tu definiste. O processo de compilação envolve vários passos que acabam por alienar em parte o código original.

No caso do py2exe a coisa complica-se: no exe tu tens o script, as bibliotecas importadas e o próprio interpretador Python. Não sei até que ponto será possível separar estes componentes e recuperar o código (ele nunca seria recuperado tal como era antes, creio).

O meu conselho é simples: mantém um backup dos códigos-fonte noutra source que não o PC. Programas destinados a clientes, seja pago seja gratuito, sejam os clientes amigos ou não, é sempre de fazer um backup de tudo e de todas as versões. ;)

Se descobrires alguma forma de reverter o processo, avisa.

Cumprimentos.

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other sites
yyajsayy

Olá, como mencionado se fizeste uso do py2exe para criação do executável provavelmente é possível obter o código-fonte do projecto, de forma indireta.

Esse ficheiro EXE seguiu normas e padrões na sua construção, essas foram especificadas pelo py2exe. Para fazeres a reversão os passos mencionados abaixo deverão resultar.

  1. Fazer download do unpy2exe para extrair o .pyc (lembraste dele?)
  2. Em seguida fazes download do pyREtic para obter o código-fonte (python).

A sintaxe de uso será semelhante a:

  1. unpy2exe.py [-h] [-o OUTPUT_DIR] [-p PYTHON_VERSION] filename
  2. REpdb.py set_project [new project name]
  3. fs_um_decompile [location of pyc file]

Por outro lado, podes usar este projeto, se quiseres simplificar o processo.

http://code.google.com/p/py2exe-extract/

Tenta as duas alternativas :thumbsup:

Boa continuação!


"If it don't work the first time, rename it to version 1.0."

http://seguranca-informatica.pt

Share this post


Link to post
Share on other sites
icemonster2

Devia ter especificado, o programa de python que usei para compilar foi o pyinstaller.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.