Pyc怎么转Py?PyLingual 部署教程

Pyc怎么转Py?PyLingual 部署教程
古有 uncompyle6 破码,今有 PyLingual 当家。
PyLingual 是一款基于深度学习的 Python 字节码(.pyc)反编译工具,
定位是解决传统反编译工具(如 uncompyle6)处理「损坏 / 加密 / 混淆字节码」时的失效问题,
同时兼顾普通字节码的快速反编译需求。
简单点说,把pyc转换成py,比uncompyle6更现代,(但也很慢,家用电脑10分钟起步)。
| 工具 | 反编译能力(针对哪个版本的 .pyc) |
|---|---|
| uncompyle6 | 1.0 —— 3.8(再往后不支持) |
| PyLingual | 3.6 —— 3.13(专注于现代版本) |
谁需要用?
普通开发者丢代码了,想还原。
安全研究员分析恶意代码。
部署教程
我平时用的是Anaconda来管理环境
想要和本教程完全一样操作,可以先去安装Anaconda,我往期有教程
一、用 Anaconda 准备基础环境
PyLingual 要求必须在 Python 3.12 下运行。
我们需要
- 打开 Anaconda Prompt (或终端)。
- 创建一个干净的 3.12 环境:
打开Anaconda,

创建一个干净的 3.12 环境:
| |

激活该环境
| |

二、安装官方指定的 Poetry 2.0+
项目明确要求 poetry>=2.0。在激活的环境中安装它:
| |

三、克隆代码与下载包
找放代码的地方,建一个新的文件夹,


进入文件夹:

下载源代码,然后进入文件夹
| |
| |

告诉 Poetry 不要自己再去创建虚拟环境,直接用当前的 Conda 环境
| |
执行安装
| |

可能的问题
中间网络不好,下载pytorch出问题
换国内源下载
| |

如果其它包安装也报错 ,就手动下载
| |
最后执行
| |
成功安装

四、配置多版本支持 (pyenv)
这是 PyLingual 能跨版本反编译的“灵魂”。
作者在 README 中提到:“Some parts require the ability to compile bytecode in a different Python version.”
- Windows: 必须安装
pyenv-win。 - Linux/Mac: 必须安装
pyenv。 - 安装后必做:你需要安装几个目标版本,否则遇到对应的
.pyc时程序会报错。
Windows下载pyenv
管理员打开PowerShell

复制执行
| |

配置环境变量


在弹出的窗口里点击右下角的 “环境变量”。
在 “用户变量” (上半部分) 中点击 “新建”:(27598换成你自己的名字)
- 变量名:
PYENV - 变量值:
C:\Users\27598\.pyenv\pyenv-win\
在同一个“用户变量”列表里找到 Path,双击它,点击右边的 “新建”,分别添加以下两行:
%PYENV%\bin%PYENV%\shims
一直点“确定”,把所有窗口都关掉。
重启你的 Anaconda Prompt
注意: 关闭你现在所有的命令行窗口(包括刚才那个蓝色 PowerShell 和你的 Anaconda Prompt),然后重新打开一个新的 Anaconda Prompt。
在新的窗口里输入:
| |

我的建议:先装“三巨头”
这三个版本覆盖了目前市面上 90% 以上的 Python 字节码:
3.8.10:很多老项目和稳定版工具仍在使用。
3.10.11:引入了 Match Statement(模式匹配),是很多现代库的分水岭。
3.11.9:性能大幅提升后的普及版本。
以后需要别的按需求再安装
| |

查看 pyenv 已经安装的版本
| |

五、基本使用流程
工作流
1.打开 Anaconda Prompt
2.激活环境
| |
防止环境干扰(可选)
| |
3.进入想反编译的pyc目录
| |
4.执行反编译
基础用法:pylingual -o [输出文件夹] [目标文件.pyc]
这个是完整深度学习版,很慢,适合加密过的
| |
第一次先用这个,不行再用上面的
| |


常用参数详解(这几个最有用)
为了让你用得更顺手,这几个“开关”建议记一下:
| 参数 | 作用 | 什么时候用 |
|---|---|---|
-o | 指定输出目录 | 必带。不然你不知道代码飞到哪去了。 |
-v | 指定 Python 版本 | 自动检测失败时手动指定(如 -v 3.8)。 |
--trust-lnotab | 省 CPU 神器 | 如果你觉得电脑太卡,加上这个。它会跳过 AI 模型推理,直接用字节码里的行号。 |
-q | 安静模式 | 如果你不想看满屏的进度条和日志。 |

如果安装过程中遇到问题,可以在评论区留言。
如果需要远程操作,也可以主页找我。
如果这篇文章对你有帮助,记得点个赞。想看更多Python技术教程,也可以关注我。
我是悟空爬虫-马彪,我们下期再见。
交流群
欢迎进群聊聊天,吹吹水。
