Codice sorgente
Il plugin è distribuito con il codice sorgente C# completo. Per compilare il plugin dal codice sorgente ti servono:
- Visual Studio 2022 o versione successiva
- L’ultimo rilascio di Babel Obfuscator, edizione Enterprise o Ultimate
Istruzioni per la build
Apri il file di soluzione di Visual Studio, Babel.BabelEncrypt.sln, e compila il progetto. Il progetto del plugin fa riferimento a babel.exe, la build per .NET Framework dello strumento da riga di comando, nella cartella in cui hai estratto il pacchetto zip babel_net472. Se il riferimento a babel.exe non viene trovato, rimuovilo e aggiungi babel.exe da quella cartella.
Modificare il codice
Se intendi modificare il codice sorgente, questa pagina offre un riferimento rapido e alcuni suggerimenti utili per orientarti e partire senza difficoltà .
File sorgente
Il progetto Encrypt Plugin contiene i seguenti file.
EncryptPlugin.cs
Questo file contiene la classe EncryptPlugin, che implementa l’interfaccia dei plugin di Babel. Il plugin registra la classe del servizio di cifratura delle stringhe che Babel Obfuscator usa per cifrare le stringhe. Gli argomenti passati sulla riga di comando di babel vengono elaborati qui, quando il plugin viene inizializzato.
StringEncrypter.cs
La classe StringEncrypter fornisce il servizio di cifratura delle stringhe. Contiene il codice che integra il decifratore nel target di offuscamento e implementa i metodi di cifratura per gli algoritmi XOR e HASH. Il metodo Encrypt(...) è il punto di ingresso, chiamato da Babel Obfuscator durante la fase di cifratura delle stringhe, in cui la stringa viene elaborata dal cifratore XOR o HASH. Al termine della fase di cifratura viene chiamato il metodo Terminate(), che memorizza i dati cifrati nel target. In fase di esecuzione, il codice di decifratura incorporato recupera i dati cifrati nel target offuscato.
StringDecrypter.cs
Questo file contiene tutta la logica di decifratura che viene unita all’assembly target. Poiché le classi di questo file devono essere compilate e unite durante l’esecuzione del plugin, il file è compilato come risorsa incorporata (Embedded Resource) della DLL del plugin.
Per controllare temporaneamente la sintassi del codice o apportare modifiche al codice, puoi cambiare la Build Action da Embedded Resource a Compile. Dopo aver apportato tutte le modifiche, puoi tornare a Embedded Resource e avviare il debug delle modifiche.
Eseguire il debug del plugin
Per eseguire il debug del plugin, apri le proprietà del progetto Babel.BabelEncrypt, seleziona la pagina delle proprietà Debug e crea un nuovo profilo. Poi imposta la seguente configurazione:
Configurazione di debug
Executable (eseguibile)
<cartella di estrazione>\babel.exe, per esempio C:\Tools\Babel\babel.exe (la cartella in cui hai estratto il pacchetto zip)
Command line arguments (argomenti della riga di comando)
MyApp.exe @ -v5 —stringencrypt custom —plugin BabelEncrypt.dll
Dove MyApp.exe è l’assembly target che viene offuscato con il plugin.