Skip to Content
Nuova versione 12 disponibile 🎉

Valori supportati

La cifratura di valori e array può essere abilitata in modo indipendente per ogni tipo di dati, così puoi proteggere solo ciò che conta e lasciare intatto il resto. Vedi Configurazione per sapere come selezionarli.

Cifrati

TipoChe cosa viene protetto
int32Costanti intere a 32 bit: tutte le forme di ldc.i4, compresi i valori piccoli, -1 e int.MinValue/int.MaxValue. Poiché le costanti C# byte, sbyte, short, ushort, char, bool ed enum vengono compilate come caricamenti int32, anche queste sono protette da questa opzione.
int64Costanti intere a 64 bit (long/ulong).
singleCostanti a virgola mobile a 32 bit (float).
doubleCostanti a virgola mobile a 64 bit (double) e valori letterali decimal (i cui componenti sono memorizzati come costanti intere).
arrayArray inline di elementi primitivi inizializzati da un blob di dati: array di int, byte, sbyte, short, long, double, float, char, bool e di enumerazioni, come int[] a = { 1, 2, 3 };.

Lasciati invariati

Perché il programma offuscato si comporti esattamente come l’originale, alcuni dati inline deliberatamente non vengono trasformati e sono emessi così come sono:

  • Array non inizializzati da un unico blob di dati primitivi: array multidimensionali (int[,]), array irregolari (int[][]) e array di struct o di altri tipi riferimento. Il compilatore li costruisce elemento per elemento anziché da un blob cifrabile, quindi i singoli elementi restano comunque soggetti alla cifratura dei valori numerici, dove applicabile.
  • Costanti stringa: sono coperte dalla funzionalità dedicata di cifratura delle stringhe, non dalla cifratura dei valori.

Abilitare tutti i tipi dà la protezione più ampia; usa un sottoinsieme quando devi nascondere solo determinati tipi di dati o vuoi ridurre al minimo l’overhead in fase di esecuzione descritto in Prestazioni.

Last updated on