8

我正在尝试反编译一些 .pyc 文件 - 只需要它们的一些基本数据,我听说最适合它的是 Uncompyle2,

所以我安装了 Python27(Win),然后我从https://github.com/wibiti/uncompyle2安装了 Uncompyle2 - 到目前为止一切正常,现在我尝试了解如何使用它,自述文件说我需要写信uncompyle2 --h给获得更多帮助,我收到了这条“未定义”消息,接下来我尝试通过import uncompyle2解释器导入脚本,我认为模块已加载(在我输入uncompyle2解释器后它说,它从 加载函数__init__)但仍然可以'如果我尝试做任何事情,它会说“语法错误”(即使我像自述文件一样键入所有内容),也无法获得它的任何功能来工作,并且--h也不起作用,

我做错了什么?

顺便说一下,我试图找到一些在线转换器,但是由于 int 的 2.6.4 python 编译文件我找不到任何东西,可以使用它。

4

4 回答 4

13

来自空闲

import uncompyle2
with open("uncompiled file.py", "wb") as fileobj:
    uncompyle2.uncompyle_file("afile.pyc", fileobj)

结果应该是您未编译的源代码。

编辑 2/15/18

对于 python 3,使用uncompyle 6并以“w”模式(不是“wb”)打开输出文件

import uncompyle6
with open("uncompiled file.py", "w") as fileobj:
    uncompyle6.uncompyle_file("afile.pyc", fileobj)
于 2013-08-20T04:52:34.870 回答
1

要从命令行(例如 PowerShell)运行,您需要在 Scripts 中运行脚本 uncompyle2,如果您将 Python 安装到 C:\Python,则可能在 C:\Python\Scripts 中。这将反编译文件 somefile.pyc 并在 c:\temp 中创建文件 decompiled.py

PS C:\Python\Scripts> python .\uncompyle2 -oc:\temp\decompiled.py somefile.pyc

于 2014-08-18T16:21:17.440 回答
1

刚刚在https://github.com/wibiti/uncompyle2重试了版本

但它没有被进口。我不得不搜索图书馆,发现它已被重命名......所以这是对我有用的代码:

import uncompyle6
with open("uncompiled file.py", "wb") as fileobj:
    uncompyle6.uncompyle_file("yourpycfile.pyc", fileobj)
于 2017-09-16T09:34:09.337 回答
1

我只是添加到接受的答案以从同一个目录中完成所有操作,uncompiled file.py尝试从其他地方运行它时我得到一个空文件夹。整个剧本

import os

#this should be /folder_where_py_filtes_were/__pycache__/ in python3
os.chdir("C:\Dir where my pyc is")
import uncompyle2
with open("uncompiled file.py", "wb") as fileobj:
    uncompyle2.uncompyle_file("afile.pyc", fileobj)

除了你这个人user2682863!保存了我的项目

于 2016-05-30T04:38:52.010 回答