0p4n1k/Noctyra

GitHub: 0p4n1k/Noctyra

一款基于抽象语法树的模块化 Python 代码去混淆框架,通过可插拔转换器流水线将混淆代码还原为可读形式。

Stars: 13 | Forks: 0

# Noctyra ![Noctyra 演示](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/90b76d94a0135540.gif) ![Python 版本](https://img.shields.io/badge/python-3.14%2B-blue) ![状态](https://img.shields.io/badge/status-experimental-orange) Noctyra 是一个基于 AST 的框架,专为代码转换和去混淆而设计。它提供了一个模块化的流水线,通过解析复杂的表达式和逻辑,来分析和简化 Python 源代码。 ## 概述 该项目旨在为处理 Python 的抽象语法树提供一个灵活的环境。通过采用一系列可插拔的转换器,Noctyra 可以: - 简化嵌套的逻辑和条件。 - 解析静态值和常见的编码模式。 - 将动态执行块展开为可读的代码。 - 优化和清理混淆的构造。 ## 入门指南 ### 前置条件 请确保已安装 `uv` 以进行依赖管理。 ``` uv sync ``` ### 运行流水线 要处理目标脚本,请使用以下命令: ``` python main.py [options] ``` **选项:** - `file`:输入的 Python 文件路径(必填)。 - `--output`:转换后代码的文件名(默认:`out.py`)。 - `--iterations`:设置固定的转换遍数(默认:`0` 表示自动检测)。 - `--max-iterations`:在自动模式下限制遍数(默认:`100`)。 - `--debug`:启用详细日志记录以调试转换。(看起来很酷) ## 开发 本项目使用 `uv` 进行依赖管理,并使用 `Makefile` 处理常见任务。 ### 安装说明 ``` uv sync --all-extras --dev ``` ### 质量控制 在提交 PR 或推送更改之前,请确保所有检查均已通过: - **运行测试**:`make test` - **代码检查与格式化**:`make format` - **类型检查**:`make typecheck` *(Windows 用户:这些命令可以通过 `make.bat` 自动运行。)* ### CI/CD 每次推送时都会通过 GitHub Actions 执行自动化检查,包括使用 Ruff 进行代码检查、使用 Mypy 进行类型检查,以及使用 Pytest 进行单元测试。 ## 安全提示 Noctyra 包含一个带有基本资源限制的内部求值引擎。然而,在处理不受信任的代码时,强烈建议在隔离环境(例如容器或沙箱)中运行流水线,以防止潜在的副作用或资源耗尽。 *Readme.md 由 Gemini CLI 和我共同维护*
标签:odt, Python, 云安全监控, 代码优化, 代码美化, 代码转换, 反混淆, 开源, 抽象语法树, 无后门, 脱壳, 自动化payload嵌入, 静态分析, 静态去混淆