Ottimizzazioni
Babel Obfuscator può eseguire una serie di ottimizzazioni che riguardano sia il codice sia i metadati. Queste ottimizzazioni comprendono varie tecniche per migliorare l’efficienza, la dimensione e la sicurezza del codice offuscato. Ottimizzando il codice, Babel punta a migliorarne le prestazioni e a ridurne l’ingombro, rendendolo più veloce e più compatto. Allo stesso tempo, le ottimizzazioni dei metadati rendono il codice più difficile da capire e riducono la probabilità che un tentativo di reverse engineering riesca. Combinando ottimizzazioni del codice e dei metadati, Babel Obfuscator offre un approccio completo per migliorare la qualità e la protezione del codice offuscato.
Babel Obfuscator offre un’ampia gamma di ottimizzazioni per migliorare il codice offuscato. Queste ottimizzazioni comprendono:
- Rimozione del codice inutilizzato
Babel individua e rimuove il codice che non verrà mai eseguito in fase di esecuzione, compresi metodi, proprietà , campi e tipi inutilizzati. - Ottimizzazioni dei metadati
a) Sigillatura automatica delle classi: Babel sigilla automaticamente le classi per migliorare le prestazioni, grazie alle ottimizzazioni che il CLR applica alle chiamate di membri non virtuali. Inoltre, la sigillatura delle classi impedisce l’ereditarietà e le modifiche, aggiungendo un ulteriore strato di protezione.
b) Rimozione degli attributi personalizzati: Babel elimina gli attributi personalizzati superflui, riducendo la dimensione dei metadati.
c) Rimozione dei tipi System.Enum: Babel rimuove i tipi System.Enum che potrebbero rivelare informazioni.
d) Rimozione dei metadati di proprietà ed eventi (Disgregate Removal): Babel rimuove i costrutti di proprietà ed eventi, snellendo il codice e riducendone la complessità . - Ottimizzazioni del codice
a) Espansione inline: Babel espande inline i metodi o le proprietà di piccole dimensioni nel codice chiamante, riducendo l’overhead delle chiamate di funzione e migliorando le prestazioni.
b) Rimozione dei campi costanti: Babel rimuove i campi const dal codice, riducendone la dimensione e migliorando la sicurezza.
Nel loro insieme, queste ottimizzazioni puntano a migliorare le prestazioni, la dimensione e la sicurezza del codice offuscato. Rimuovendo il codice inutilizzato, ottimizzando i metadati e migliorando il codice stesso, Babel Obfuscator produce una versione del codice più snella, più efficiente e più difficile da capire.
Babel Desktop
Seleziona l’assembly sul canvas del progetto e, nel pannello delle proprietà , abilita le ottimizzazioni che ti servono nel gruppo Ottimizzazione: DeadCodeElimination, InlineExpansion, SealClasses e le opzioni di rimozione di attributi e metadati. Dopo l’esecuzione del progetto, la vista Risultati mostra le statistiche di ottimizzazione. Vedi Progetti di offuscamento per sapere come lavorare con i progetti in Babel Desktop.