
Framework di trasformazione e deoffuscamento del codice Python basato su AST

Noctyra è un framework basato su AST progettato per la trasformazione e la deoffuscazione del codice. Fornisce una pipeline modulare per analizzare e semplificare il codice sorgente Python risolvendo espressioni e logiche complesse.
Il progetto mira a fornire un ambiente flessibile per l'elaborazione dell'Abstract Syntax Tree di Python. Impiegando una sequenza di trasformatori pluggabili, Noctyra può:
Assicurati di avere uv installato per la gestione delle dipendenze.
uv sync
Per elaborare uno script di destinazione, usa il seguente comando:
python main.py <file_input> [opzioni]
Opzioni:
file: Percorso del file Python di input (obbligatorio).--output: Nome del file per il codice trasformato (default: out.py).--iterations: Imposta un numero fisso di passaggi di trasformazione (default: 0 per rilevamento automatico).--max-iterations: Limita i passaggi in modalità automatica (default: 100).--debug: Abilita il logging verboso per il debug delle trasformazioni. (look sick)Questo progetto utilizza uv per la gestione delle dipendenze e un Makefile per le attività comuni.
uv sync --all-extras --dev
Prima di inviare una PR o di eseguire il push delle modifiche, assicurati che tutti i controlli siano superati:
make testmake formatmake typecheck(Utenti Windows: questi comandi funzionano automaticamente tramite make.bat.)
I controlli automatici vengono eseguiti ad ogni push tramite GitHub Actions, inclusi linting con Ruff, type checking con Mypy e test unitari con Pytest.
Noctyra include un motore di valutazione interno con limiti di risorse di base. Tuttavia, quando si ha a che fare con codice non fidato, è altamente consigliato eseguire la pipeline all'interno di un ambiente isolato (come un contenitore o una sandbox) per prevenire potenziali effetti collaterali o esaurimento delle risorse.