Skip to Content
Nuova versione 12 disponibile 🎉

Eseguire il progetto

Un’esecuzione offusca ogni target del progetto con il motore di Babel Obfuscator, nell’ordine dei rispettivi flussi, e scrive gli assembly protetti accanto agli input.

Avviare un’esecuzione

Fai clic su Esegui progetto in alto a destra nella barra degli strumenti, premi Ctrl+Enter (Cmd+Enter su macOS) oppure scegli Esegui > Esegui offuscamento.

A meno che un target non imposti un proprio percorso di output, l’assembly offuscato viene scritto in una cartella BabelOut accanto a ogni assembly di input. Prima di avviare l’esecuzione, Babel Desktop controlla dove verrà scritto l’output. Non sovrascrive mai un assembly di input, un file di chiave o un plugin. Quando esistono file di output di un’esecuzione precedente, li elenca sotto Sostituire i file di output esistenti? e attende Sovrascrivi i file elencati o Annulla.

I target vengono eseguiti uno dopo l’altro nell’ordine dei loro flussi. Se un target fallisce, quelli successivi non vengono eseguiti. Annulla elaborazione nel pannello Attività, oppure Esegui > Annulla, interrompe l’esecuzione.

Il pannello Attività

Il pannello Attività si apre nella parte inferiore della finestra quando parte un’esecuzione. Il pulsante Attività in alto a destra nella barra degli strumenti lo mostra e lo nasconde, e puoi trascinarne il bordo superiore per cambiarne l’altezza.

L’intestazione mostra lo stato dell’elaborazione (In esecuzione, Completato, Non riuscito o Annullato), la fase in corso e il target su cui sta lavorando, la percentuale e il tempo. Due schede contengono l’output del motore:

  • Registro elenca tutti i messaggi che il motore scrive al Verbose Level del target. Restano visibili gli ultimi 5.000 messaggi; la riga sotto il log indica quanti erano in tutto, e il testo completo del motore di ogni esecuzione viene salvato con i suoi risultati.
  • Problemi raccoglie gli avvisi e gli errori, ciascuno con il proprio codice, per esempio W00013. Il numero accanto al nome della scheda ti dice se c’è qualcosa da leggere.
Pannello Activity dopo un'esecuzione completata di BubbleBurst.exe sulla scheda Problems con il conteggio 4: quattro avvisi W00013 che segnalano che gli assembly PresentationFramework, System.Xaml e PresentationCore non sono stati risolti, con a destra il 100% e la durata dell'esecuzionePannello Activity dopo un'esecuzione completata di BubbleBurst.exe sulla scheda Problems con il conteggio 4: quattro avvisi W00013 che segnalano che gli assembly PresentationFramework, System.Xaml e PresentationCore non sono stati risolti, con a destra il 100% e la durata dell'esecuzionePannello Activity dopo un'esecuzione completata di BubbleBurst.exe sulla scheda Problems con il conteggio 4: quattro avvisi W00013 che segnalano che gli assembly PresentationFramework, System.Xaml e PresentationCore non sono stati risolti, con a destra il 100% e la durata dell'esecuzione

Gli avvisi di un’esecuzione nella scheda Problemi

Durante l’esecuzione, ogni target mostra il proprio stato sul suo nodo e nelle colonne Stato e Avanzamento della griglia. Al termine dell’esecuzione, la barra di stato mostra lo stato dell’elaborazione e, se ci sono stati avvisi, un conteggio degli avvisi che apre la scheda Problemi.

Canvas dopo un'esecuzione: il nodo del target BubbleBurst.exe risulta completato, il pannello Activity mostra il badge Completed, le schede Log e Problems con 3 problemi, il 100 percento e la parte finale del log del motore, che termina con il tempo totale trascorso e 3 avvisi, e il pulsante Results è abilitatoCanvas dopo un'esecuzione: il nodo del target BubbleBurst.exe risulta completato, il pannello Activity mostra il badge Completed, le schede Log e Problems con 3 problemi, il 100 percento e la parte finale del log del motore, che termina con il tempo totale trascorso e 3 avvisi, e il pulsante Results è abilitatoCanvas dopo un'esecuzione: il nodo del target BubbleBurst.exe risulta completato, il pannello Activity mostra il badge Completed, le schede Log e Problems con 3 problemi, il 100 percento e la parte finale del log del motore, che termina con il tempo totale trascorso e 3 avvisi, e il pulsante Results è abilitato

Un’esecuzione completata nel pannello Attività

Avvisi

Un avviso non interrompe l’esecuzione: il target viene contrassegnato come Completato con avvisi. Leggi comunque gli avvisi, perché spesso indicano una dipendenza che il motore non ha trovato o un’impostazione che non ha avuto effetto.

  • Strumenti: Avvisi del processo nella tavolozza comandi elenca gli avvisi dell’esecuzione corrente.
  • Strumenti: Riferimento degli avvisi apre il catalogo dei codici di avviso del motore, con le relative descrizioni e una casella di ricerca.
Finestra della guida agli avvisi del motore con una casella di ricerca e un elenco di codici di avviso come CF0001, CF0002, EI0001 e EM0001Finestra della guida agli avvisi del motore con una casella di ricerca e un elenco di codici di avviso come CF0001, CF0002, EI0001 e EM0001Finestra della guida agli avvisi del motore con una casella di ricerca e un elenco di codici di avviso come CF0001, CF0002, EI0001 e EM0001

La guida agli avvisi del motore

Un avviso che indica che il motore non è riuscito a risolvere un assembly, come quelli della scheda Problemi mostrata in precedenza, di solito significa che un assembly referenziato non si trova accanto all’input. Aggiungi la sua cartella nella scheda Cartelle di ricerca dei dettagli della griglia, oppure aggiungi l’assembly come dipendenza di tipo riferimento.

L’output e l’applicazione offuscata

Dopo un’esecuzione, i pulsanti in alto a destra nel pannello Attività aprono la cartella di output e avviano l’applicazione offuscata. File > Mostra output, Mostra output nella barra di stato ed Esegui > Avvia app offuscata (Ctrl+F5, Cmd+F5 su macOS) fanno lo stesso per il target selezionato. Babel Desktop avvia direttamente un eseguibile Windows, mentre avvia un’applicazione .NET tramite dotnet quando è disponibile il suo file .runtimeconfig.json. Non propone di avviare una libreria.

Eseguire i flussi in parallelo

Un progetto con più flussi indipendenti, per esempio librerie che non si referenziano a vicenda, può offuscarli contemporaneamente. Attiva Esegui in parallelo i flussi indipendenti in Impostazioni > Offuscamento e scegli quanti flussi eseguire insieme, da 2 a 4. L’opzione è disattivata per impostazione predefinita.

Ogni flusso viene eseguito in un proprio processo del motore, e all’interno di un flusso i target vengono comunque eseguiti in ordine. Babel Desktop controlla l’intero progetto prima che parta qualsiasi flusso, come fa per un’esecuzione singola. Mentre i flussi sono in esecuzione:

  • L’indicatore di avanzamento conta i target completati rispetto a quelli pianificati, e ogni riga del log inizia con il nome del suo assembly, per esempio [Library1.dll].
  • Un target che fallisce interrompe il proprio flusso. Gli altri flussi proseguono e l’esecuzione viene segnalata come non riuscita.
  • Annulla elaborazione interrompe tutti i flussi.
  • Quando più target richiedono la password di un certificato, Babel Desktop le chiede una alla volta, indicando l’assembly che ne ha bisogno.

Ogni processo del motore impiega un paio di secondi ad avviarsi, quindi l’esecuzione in parallelo fa risparmiare tempo con assembly di grandi dimensioni. Un progetto piccolo può finire prima eseguendo un target dopo l’altro. Con una licenza flottante, Babel Desktop esegue un flusso alla volta.

Dopo l’esecuzione

Al termine di un’esecuzione puoi verificare quanto è protetto ogni target e tradurre gli stack trace riportati dall’applicazione offuscata.

  • Risultati dell’esecuzione mostra il punteggio di offuscamento di ogni target e le statistiche di protezione dell’esecuzione.
  • Il Decodificatore stack riporta ai nomi originali gli stack trace offuscati, usando i file map XML dell’esecuzione.
Last updated on