Plugin di Babel Obfuscator
Babel Obfuscator supporta plugin personalizzati che permettono di estendere le funzionalità dell’offuscatore oltre a quelle disponibili di serie. Con un plugin personalizzato puoi:
- Creare i tuoi algoritmi di cifratura di stringhe e valori
- Rinominare simboli come tipi, metodi, proprietà , eventi e campi
- Unire codice personalizzato al tuo assembly
- Definire regole di offuscamento interrogando i metadati dell’assembly
- Modificare il codice dell’assembly
- E molto altro…
I plugin personalizzati possono essere sviluppati con il framework .NET e integrati in Babel tramite l’interfaccia di gestione dei plugin.
Esempi di codice
Su GitHub sono disponibili diversi plugin per Babel, con il codice sorgente incluso. Se vuoi implementare un plugin personalizzato, puoi usare questi plugin di esempio come punto di partenza. Per scaricare la soluzione che contiene tutti i progetti dei plugin, usa il comando git:
git clone https://github.com/babelfornet/BabelPlugins.gitCosì puoi esplorare il codice e modificare i plugin secondo le tue esigenze.
Usare un plugin dalla riga di comando
Babel accetta un elenco di file di plugin dalla riga di comando. Per specificare uno o più file di plugin sulla riga di comando di babel.exe, puoi usare l’opzione --plugin seguita dal percorso completo del file del plugin:
babel MyApp.exe --plugin CustomPlugin1.dll --plugin CustomPlugin2.dllPuoi passare argomenti ai plugin con l’opzione della riga di comando --argument
babel MyTarget.exe --plugin CustomPlugin1.dll --plugin CustomPlugin2.dll
--argument arg1=value1 --argument arg2=value2Gli argomenti sono definiti come coppie chiave-valore. Puoi usare più opzioni --argument per specificare più argomenti.
Usare un plugin nel task Babel di MSBuild
Se usi il task Babel di MSBuild, puoi specificare un elenco di plugin aggiungendo l’attributo Plugins al task Babel, come segue:
<ItemGroup>
<BabelPlugin Include="DesEncrypt.dll"/>
<BabelPlugin Include="LicenseInjector.dll"/>
</ItemGroup>
<Babel
Plugins="@(BabelPlugin)"
PluginsArguments="arg1=value1;arg2=value2" />La proprietà PluginsArguments del task Babel ti permette di specificare gli argomenti per tutti i plugin. L’elenco degli argomenti dei plugin è una sequenza di coppie chiave-valore separate da punto e virgola.
Usare i plugin da Babel Desktop
Per usare un plugin per un assembly target in Babel Desktop:
- Seleziona l’assembly target sul canvas del progetto.
- Nel gruppo File e dipendenze del pannello delle proprietà , aggiungi la DLL del plugin a
Plugins. Il comando Plugin del motore: Configura percorsi DLL della tavolozza comandi porta alla stessa opzione. - Esegui Plugin del motore: Rileva nomi degli argomenti dalla tavolozza comandi per elencare gli argomenti accettati dal plugin, poi inseriscine i valori in
PluginsArguments.
I plugin vengono eseguiti all’interno del motore di offuscamento con i permessi del tuo account, quindi carica solo DLL di plugin di cui ti fidi.