
Framework de transformación y desofuscación de código Python basado en AST

Noctyra es un framework basado en AST diseñado para la transformación y desofuscación de código. Proporciona un pipeline modular para analizar y simplificar código fuente Python mediante la resolución de expresiones y lógica complejas.
El proyecto busca ofrecer un entorno flexible para procesar el Árbol de Sintaxis Abstracta de Python. Al emplear una secuencia de transformadores conectables, Noctyra puede:
Asegúrate de tener uv instalado para la gestión de dependencias.
uv sync
Para procesar un script objetivo, usa el siguiente comando:
python main.py <input_file> [options]
Opciones:
file: Ruta al archivo Python de entrada (obligatorio).--output: Nombre del archivo para el código transformado (por defecto: out.py).--iterations: Establece un número fijo de pasadas de transformación (por defecto: 0 para detección automática).--max-iterations: Limita las pasadas en modo automático (por defecto: 100).--debug: Habilita el registro detallado para depurar las transformaciones (se ve genial).Este proyecto usa uv para la gestión de dependencias y un Makefile para tareas comunes.
uv sync --all-extras --dev
Antes de enviar un PR o subir cambios, asegúrate de que todas las comprobaciones pasen:
make testmake formatmake typecheck(Usuarios de Windows: Estos comandos funcionan automáticamente mediante make.bat.)
Se realizan comprobaciones automatizadas en cada push mediante GitHub Actions, que incluyen linting con Ruff, verificación de tipos con Mypy y pruebas unitarias con Pytest.
Noctyra incluye un motor de evaluación interno con límites básicos de recursos. Sin embargo, al trabajar con código no confiable, se recomienda encarecidamente ejecutar el pipeline dentro de un entorno aislado (como un contenedor o sandbox) para evitar posibles efectos secundarios o agotamiento de recursos.