La grille du projet
La grille affiche une ligne pour chaque cible du projet, avec une colonne pour chaque paramètre que vous choisissez. Utilisez-la pour les projets qui comptent de nombreuses cibles et pour les modifications qui en concernent plusieurs.



La grille avec deux colonnes de paramètres ajoutées et le panneau des propriétés ouvert
Changer de vue
Les boutons Diagramme | Grille en haut à droite, Affichage > Diagramme / Affichage > Grille (Ctrl+Shift+C / Ctrl+Shift+G, Cmd+Shift+C / Cmd+Shift+G sous macOS) ou Affichage : diagramme / Affichage : grille dans la palette de commandes changent de vue. Le canevas est la vue par défaut. Babel Desktop mémorise la vue de chaque projet sur cet ordinateur ; changer de vue ne modifie pas le fichier de projet et ne le marque pas comme modifié.
Sélectionner une ligne revient à cliquer sur son nœud, et le panneau des propriétés fonctionne de la même façon dans les deux vues. Dans la grille, la barre d’outils ajoute Résultats d’exécution à côté du sélecteur de vue, ainsi qu’une seconde rangée avec Filtrer les cibles, Grouper par flux, Configurer l’obfuscation publique et Configurer la fusion (voir Commandes de configuration).
Lignes et colonnes
Chaque ligne est une cible. Les assemblies fusionnés dans une cible n’ont pas de ligne propre et figurent dans son onglet Entrées. Le compteur, à droite de la barre d’outils, affiche par exemple 7 cibles, 1 cible · 10 fusionnés lorsque des cibles sont fusionnées dans une autre cible, ou 3 cibles sur 12 lorsqu’un filtre est actif.
| Colonne | Contenu |
|---|---|
| # | Position dans l’ordre du projet |
| État | Prêt, En cours, Terminé, Terminé avec des avertissements, Échec ou Entrée manquante |
| Fichier | Fichier d’entrée, avec le chevron qui ouvre les détails |
| Détails | Un résumé comme fusionne 3 · incorpore 1 · réf. 2, ou le nombre d’avertissements après une exécution |
| Sortie | Le fichier de sortie défini pour la cible ; vide lorsque la cible écrit dans le dossier BabelOut par défaut |
| Progression | La progression de la cible pendant une exécution, conservée une fois l’exécution terminée |
Choisir les colonnes
Cliquez avec le bouton droit sur un en-tête de colonne, ou appuyez sur la touche de menu ou Shift+F10 sur un en-tête, pour choisir les colonnes visibles. En plus des colonnes par défaut, vous pouvez ajouter Flux · Étape, Exécuter après, Chemin d’entrée et tout paramètre du panneau des propriétés, comme String Encryption ou Control Flow Obfuscation. Rétablir les valeurs par défaut revient à l’ensemble de colonnes par défaut. Fichier est toujours affiché.



Choisir les colonnes visibles
Faites glisser un en-tête, ou appuyez sur Alt+← / Alt+→ sur celui-ci, pour déplacer une colonne. L’ensemble et l’ordre des colonnes sont mémorisés sur cet ordinateur et s’appliquent à tous les projets.
Trier, filtrer et grouper
Cliquez sur un en-tête pour trier selon cette colonne, puis de nouveau pour un tri décroissant. Le tri ne change que l’affichage ; il ne change jamais l’ordre d’exécution. Cliquez sur # pour revenir à Ordre du projet.
Saisissez du texte dans Filtrer les cibles pour n’afficher que les lignes dont le texte correspond. Grouper par flux place les lignes de chaque flux sous un titre Flux 1, Flux 2. Avec les colonnes Flux · Étape et Exécuter après, la grille montre ce qui s’exécute avant quoi.



Lignes groupées par flux
Sélectionner et modifier
Vous sélectionnez les lignes et modifiez les cellules comme dans un tableur, à la souris ou entièrement au clavier.
| Pour | Procédure |
|---|---|
| Sélectionner une ligne | Cliquez dessus, ou déplacez-vous avec les touches fléchées |
| Ajouter une ligne à la sélection ou l’en retirer | Ctrl+clic (Cmd+clic sous macOS), ou Ctrl+Space sur la ligne active |
| Sélectionner une plage | Shift+clic, ou Shift avec les touches fléchées |
| Sélectionner toutes les lignes affichées | Ctrl+A (Cmd+A sous macOS). Avec un filtre, seules les lignes qui correspondent sont sélectionnées. |
| Se déplacer entre les cellules | Touches fléchées, Home, End, Page Up, Page Down |
| Modifier une cellule | Enter, F2, un double-clic, ou commencez à taper |
| Confirmer ou annuler une modification | Enter ou Tab confirme, Esc annule |
Une cellule de paramètre se modifie avec le même contrôle que dans le panneau des propriétés : une case à cocher, une liste, un champ de texte ou un sélecteur de fichiers. Les paramètres composites affichent un résumé, comme activé · goto, switch ou 3 filtres, et leur éditeur s’ouvre dans une fenêtre contextuelle.



Modifier un paramètre composite dans une fenêtre contextuelle
Une modification s’applique à toutes les lignes sélectionnées. Lorsque certaines cibles refusent la valeur, Babel Desktop les répertorie sous Non appliqué à toutes les cibles sélectionnées :, et les autres cibles conservent la nouvelle valeur.
Les paramètres ne peuvent pas être modifiés pendant une exécution. #, État, Fichier, Détails, Progression, Flux · Étape et Chemin d’entrée sont en lecture seule.
Ordre d’exécution
Dans l’ordre du projet, l’ordre des lignes est celui des cibles dans le fichier de projet. Pour le modifier, triez d’abord par #, puis faites glisser les lignes, appuyez sur Alt+↑ / Alt+↓ ou utilisez Monter / Descendre dans le menu de la ligne. Ces commandes agissent sur les lignes sélectionnées, et le nouvel ordre est enregistré avec le projet.
La cellule Exécuter après répertorie les cibles que celle-ci attend. Sa modification ouvre la liste des autres cibles, chacune avec une case à cocher : cocher une cible ajoute une arête de flux de cette cible vers celle-ci, décocher la case supprime l’arête. Les cibles dont celle-ci lit le fichier de mappage sont cochées et ne peuvent pas être décochées à cet endroit ; supprimez plutôt le lien de mappage.
Les cibles s’exécutent toujours après celles dont elles dépendent par des arêtes de flux ou des liens de mappage : déplacer une ligne ne fait jamais s’exécuter une cible avant une cible qu’elle attend. Lorsque Paramètres > Obfuscation > Exécuter en parallèle les flux indépendants est désactivé, les cibles s’exécutent dans l’ordre des lignes, dans ces limites. Lorsqu’il est activé, les flux indépendants peuvent s’exécuter en même temps.
Détails de la cible
Le chevron de la cellule Fichier, ou Afficher les détails / Masquer les détails dans le menu de la ligne, ouvre sous la ligne cinq onglets, chacun avec un compteur :
| Onglet | Contenu |
|---|---|
| Entrées | Les assemblies fusionnés, incorporés et référencés, chacun avec une liste Action (Fusionner, Incorporer ou Référence). Un fichier qui n’existe pas est signalé par Fichier introuvable. |
| Règles | Les fichiers de règles XML |
| Maps | Les fichiers de mappage que lit la cible. Un fichier de mappage écrit par une autre cible du projet indique De suivi du nom de cette cible. |
| Plug-ins | Les DLL des plugins du moteur |
| Dossiers de recherche | Les dossiers dans lesquels le moteur recherche les assemblies référencés |



Les entrées d’une cible
L’icône + à droite des onglets ajoute des éléments avec un sélecteur de fichiers ou de dossiers ; sur l’onglet Entrées, elle propose Ajouter des assemblies à fusionner…, Ajouter des assemblies à incorporer…, Ajouter des références d’assembly… et Ajouter une dépendance automatiquement…. La corbeille d’une entrée la retire. Cliquez avec le bouton droit sur une entrée de Règles ou de Maps et choisissez Appliquer à toutes les cibles pour ajouter ce fichier à toutes les cibles qui ne l’ont pas encore.



Un fichier de mappage écrit par une autre cible
Déposer des fichiers
Déposez des fichiers du gestionnaire de fichiers sur la grille :
- Des assemblies déposés sur une zone vide créent des cibles. Déposés sur une ligne ou sur son onglet Entrées, ils sont fusionnés dans cette cible.
- Un fichier
.snkou.pfxdéposé sur une ligne devient son fichier de clé, ou celui de toutes les lignes sélectionnées si cette ligne fait partie de la sélection. - Des fichiers
.xmldéposés sur l’onglet Règles ou Maps sont ajoutés comme fichiers de règles ou de mappage, et des fichiers.dlldéposés sur l’onglet Plug-ins comme plugins. - Un fichier
.babelouvre ce projet.
Les autres fichiers sont refusés avec le message Ces fichiers ne peuvent pas être déposés ici.
Le menu d’une ligne
Cliquez avec le bouton droit sur une ligne, ou appuyez sur la touche de menu ou Shift+F10, pour ouvrir son menu. Pour une seule ligne, il commence par les commandes du menu d’un nœud ; pour plusieurs lignes sélectionnées, il commence par Retirer les cibles, qui demande confirmation.



Le menu d’une ligne
| Commande | Effet |
|---|---|
| Définir le niveau d’obfuscation | Niveau : Léger, Niveau : Équilibré ou Niveau : Maximal sur les lignes sélectionnées. Voir Niveaux de protection. |
| Copier les paramètres | Mémorise les paramètres de protection de cette ligne |
| Coller les paramètres | Remplace les paramètres de protection des lignes sélectionnées par les paramètres copiés |
| Monter, Descendre | Déplace les lignes sélectionnées dans l’ordre du projet |
| Afficher les détails, Masquer les détails | Ouvre ou ferme les onglets sous les lignes sélectionnées |
Coller les paramètres efface aussi les protections qui ne sont pas définies sur la ligne source, si bien que les cibles se retrouvent avec la même protection. Les chemins, les dépendances, les mots de passe, les paramètres de mappage et de journal, les arguments des plugins et les règles XML intégrées ne sont jamais copiés.
Travailler avec de nombreuses cibles
Quelques façons de configurer rapidement un projet volumineux :
- Configurez une cible, choisissez Copier les paramètres sur sa ligne, puis sélectionnez les autres lignes et choisissez Coller les paramètres.
- Saisissez une partie d’un nom dans Filtrer les cibles, appuyez sur
Ctrl+A(Cmd+Asous macOS) pour sélectionner les lignes qui correspondent, et modifiez une seule fois une colonne de paramètre pour toutes ces lignes. - Sélectionnez des lignes et utilisez Définir le niveau d’obfuscation pour leur donner un point de départ, puis ajustez des paramètres isolés dans leurs colonnes.
- Ajoutez un fichier de règles ou un fichier de mappage à une cible et utilisez Appliquer à toutes les cibles sur son entrée.
- Ajoutez les colonnes Flux · Étape et Exécuter après et activez Grouper par flux avant une exécution pour vérifier l’ordre.