是否有可能从.py文件生成的.pyc文件中获取一些信息?
当前回答
我已经在这几个小时,终于有一个解决方案使用decompyle++:
访问https://cmake.org/download/并安装CMake。 访问https://github.com/zrax/pycdc并获取该repo的副本:pycdc-master。 将C:\Program Files\CMake\bin添加到PATH下的系统环境变量中。
我建议将pycdc-master文件夹放到另一个文件夹中,比如anotherFolder。
现在你可以在命令行中运行这些命令:
cd anotherFolder进入包含pycdc-master的文件夹。 cmake pycdc-master cd . ./上一个目录, 然后:cmake——构建另一个文件夹
pycdc.exe将在另一个文件夹\Debug中。
执行像pycdc.exe这样的程序,只希望得到mycodeback。Pyc,它会打印出源代码。我有Python 3.9.6的源代码,没有其他工作。
其他回答
安装使用 PIP安装pycompyle6
pycompyle6 filename.pyc
是的,你可以在pypi上找到unpyclib。
$ pip install unpyclib
然后你可以反编译你的.pyc文件
$ python -m unpyclib.application -Dq path/to/file.pyc
decompyle++ (pycdc)是唯一适合我的:https://github.com/zrax/pycdc
在Decompile Python 2.7 .pyc
如果你需要反编译pyc,但是已经安装了python 3.9,你可以强制uncompyle6运行。这并不完美,但确实有效。只需编辑site-packages\uncompyle6\bin\uncompile.py即可
def main_bin():
if not (sys.version_info[0:2] in ((2, 6), (2, 7), (3, 0),
(3, 1), (3, 2), (3, 3),
(3, 4), (3, 5), (3, 6),
(3, 7), (3, 8), (3, 9)
只需要将您已经安装的版本以与其他版本相同的格式添加并保存即可。它至少可以运行。
您可以尝试Easy Python反编译器。它基于decompyle++和Uncompyle2。 它支持python 1.0-3.3版本的反编译
注意:我是上述工具的作者。
推荐文章
- 证书验证失败:无法获得本地颁发者证书
- 当使用pip3安装包时,“Python中的ssl模块不可用”
- 无法切换Python与pyenv
- Python if not == vs if !=
- 如何从scikit-learn决策树中提取决策规则?
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 将旋转的xtick标签与各自的xtick对齐
- 为什么元组可以包含可变项?
- 如何合并字典的字典?
- 如何创建类属性?
- 不区分大小写的“in”
- 在Python中获取迭代器中的元素个数
- 解析日期字符串并更改格式
- 使用try和。Python中的if
- 如何在Python中获得所有直接子目录