用pycdc批量反编译pyc文件

import os
import subprocess

# 配置区
pyc_dir = r"pycdir"  # .pyc 文件所在目录
output_dir = r"outpuydempile"                        # 输出目录
pycdc_path = r"pycdc.exe"                               # pycdc 可执行文件路径

# 创建输出目录
os.makedirs(output_dir, exist_ok=True)

# 遍历 .pyc 文件
for root, dirs, files in os.walk(pyc_dir):
    for file in files:
        if file.endswith(".pyc"):
            pyc_path = os.path.join(root, file)

            # 构造输出路径,保持目录结构
            rel_path = os.path.relpath(root, pyc_dir)
            out_folder = os.path.join(output_dir, rel_path)
            os.makedirs(out_folder, exist_ok=True)
            py_file_path = os.path.join(out_folder, file.replace(".pyc", ".py"))

            # 调用 pycdc 反编译
            try:
                subprocess.run([pycdc_path, pyc_path], stdout=open(py_file_path, "w", encoding="utf-8"), check=True)
                print(f"[+] 反编译成功: {pyc_path} -> {py_file_path}")
            except Exception as e:
                print(f"[-] 反编译失败: {pyc_path}, 错误: {e}")

print("[✅] 批量反编译完成")

 

posted @ 2025-08-14 11:42  daviyoung  阅读(100)  评论(0)    收藏  举报