最近我做了一个小项目,名字叫 pycdc-studio。
它是一个基于 Qt Widgets 的桌面应用,用来配合 pycdc / pycdas 做 Python 字节码分析、反编译结果查看,以及在原生反编译效果不理想的时候,提供 AI 辅助重建能力。
项目地址:https://github.com/ddouworld/pycdc-studio
很多做逆向、样本分析、代码恢复或者安全研究的朋友,应该都遇到过类似问题:
- 某些函数、类、嵌套 code object 反编译失败后,排查效率很低
pycdc-studio 就是我为这类场景做的一个桌面工作台。
它不是重新做一个反编译器,而是在现有 pycdc / pycdas 的基础上,补上一个更适合实际分析工作的图形界面。

你可以直接打开 .pyc / .pyo 文件,也可以把一个目录直接拖进窗口,程序会递归扫描其中的字节码文件。扫描出来的文件和内部的 code object,会集中展示在左侧树形结构里,模块、类、函数、lambda、推导式这些节点都可以逐级查看。
中间区域会展示三种结果:
其中 Native 是 pycdc 的原生结果,AI 是对失败或不完整节点的辅助重建结果,Merged 则是当前更方便阅读的组合视图。
右侧则会展示更多分析上下文,比如反汇编、节点元数据、AI prompt 和运行日志。这样在分析时,不只是“看到一个结果”,而是能看到这个结果背后的上下文。
在 AI 这部分,我有一个很明确的目标:不要让 AI 变成黑盒。
所以 pycdc-studio 默认不会把整个 .pyc 一次性丢给模型,而是围绕当前选中的 code object 来组织 prompt。比如它会把这个节点的 qualified name、对象类型、局部变量信息、常量预览、native error、disassembly 等上下文拼出来,再交给模型做针对性重建。
这样做有几个好处。
第一,信息更聚焦。第二,token 消耗更低。第三,分析人员可以清楚看到 AI 到底是基于什么上下文给出结果。
也就是说,这个工具不是简单“接一个 AI 接口”,而是尽量把整个恢复过程做成可观察、可理解、可调试的形式。
目前这个项目已经支持 Windows 和 Linux 桌面环境,适合在本地作为一个轻量级分析工具来使用。对于经常需要查看 Python 字节码、研究 .pyc 文件结构、辅助恢复源码的朋友来说,它会比单纯跑命令行顺手很多。
这个项目现在还是实验性质,但核心工作流已经基本具备了:
如果你平时会接触 Python 逆向、恶意样本分析、加壳还原、脚本恢复,或者只是单纯对 Python 字节码感兴趣,欢迎试试看。
如果你觉得这个方向有价值,也欢迎提 issue、提建议,或者直接一起来完善它。
项目地址再次放一下:https://github.com/ddouworld/pycdc-studio