Algoritmo personalizzato
La cifratura personalizzata delle stringhe ti permette di definire i tuoi metodi per cifrare e decifrare le stringhe, così da personalizzarne l’offuscamento. Per usarla devi definire due metodi specifici nell’assembly target: EncryptString e DecryptString. Entrambi i metodi devono avere la stessa firma: accettano una stringa come parametro e restituiscono una stringa, che rappresenta rispettivamente la stringa cifrata o quella decifrata. Con questi metodi puoi implementare qualsiasi algoritmo di cifratura personalizzato per cifrare le stringhe del tuo codice, con maggiore adattabilità e controllo sul processo di offuscamento.
/// <summary>
/// Encrypt a string.
/// </summary>
/// <param name="text">The string to encrypt.</param>
/// <returns>The encrypted string.</returns>
[Obfuscation(Feature = "string encryption encrypt method")]
internal static string EncryptString(string text)
{
// Encrypt the text string and return the encrypted string object.
return ...;
}
/// <summary>
/// Decrypt an encrypted string.
/// </summary>
/// <param name="text">The encrypted string.</param>
/// <returns>The decrypted string.</returns>
[Obfuscation(Feature = "string encryption decrypt method")]
internal static string DecryptString(string text)
{
// Decrypt the text string and return the decrypted string object.
return ...;
}I metodi EncryptString e DecryptString sono contrassegnati dall’attributo Obfuscation con un’apposita stringa Feature, che permette a Babel di individuare nel codice i punti di ingresso per la cifratura e la decifratura delle stringhe.
Dopo aver definito i metodi EncryptString e DecryptString e averli contrassegnati con l’attributo Obfuscation appropriato, puoi abilitare la cifratura personalizzata delle stringhe con Babel.
Puoi attivare la cifratura personalizzata delle stringhe in Babel Desktop, dalla riga di comando o con il task MSBuild.
Babel Desktop
In Babel Desktop, seleziona l’assembly e imposta StringEncryption su custom nel gruppo Cifratura codice del pannello delle proprietà .
Inoltre, per personalizzare ed estendere ulteriormente le capacità di cifratura, Babel supporta l’integrazione di plugin esterni. Questa funzionalità consente un meccanismo di cifratura più flessibile e robusto, adattato alle esigenze specifiche e ai requisiti di sicurezza della tua applicazione.
Riga di comando
Per abilitare la cifratura personalizzata delle stringhe di Babel dalla riga di comando, puoi inserire il comando:
babel myapp.exe --strings customTask Babel di MSBuild
Se usi il task Babel, puoi abilitare la cifratura personalizzata delle stringhe aggiungendo quanto segue al tuo file di progetto:
<PropertyGroup>
<StringEncryption>custom</StringEncryption>
</PropertyGroup>
<Babel StringEncryption="$(StringEncryption)" ... />Puoi inoltre implementare la cifratura personalizzata delle stringhe con plugin esterni (vedi Plugin di Babel Obfuscator).