SuperAPI AI 工具集

re-python

编程与开发

查看项目

更新于 10-15 21:35

技能介绍

用途:分析 Python 打包或加固样本,包括 PyInstaller 单文件/目录 exe、PyArmor 加固样本、.pyc 文件、Nuitka/Cython 编译产物及 Python 恶意软件打包样本。纯 .py 源码混淆应转 re-script-deob,模型权重(pkl/onnx)转 re-ai-model。

主要能力:识别打包器(file、strings 查 PyInstaller/_MEIPASS/pyi-/PyArmor 特征);PyInstaller 解包(pyinstxtractor-ng 或 python pyinstxtractor.py,产出 _extracted 目录、PYZ-00.pyz 与主脚本 pyc);PyArmor 解包(PyArmor-Unpacker,按版本选方法);pyc 版本识别(读前 2 字节 magic,对照 3.6–3.12 常见值,3.13+ 按本机 MAGIC_NUMBER 换算);pyc 头布局(3.7+ 16 字节:magic+flags+mtime+size,PyInstaller 解出时后三者为 0 属正常);反编译(pycdc main.pyc > main_decompiled.py,或匹配版本 python 的 dis/marshal 兜底);清理 PyArmor confusion code,定位加密/网络/外泄逻辑。

必要用法:python3 --version 验证运行时;pip install pyinstxtractor-ng;git clone https://github.com/Svenskithesource/PyArmor-Unpacker;git clone https://github.com/zrax/pycdc && cd pycdc && cmake . && make。解包/反编译为静态步骤,动态取明文需进沙箱。

限制:pyc 版本不匹配会导致反编译失败,须先识别 magic;hash-based pyc(PEP 552)flags 低 1 位为 1,反编译不受影响;PyArmor 版本差异可能使解包器失效;Cython/Nuitka 无 pyc,需直接分析产物;3.13+ 工具支持滞后;混淆器内部格式非文档化接口,结论须标注精确版本,跨版本不假设可用。