Exécuter le projet
Une exécution obfusque toutes les cibles du projet avec le moteur de Babel Obfuscator, dans l’ordre de leurs flux, et écrit les assemblies protégés à côté des entrées.
Lancer une exécution
Cliquez sur Exécuter le projet en haut à droite de la barre d’outils, appuyez sur Ctrl+Enter (Cmd+Enter sous macOS) ou choisissez Exécution > Lancer l’obfuscation.
Sauf si une cible définit son propre chemin de sortie, l’assembly obfusqué est écrit dans un dossier BabelOut à côté de chaque assembly d’entrée. Avant de démarrer l’exécution, Babel Desktop vérifie où la sortie sera écrite. Il n’écrase jamais un assembly d’entrée, un fichier de clé ou un plugin. Lorsque des fichiers de sortie d’une exécution précédente existent, il les répertorie sous Remplacer les fichiers de sortie existants ? et attend que vous choisissiez Écraser les fichiers listés ou Annuler.
Les cibles s’exécutent l’une après l’autre dans l’ordre de leurs flux. Lorsqu’une cible échoue, les suivantes ne s’exécutent pas. Annuler l’exécution dans le panneau Activité, ou Exécution > Annuler, arrête l’exécution.
Le panneau Activité
Le panneau Activité s’ouvre en bas de la fenêtre au démarrage d’une exécution. Le bouton Activité, en haut à droite de la barre d’outils, l’affiche et le masque, et vous pouvez faire glisser son bord supérieur pour changer sa hauteur.
L’en-tête indique l’état de la tâche (En cours, Terminé, Échec ou Annulé), la phase en cours et la cible traitée, le pourcentage et la durée. Deux onglets contiennent la sortie du moteur :
- Journal répertorie tous les messages que le moteur écrit au niveau Verbose Level de la cible. Les 5 000 derniers messages restent visibles ; la ligne située sous le journal indique leur nombre total, et le texte complet du moteur de chaque exécution est enregistré avec ses résultats.
- Problèmes regroupe les avertissements et les erreurs, chacun avec son code, par exemple
W00013. Le compteur à côté du nom de l’onglet vous indique s’il y a quelque chose à lire.



Les avertissements d’une exécution dans l’onglet Problèmes
Pendant l’exécution, chaque cible indique son état sur son nœud et dans les colonnes État et Progression de la grille. À la fin de l’exécution, la barre d’état affiche l’état de la tâche et, s’il y a eu des avertissements, un compteur d’avertissements qui ouvre l’onglet Problèmes.



Une exécution terminée dans le panneau Activité
Avertissements
Un avertissement n’arrête pas l’exécution : la cible est marquée Terminé avec des avertissements. Lisez tout de même les avertissements, car ils signalent souvent une dépendance que le moteur n’a pas trouvée ou un paramètre resté sans effet.
- Outils : avertissements de la tâche dans la palette de commandes répertorie les avertissements de l’exécution en cours.
- Outils : référence des avertissements ouvre le catalogue des codes d’avertissement du moteur, avec leur description et une fonction de recherche.



La référence des avertissements du moteur
Un avertissement indiquant que le moteur n’a pas pu résoudre un assembly, comme ceux de l’onglet Problèmes illustré plus haut, signifie généralement qu’un assembly référencé ne se trouve pas à côté de l’entrée. Ajoutez son dossier dans l’onglet Dossiers de recherche des détails de la grille, ou ajoutez l’assembly comme dépendance de référence.
Sortie et application obfusquée
Après une exécution, les boutons situés en haut à droite du panneau Activité ouvrent le dossier de sortie et lancent l’application obfusquée. Fichier > Afficher la sortie dans le dossier, Afficher la sortie dans la barre d’état et Exécution > Lancer l’application obfusquée (Ctrl+F5, Cmd+F5 sous macOS) font la même chose pour la cible sélectionnée. Babel Desktop lance directement un exécutable Windows, et lance une application .NET par l’intermédiaire de dotnet lorsque son fichier .runtimeconfig.json est disponible. Il ne propose pas de lancer une bibliothèque.
Exécuter les flux en parallèle
Un projet qui comporte plusieurs flux indépendants, par exemple des bibliothèques qui ne se référencent pas entre elles, peut les obfusquer en même temps. Activez Exécuter en parallèle les flux indépendants dans Paramètres > Obfuscation et choisissez le nombre de flux exécutés simultanément, de 2 à 4. L’option est désactivée par défaut.
Chaque flux s’exécute dans son propre processus du moteur et, à l’intérieur d’un flux, les cibles s’exécutent toujours dans l’ordre. Babel Desktop vérifie l’ensemble du projet avant le démarrage du premier flux, comme pour une exécution simple. Pendant l’exécution des flux :
- L’indicateur de progression compte les cibles terminées par rapport aux cibles prévues, et chaque ligne du journal commence par le nom de son assembly, par exemple
[Library1.dll]. - Une cible qui échoue arrête son propre flux. Les autres flux se poursuivent, et l’exécution est signalée comme ayant échoué.
- Annuler l’exécution arrête tous les flux.
- Lorsque plusieurs cibles ont besoin d’un mot de passe de certificat, Babel Desktop les demande un par un en nommant l’assembly concerné.
Comme chaque processus du moteur met quelques secondes à démarrer, l’exécution en parallèle fait gagner du temps avec de gros assemblies. Un petit projet peut se terminer plus vite en traitant une cible après l’autre. Avec une licence flottante, Babel Desktop exécute un seul flux à la fois.
Après l’exécution
Une fois l’exécution terminée, vous pouvez vérifier le niveau de protection de chaque cible et traduire les traces de pile que signale l’application obfusquée.
- Résultats d’exécution présente le score d’obfuscation de chaque cible et les statistiques de protection de l’exécution.
- Le Décodeur de pile retrouve les noms d’origine dans les traces de pile obfusquées à l’aide des fichiers de mappage XML de l’exécution.