Riga di comando
Babel Obfuscator fornisce uno strumento da riga di comando per Windows, macOS e Linux. Questa sezione descrive come usare Babel Obfuscator dalla riga di comando.
Babel Obfuscator è disponibile come strumento da riga di comando, facile da integrare nella pipeline di build per automatizzare il processo di offuscamento. Lo strumento da riga di comando, chiamato “babel”, ti permette di specificare con facilità gli assembly di input, il file di output e le varie opzioni di offuscamento. Per avviare babel dalla riga di comando, apri PowerShell su Windows o il Terminale su macOS e digita:
> babelIl comando “babel” avvia l’eseguibile babel, lo strumento da riga di comando. Il comando accetta la seguente sintassi:
babel <primary assembly source> [<other assemblies>...] [options]Il primo parametro, <primary assembly source>, è l’assembly target (o assembly principale) che vuoi offuscare ed è obbligatorio.
[<other assemblies>…] è un elenco facoltativo di assembly che verranno uniti all’assembly principale.
[options] è un elenco di opzioni della riga di comando che configurano Babel Obfuscator. Ogni opzione è preceduta da un doppio trattino, per esempio:
--embed
Raggruppare le opzioni della riga di comando
Le opzioni della riga di comando possono essere raggruppate con la sintassi breve. Usa un trattino singolo per inserire più opzioni in un’unica espressione:
babel myapp.exe --types --methods --properties --fields --events
equivale a:
babel myapp.exe -tmpfe
Per visualizzare tutte le opzioni della riga di comando disponibili, digita:
babel --helpPer visualizzare la descrizione dettagliata di ogni opzione della riga di comando, digita:
babel --help [command name]Per esempio
babel --help controlflowvisualizza la guida dettagliata dell’opzione controlflow:
> babel --help controlflow
controlflow (nocontrolflow, no-controlflow, control-flow, no-control-flow, i)
usage: --[no]controlflow
Enable ([no]disable) MSIL control flow obfuscation (default: disabled)
Use this option to alter the method control flow.
Key-value pairs can optionally be entered to configure code scrambling:
Produces verifiable MSIL code
goto=[on/off] Whether to insert irrelevant branches
switch=[on/off] Whether to enable switch scrambling
case=[on/off] Whether to hide case constants
if=[on/off] Whether to enable if scrambling
call=[on/off] Whether to enable random calls
value=[on/off] Whether to use value encryption
token=[on/off] Whether to enable emission of method tokens
Produces not verifiable MSIL code
underflow=[on/off] Whether to enable stack underflow ()
Examples:
--controlflow switch=on --controlflow case=on
This option can be entered multiple times. Output compatibile con l’AI e leggibile dalle macchine (dalla versione 11.7.0)
Babel Obfuscator può anche emettere su stdout un flusso strutturato per le pipeline di CI
e le integrazioni con AI e agenti. Usa --format=json o --format=ndjson per passare
allo schema babel.cli.v1, eventualmente insieme a --quiet (nessun logo, errore davanti alle
richieste interattive) e a --strict-exit (codici di uscita semantici 10/20/30/40/50).
La stessa opzione rende leggibili dalle macchine anche --help e --version.
Vedi Modalità compatibile con l’AI per il riferimento completo.