Cos'è un Obfuscator?
Un offuscatore è un processo o un dispositivo destinato a rendere un programma più difficile da comprendere. Generalmente, l'approccio dell'offuscatore è quello di prendere un programma che sia relativamente semplice e rendere il codice sottostante più complesso. Mentre è improbabile che l'utente finale noti una differenza nel modo in cui il codice viene eseguito, la funzione dell'offuscatore rende più difficile l'hacking del codice e dirottare il programma. Da questo punto di vista, l'utilizzo di questo tipo di strumento può essere visto come una misura di sicurezza.
Il nome del dispositivo o del processo è preso in prestito dalla parola "offuscata", che si riferisce al complicare una presentazione verbale nel tentativo di confondere o confondere. Allo stesso modo, l'offuscatore cerca di rendere perplesso il processo di comprensione del codice. Ciò rende sostanzialmente più difficile l'indebolimento del codice, poiché la vera carne del codice è così profondamente sepolta o offuscata che è difficile estrarre le parti funzionali essenziali del codice.
Esistono diversi linguaggi di programma che tendono a rispondere molto bene al processo di offuscamento. Il C ++ è tra le lingue più diffuse e consente di utilizzare un offuscatore con relativa facilità senza corrompere la funzione del codice di base. Allo stesso modo, C e Perl tendono anche a funzionare bene con l'uso dell'offuscamento, rendendo relativamente facile aggiungere un elemento di protezione a qualsiasi programmazione scritta in questi tre linguaggi.
Mentre lo scopo di un offuscatore è quello di rendere intenzionalmente più difficile svelare il codice, è anche necessario assicurarsi che le persone autorizzate a lavorare con la programmazione possano farlo senza essere ostacolate dal processo di offuscamento. A tal fine, è possibile utilizzare varie tecniche per elaborare le complicazioni aggiunte e arrivare al codice di base. Questo processo è noto come reverse engineering, poiché comporta essenzialmente l'annullamento delle complicazioni al fine di vedere il quadro reale. Il programma di divisione è un esempio di tecniche di reverse engineering utilizzate per de-offuscare un set di codice.
Mentre l'offuscatore fornisce un certo grado di protezione, è importante rendersi conto che questo processo non dovrebbe essere l'unico mezzo di sicurezza impiegato per proteggere la programmazione. Altre strategie di sicurezza dovrebbero anche essere impiegate per garantire che gli inserimenti malevoli non vengano ricevuti dalla rete e consentano loro di inserirsi nei codici esistenti.