Condividi tramite


Obiettivo dell'offuscamento

L'obiettivo dell'offuscamento consiste nel creare confusione. La confusione riduce la capacità della mente umana di comprendere complessi concetti intellettuali. Ciò non comporta l'alterazione della logica eseguibile, ma consente solo di rappresentarla in modo incomprensibile. Oltre a rendere l'output incomprensibile per la mente umana, l'utilizzo di uno strumento di offuscamento efficiente su istruzioni di programma leggibili, può impedire la corretta esecuzione di un decompilatore. Sebbene la logica eseguibile venga mantenuta, la semantica inversa viene resa non deterministica. Di conseguenza, qualsiasi tentativo di decodificare le istruzioni in un "sottolinguaggio di programmazione", come C# o VB, avrà probabilmente esito negativo a causa dell'ambiguità della conversione. L'offuscamento completo genera numerose possibilità di decompilazione, alcune delle quali possono determinare una logica errata in caso di ricompilazione. Il sistema di elaborazione del decompilatore non è in grado di riconoscere le opzioni che potrebbero essere ricompilate con una semantica valida. Poiché i decompilatori vengono creati e utilizzati per automatizzare algoritmi di decompilazione eccessivamente complessi per la mente umana, qualsiasi offuscatore in grado di impedire la corretta esecuzione di un decompilatore costituisce un ostacolo ancora maggiore per un essere umano che tenti di completare lo stesso processo.

Gli offuscatori di base rinominano essenzialmente gli identificatori individuati nel codice assegnando nomi illeggibili. A questo scopo, è possibile utilizzare tecniche di hash oppure eseguire l'offset aritmetico del set di caratteri in caratteri illeggibili o non stampabili. Sebbene apparentemente efficienti, queste tecniche risultano reversibili e offrono quindi una protezione estremamente limitata. Gli strumenti di offuscamento di PreEmptive offrono funzionalità significativamente superiori rispetto a questo approccio di ridenominazione di base, grazie ad avanzati meccanismi in grado di "creare confusione" e rendere pertanto pressoché impossibile la decodifica della proprietà intellettuale altrui.

© 2002-2007 PreEmptive Solutions. Tutti i diritti riservati.