web-dev-qa-db-fra.com

Est-il possible de décompiler un fichier .pyc compilé en un fichier .py?

Est-il possible d'obtenir des informations à partir du fichier .pyc généré à partir d'un fichier .py?

138
Howard

Uncompyle6 fonctionne pour Python 3 et 2.7 - option recommandée en tant qu’outil le plus récent, visant à unifier les versions antérieures et à se concentrer sur les tests automatisés.

Uncompyle2 prend en charge Python 2.7 uniquement. Cela a bien fonctionné pour moi il y a quelque temps de décompiler le bytecode .pyc en .py, alors que unpyclib plantait avec une exception.

128
RichVel

Oui, vous pouvez l’obtenir avec unpyclib qui se trouve sur pypi .

$ pip install unpyclib

Que vous pouvez décompiler votre fichier .pyc

$ python -m unpyclib.application -Dq path/to/file.pyc
30
Pokutnik

Vous pouvez essayer Easy Python Decompiler. Il est basé sur Decompyle ++ et Uncompyle2 . Il supporte la décompilation des versions python 1.0-3.3

Note: Je suis l'auteur de l'outil ci-dessus.

25
Extreme Coders

Decompyle ++ (pycdc) a été le seul qui a fonctionné pour moi: https://github.com/zrax/pycdc

a été suggéré dans Decompile Python 2.7 .pyc

12
Kenneth Hoste

Oui c'est possible.

Il existe un décompilateur Python (.PYC) open source parfait, appelé Decompyle ++ https://github.com/zrax/pycdc/

Decompyle ++ vise à convertir le code d'octet Python compilé en code source Python valide et lisible par l'homme. Tandis que d'autres projets y sont parvenus avec des succès variés, Decompyle ++ est unique en ce qu'il cherche à prendre en charge le code octet à partir de n'importe quelle version de Python. 

4
Andrew Rukin

Je ne sais pas si c'est bon, mais une recherche rapide sur Google a révélé decompyle .

0
Carl Norum

Installez à l'aide de Pip install pycompyle6

pycompyle6 nomfichier.pyc

0
Banik Kuntal