Skip to Content
Nouvelle version 12 disponible 🎉
ObfuscatorPackage NuGet

Package NuGet Ultimate

Les packages NuGet de Babel Obfuscator permettent d’exécuter Babel sur toute machine de build ou tout serveur de CI doté du SDK .NET, sous Windows, Linux et macOS, sans installer le produit.

Babel Obfuscator fournit deux packages NuGet. Tous deux sont livrés avec l’édition Ultimate et avec les éditions de site de Babel Licensing (Server et Data Center), et aucun n’est publié sur nuget.org : vous les recevez avec le produit et les hébergez sur un flux privé ou dans un dossier local, comme décrit dans Configuration du package.

PackageCe qu’il apporte
Babel.ObfuscatorIntégration au build. Référencer le package ajoute la tâche MSBuild Babel au projet et l’exécute au bon moment du build, de sorte que dotnet build, dotnet publish et Visual Studio produisent une sortie obfusquée. L’essentiel de cette section porte sur ce package.
Babel.Obfuscator.ToolLa ligne de commande babel fournie sous forme d’outil dotnet, pour l’obfuscation par script en dehors du build. Voir Outil Babel Obfuscator.

Pourquoi le package plutôt que la tâche Babel

Vous pouvez toujours ajouter la tâche Babel à un projet à la main. Le package le fait pour vous, et il résout aussi un problème difficile à résoudre à la main dans les projets de style SDK : le SDK .NET exécute plusieurs étapes au niveau de l’IL après la compilation (résolution des dépendances, découpage ou trimming, regroupement en fichier unique, compilation anticipée), et l’obfuscation doit avoir lieu avant toutes ces étapes. Le package insère la tâche Babel juste après le compilateur, sur l’assembly du dossier intermédiaire obj, de sorte que toutes les étapes suivantes du build travaillent sur l’assembly obfusqué. Voir Pipeline de build.

Au-delà du placement, le package :

  • Fournit les outils de build Babel pour chaque hôte MSBuild pris en charge, c’est-à-dire MSBuild pour .NET Framework, Mono et le SDK .NET de 6.0 à 10.0, et choisit automatiquement le bon.
  • Configure la tâche Babel à partir de ce que le projet connaît déjà : les répertoires de recherche des assemblies d’après les références du projet, la clé de nom fort, les symboles de débogage, le fichier de règles et le fichier de licence.
  • Ignore les builds au moment de la conception dans Visual Studio et les builds incrémentiels où le compilateur ne s’est pas exécuté, ce qui préserve la réactivité de l’IDE.
  • Maintient la cohérence de dotnet publish lorsque des assemblies sont fusionnés ou incorporés, en mettant à jour le fichier .deps.json et l’ensemble des fichiers à publier.

Configuration requise

  • Un SDK .NET de 6.0 à 10.0, Visual Studio 2022 ou une version ultérieure, ou MSBuild pour Mono. Les projets .NET Framework générés avec MSBuild.exe sont également pris en charge.
  • Une licence valide : un fichier babel.licenses ou une clé de licence (voir Activer la licence). Sans licence, le package s’exécute en mode d’évaluation et les assemblies obfusqués cessent de fonctionner après une courte période.
  • Le package hébergé sur un flux NuGet accessible à votre build (voir Installation).

Démarrage rapide

Ajouter le package

Ajoutez le package Babel.Obfuscator à votre flux, ou à un dossier local déclaré comme source de packages.

Référencer le package

Référencez le package depuis le projet à obfusquer :

<ItemGroup> <PackageReference Include="Babel.Obfuscator" Version="12.0.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> </ItemGroup>

Fournir la licence

Copiez babel.licenses dans le dossier de la solution, ou définissez la propriété BabelLicense.

Configurer l’obfuscation

Ajoutez les paramètres d’obfuscation souhaités sous forme de propriétés MSBuild, par exemple :

<PropertyGroup Condition="'$(Configuration)' == 'Release'"> <StringEncryption>stream</StringEncryption> <ControlFlowObfuscation>if=on;switch=on;call=on</ControlFlowObfuscation> <ResourceEncryption>true</ResourceEncryption> </PropertyGroup>

Générer

Générez le projet. Le journal de Babel apparaît dans la sortie du build et l’assembly de sortie est obfusqué.

Sortie de Babel Obfuscator dans Visual Studio

Dans cette section

  • Configuration du package : héberger le package, ajouter la référence, activer la licence et vérifier le premier build.
  • Configurer l’obfuscation : les propriétés et les éléments MSBuild qui pilotent toutes les fonctionnalités de Babel, y compris les paramètres introduits dans la version 12.
  • Pipeline de build : où s’exécute l’obfuscation, comment la déplacer, les cibles que vous pouvez étendre, la publication et la sélection des outils de build.
  • Outil Babel Obfuscator : la ligne de commande babel sous forme d’outil dotnet.
  • Référence du package : toutes les propriétés, tous les éléments et toutes les cibles définis par le package, et la correspondance avec les attributs de la tâche Babel.

Exemples

Les exemples suivants du manuel utilisent le package NuGet Babel Obfuscator.

Last updated on