Risultati dell’esecuzione
Dopo un’esecuzione, Babel Desktop assegna un punteggio alla protezione di ogni target e conserva le statistiche raccolte dal motore, così puoi verificare che l’esecuzione abbia applicato ciò che ti aspettavi.
Punteggio di offuscamento
Dopo un’esecuzione completata, il riquadro di ogni target mostra un punteggio di offuscamento da 0 a 100: un modo rapido per verificare che l’esecuzione abbia applicato le protezioni che ti aspettavi. Tieni il puntatore sul target per aprire il riquadro.



Il punteggio di offuscamento di un target che unisce quattro assembly
Il punteggio somma i punti di cinque strati di protezione. Ogni barra mostra i punti ottenuti da uno strato rispetto al suo massimo, quindi un punteggio basso ti dice quale strato manca.
| Strato | Punti | Come si ottengono |
|---|---|---|
| Ridenominazione | 30 | La quota dei simboli idonei che sono stati rinominati |
| Flusso di controllo | 25 | La quota dei metodi che sono stati riorganizzati. I metodi senza diramazioni non vengono toccati, quindi basta la metĂ dei metodi per ottenere tutti i punti |
| Cifratura stringhe | 15 | Stringhe cifrate |
| Protezione del codice | 15 | Cifratura MSIL (7), chiamate tramite proxy dinamico (4) e cifratura dei valori (4) |
| Anti-analisi | 15 | Rilevamento delle manomissioni, protezione dal debug e soppressione di ILDASM, 5 punti ciascuno |
Il punteggio è classificato come Debole sotto 35, Discreto da 35, Buono da 60 e Robusto da 80. Si basa sulle statistiche dell’ultima esecuzione completata del progetto. Gli assembly uniti a un target contribuiscono al suo punteggio e non ne mostrano uno proprio. Un target che non è ancora stato eseguito non mostra alcun punteggio.
Il punteggio conta le protezioni applicate da un’esecuzione e non dice nulla su quanto a lungo il risultato resista a un determinato strumento. Un punteggio più basso può essere quello giusto: una libreria con un’API pubblica mantiene i propri nomi pubblici, quindi ottiene meno punti di ridenominazione.
Statistiche di protezione
Dopo un’esecuzione, Risultati in basso a sinistra nel canvas, oppure il pulsante Risultati esecuzione della barra degli strumenti della griglia, apre le statistiche di protezione. Scegli un’esecuzione dalla cronologia, un assembly offuscato e un report:
| Report | Contenuto |
|---|---|
| Ridenominazione | Tipi, metodi, campi, proprietĂ ed eventi rinominati e totali, con un grafico della copertura |
| Flusso di controllo | Metodi riorganizzati, istruzioni di salto inserite e iterazioni, con una treemap per namespace e tipo e, quando vengono raccolte le statistiche complete, la complessitĂ ciclomatica prima e dopo la trasformazione |
| Cifratura stringhe | L’algoritmo di cifratura e le stringhe cifrate per metodo |
| Cifratura codice | I metodi cifrati per namespace e tipo |
| Proxy dinamico | Le chiamate sostituite da proxy e i tipi delegate, per metodo di destinazione |
| Ottimizzazioni | Rimozione del codice inutilizzato e contatori delle ottimizzazioni |
| Tempo di esecuzione | La durata di ogni fase del motore |
Puoi cercare nelle tabelle e ordinarle, e nelle treemap puoi scendere dal namespace al tipo. Mostra output, Mostra log del motore e Mostra dati statistici aprono la cartella di output, il log completo del motore e il file con i dati statistici grezzi dell’esecuzione. Babel Desktop conserva i risultati delle ultime 30 esecuzioni.



Statistiche di ridenominazione



Statistiche del flusso di controllo
I file delle statistiche contengono i nomi originali dei simboli e i valori delle stringhe. Come i file map XML, non vanno distribuiti insieme all’applicazione.