反编译 Python 2.7 .pyc
我到处找,但就是找不到一个能用来处理Python 2.7的.pyc文件的反编译器。有没有人知道有哪个可以用在Python 2.7上的吗?谢谢!
5 个回答
26
Decompyle++(也叫pycdc)似乎可以支持多种版本的Python。你可以在这里找到它的相关信息: https://github.com/zrax/pycdc
举个例子:
git clone https://github.com/zrax/pycdc
cd pycdc
make
./bin/pycdc Example.pyc > Example.py
85
如果还有人像我今天早上那样在这个问题上挣扎,我找到了一种对我有效的解决方案:
安装说明:
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
这个反编译器会添加一些杂音,主要是以注释的形式出现,不过我发现它对我原来的代码还挺干净和忠实的。你需要在恢复的文件末尾删除一行以+++开头的文本,才能运行你的代码。
21
更新(2019-04-22) - 听起来你现在想用 uncompyle6,而不是我之前提到的那些方法。
这个似乎可以用: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。