
Framework de transformation et de désobfuscation de code Python basé sur l'AST

Noctyra est un framework basé sur AST conçu pour la transformation et la désobfuscation de code. Il fournit un pipeline modulaire pour analyser et simplifier le code source Python en résolvant des expressions et logiques complexes.
Le projet vise à fournir un environnement flexible pour traiter l'arbre syntaxique abstrait de Python. En employant une séquence de transformateurs enfichables, Noctyra peut :
Assurez-vous d'avoir uv installé pour la gestion des dépendances.
uv sync
Pour traiter un script cible, utilisez la commande suivante :
python main.py <input_file> [options]
Options:
file: Chemin vers le fichier Python d'entrée (obligatoire).--output: Nom du fichier pour le code transformé (par défaut : out.py).--iterations: Définit un nombre fixe de passes de transformation (par défaut : 0 pour détection automatique).--max-iterations: Limite le nombre de passes en mode automatique (par défaut : 100).--debug: Active la journalisation détaillée pour déboguer les transformations. (a l'air génial)Ce projet utilise uv pour la gestion des dépendances et un Makefile pour les tâches courantes.
uv sync --all-extras --dev
Avant de soumettre une PR ou de pousser des modifications, assurez-vous que toutes les vérifications passent :
make testmake formatmake typecheck(Utilisateurs Windows : ces commandes fonctionnent automatiquement via make.bat.)
Des vérifications automatisées sont effectuées à chaque push via GitHub Actions, incluant le linting avec Ruff, la vérification de type avec Mypy, et les tests unitaires avec Pytest.
Noctyra inclut un moteur d'évaluation interne avec des limites de ressources de base. Cependant, lorsqu'il s'agit de code non fiable, il est fortement recommandé d'exécuter le pipeline dans un environnement isolé (tel qu'un conteneur ou un bac à sable) pour éviter les effets secondaires ou l'épuisement des ressources.