一款使用ai来反编译pyc文件的工具 (支持python3.13)

pycdc-studio

pycdc-studio 是一个基于 Qt Widgets 的桌面图形界面,用来配合 pycdc / pycdas 浏览 Python 字节码、查看原生反编译结果,并在原生反编译不完整时使用 AI fallback 对指定函数、方法或类体进行重建。

为什么会做这个项目

做这个项目的一个很直接的原因是:

Python 更新太快了,尤其到了 Python 3.13 这类新版本,字节码变化更多,适配难度也明显更高。

这就导致市面上不少反编译工具,虽然能处理一部分旧版本,但面对新的 Python 版本时,往往会出现适配滞后。很多时候不是完全不能用,而是会卡在某些函数、某些类体、某些新版本特性上。

而我做这个项目时,最想解决的一个场景就是:

让它能更好地处理 Python 3.13 的字节码。

所以我就想,能不能换一种思路:

  • 原生反编译工具继续负责它擅长的部分
  • 当遇到不支持的字节码节点时
  • 把当前函数、方法或者类体的上下文交给 AI 去做兜底重建

这样一来,就不需要一开始就把所有新字节码都硬适配到原生反编译器里,而是先通过一个更实用的混合方案,把结果做出来。

最后做出来的效果我自己觉得还不错,尤其在 Python 3.13 相关样例上,AI fallback 确实能补上一部分原生反编译不完整的地方。

目前我主要用的是 DeepSeek

  • 量大管饱
  • 成本也比较低
  • 实际反编译出来的效果也还蛮不错的

所以这个项目本质上不是想完全替代传统反编译器,而是想做一个:

面向 Python 3.13 等新版本字节码场景的,原生反编译 + AI fallback 混合工作台。

核心功能

  • 直接打开 .pyc / .pyo
  • 支持拖入单个文件整个文件夹
  • 自动解析并展示 code object 树
    • module
    • class
    • function
    • method
    • lambda / comprehension
  • 对比三种结果:
    • Merged
    • Native
    • AI
  • 查看每个节点对应的:
    • 反汇编结果
    • 元数据
    • AI 提示词
    • 日志
  • 支持将当前文件的 合并结果导出
  • 支持中英文界面切换

AI Fallback

程序默认不会把整个 .pyc 一次性发给 AI。

它会基于当前选中的 code object,组织出更小粒度的上下文,例如:

  • qualified name
  • object type
  • names / locals / consts
  • native error
  • disassembly

这样可以让 AI 更聚焦当前失败节点,而不是整个文件。

当前 AI 配置方式是:

  • Settings / 设置 中填写
    • Base URL
    • API Key
    • Model
  • 接入的是 兼容 OpenAI 的 API

界面预览

主工作区

设置页

AI 重建效果

适合的场景

  • 浏览 .pyc / .pyo 结构
  • 辅助分析 Python 字节码
  • 查看 pycdc 原生反编译结果
  • 对不支持的 code object 做 AI 辅助重建
  • 导出当前文件的 merged 结果继续整理

项目特点

  • 原生桌面界面,轻量直接
  • 不是一次性"全文件 AI 重建",而是节点级 fallback
  • 能同时看到:
    • 原生结果
    • AI 结果
    • 反汇编
    • Prompt 上下文
  • 更适合用来做"分析工具"而不是单纯黑盒反编译

项目地址

如果你觉得这个项目对你有帮助,欢迎给项目点个 Star ,非常感谢。

也非常欢迎任何 IssuePR

相关推荐
万岳科技程序员小金2 小时前
互联网医院解决方案:在线问诊系统源码+AI智慧分诊APP开发方案
人工智能·软件开发·互联网医院系统源码·在线问诊系统源码·医疗问诊小程序·智慧分诊平台·智慧医院系统开发
Thomas.Sir2 小时前
第五章:RAG知识库开发之【利用RAG知识库实现智能AI系统:从零构建企业级智能问答应用】
人工智能·python·vue·状态模式·fastapi·智能
gc_22992 小时前
学习python调用pymupdf库将pdf文件转换为图片的基本用法
python·pymupdf
饼干哥哥2 小时前
跨境电商用OpenClaw做GEO,屠杀传统谷歌SEO流量
人工智能
console.log('npc')2 小时前
什么是Prompt工程?
人工智能
wenzhangli72 小时前
技能化与智能协作:ooderAgent 重构 AI 原生软件范式
人工智能·重构
Rabbit_QL2 小时前
AI 编程助手中的两种“角色“:开发角色与业务角色
人工智能·状态模式
若天明2 小时前
Harness Engineering & 驾驭工程 & 智能体长时间运行机制系列 - 2
人工智能·深度学习·ai·智能体·智能体系统·harness·harness工程
PC_Clinic2 小时前
技术不只向前,也能回头看。老照片翻新修复,让遗忘的重新被记起
图像处理·人工智能·生活