Configuration
Vous pouvez configurer le proxy dynamique depuis l’interface en ligne de commande (CLI), la tâche MSBuild Babel ou Babel Desktop.
Ligne de commande
Babel Obfuscator permet d’activer la protection par proxy dynamique avec l’option --proxy de l’interface en ligne de commande. Cette option configure Babel pour générer des proxys pour les appels de méthodes externes et internes. Vous pouvez aussi spécifier la liste des filtres de proxy dynamique, selon vos besoins.
La ligne de commande suivante configure Babel Obfuscator pour générer des proxys dynamiques uniquement pour les appels de méthodes externes.
babel myapp.exe --proxy externalAvec l’exemple ci-dessous, Babel Obfuscator génère des proxys dynamiques pour les appels de méthodes externes et internes.
babel myapp.exe --proxy allCette ligne de commande définit quelques expressions de filtre de proxy dynamique (voir Filtres).
babel myapp.exe --proxy ICollection.* --proxy IEnumerator.*Tâche MSBuild Babel
<PropertyGroup>
<DynamicProxy>external=true;internal=true;true</DynamicProxy>
<DynamicProxyCallFilters>ICollection.*;IEnumerator.*</DynamicProxyCallFilters>
</PropertyGroup>
<Babel DynamicProxy="$(DynamicProxy)"
DynamicProxyCallFilters="$(DynamicProxyCallFilters)" />Babel Desktop
Sélectionnez l’assembly sur le canevas du projet et, dans le panneau des propriétés, réglez DynamicProxy, dans le groupe Chiffrement du code, sur le type de proxy dynamique à générer. L’option DynamicProxyCallFilters du même groupe reçoit la liste des filtres d’appel. Voir Projets d’obfuscation pour savoir comment utiliser les projets dans Babel Desktop.
Vous pouvez aussi définir les filtres d’appel règle par règle : ouvrez la vue Règles XML de l’assembly dans Babel Desktop, puis créez une règle ou modifiez une règle existante pour y inclure les filtres voulus. Dans les propriétés de la règle XML, spécifiez les expressions régulières correspondant aux appels de méthodes que vous voulez faire passer par un proxy.
<Rules>
<Rule name="rule1" feature="dynamic proxy" exclude="false" applyToMembers="true">
<Pattern>*</Pattern>
<Description>Set Dynamic Proxy Call Filters</Description>
<Properties>
<DynamicProxyCallFilters>IEnumerator.*</DynamicProxyCallFilters>
</Properties>
</Rule>
</Rules>