反编译Python 2.7 .pyc

我已经上下search,但是找不到一个可以用于Python 2.7 .pyc的解编译器。 有人知道一个将为Python 2.7工作吗? 谢谢

这听起来像它的工作: http : //code.google.com/p/unpyc/

问题8说它支持2.7: http : //code.google.com/p/unpyc/updates/list

更新(2013-09-03) – 正如在评论和其他答案中指出的,你应该看看https://github.com/wibiti/uncompyle2或https://github.com/gstarnberger/uncompyle而不是unpyc。;

如果有人还在为此而苦苦挣扎,就像今天整个上午一样,我find了一个适合我的解决scheme:

Uncompyle

安装说明:

git clone https://github.com/gstarnberger/uncompyle.git cd uncompyle/ sudo ./setup.py install 

一旦程序被安装(注意:它将被安装到你的系统范围的Python包中,所以它应该在你的$PATH ),你可以像这样恢复你的Python文件:

 uncompyler.py thank_goodness_this_still_exists.pyc > recovered_file.py 

反编译器主要以评论的forms增加了一些噪音,但是我发现它对我的原始代码来说是非常干净和忠实的。 您将不得不删除在恢复的文件末尾附近以+++开头的一行文本,以便能够运行您的代码。

Decompyle ++(pycdc)似乎适用于一系列python版本: https : //github.com/zrax/pycdc

例如:

 git clone https://github.com/zrax/pycdc cd pycdc make ./bin/pycdc Example.pyc > Example.py 

这是一个反编译pyc文件的好工具。

它由我编码,并支持python 1.0 – 3.3

它基于uncompyle2和decompyle ++

http://sourceforge.net/projects/easypythondecompiler/

Ned Batchelder发布了一个简短的脚本 ,它将解组一个.pyc文件并反汇编任何代码对象,这样你就可以看到Python字节码。 它看起来像更新版本的Python,你需要注释掉设置modtime并打印它的行(但不要注释设置moddate的行)。

尽pipe理论上可行,但将其重新转换为Python源代码会稍微困难一些。 我认为所有这些程序都适用于较旧版本的Python。