Skip to Content
Nouvelle version 12 disponible 🎉

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.

Vue grille d’un projet de sept cibles : la barre d’outils avec Filter targets, Group by flow, Setup public obfuscation, Setup merge et le compteur 7 targets, les colonnes #, State, File, Details, Output, Progress, String Encryption et Control Flow Obfuscation, six lignes terminées et BubbleBurst.exe sélectionné, avec Completed with warnings et 4 warnings, et le panneau des propriétés de BubbleBurst.exe ouvert à droiteVue grille d’un projet de sept cibles : la barre d’outils avec Filter targets, Group by flow, Setup public obfuscation, Setup merge et le compteur 7 targets, les colonnes #, State, File, Details, Output, Progress, String Encryption et Control Flow Obfuscation, six lignes terminées et BubbleBurst.exe sélectionné, avec Completed with warnings et 4 warnings, et le panneau des propriétés de BubbleBurst.exe ouvert à droiteVue grille d’un projet de sept cibles : la barre d’outils avec Filter targets, Group by flow, Setup public obfuscation, Setup merge et le compteur 7 targets, les colonnes #, State, File, Details, Output, Progress, String Encryption et Control Flow Obfuscation, six lignes terminées et BubbleBurst.exe sélectionné, avec Completed with warnings et 4 warnings, et le panneau des propriétés de BubbleBurst.exe ouvert à droite

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.

ColonneContenu
#Position dans l’ordre du projet
ÉtatPrêt, En cours, Terminé, Terminé avec des avertissements, Échec ou Entrée manquante
FichierFichier d’entrée, avec le chevron qui ouvre les détails
DétailsUn résumé comme fusionne 3 · incorpore 1 · réf. 2, ou le nombre d’avertissements après une exécution
SortieLe fichier de sortie défini pour la cible ; vide lorsque la cible écrit dans le dossier BabelOut par défaut
ProgressionLa 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é.

Sélecteur de colonnes ouvert au-dessus de l’en-tête de la grille, avec des cases à cocher : # · Project order, State, File (always on), Details, Output et Progress cochées, Flow · Step, Run after, Input path et Dynamic Proxy décochéesSélecteur de colonnes ouvert au-dessus de l’en-tête de la grille, avec des cases à cocher : # · Project order, State, File (always on), Details, Output et Progress cochées, Flow · Step, Run after, Input path et Dynamic Proxy décochéesSélecteur de colonnes ouvert au-dessus de l’en-tête de la grille, avec des cases à cocher : # · Project order, State, File (always on), Details, Output et Progress cochées, Flow · Step, Run after, Input path et Dynamic Proxy décochées

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.

Grille groupée par flux avec les colonnes Flow · Step et Run after : Flow 1 avec CrossAssembly1.dll à 1 · 1 et CrossAssembly1App.dll à 1 · 2, exécuté après CrossAssembly1.dll, Flow 2 et Flow 3 sur le même modèle pour CrossAssembly2 et CrossAssembly3, et Flow 4 avec BubbleBurst.exe seul à 4 · 1Grille groupée par flux avec les colonnes Flow · Step et Run after : Flow 1 avec CrossAssembly1.dll à 1 · 1 et CrossAssembly1App.dll à 1 · 2, exécuté après CrossAssembly1.dll, Flow 2 et Flow 3 sur le même modèle pour CrossAssembly2 et CrossAssembly3, et Flow 4 avec BubbleBurst.exe seul à 4 · 1Grille groupée par flux avec les colonnes Flow · Step et Run after : Flow 1 avec CrossAssembly1.dll à 1 · 1 et CrossAssembly1App.dll à 1 · 2, exécuté après CrossAssembly1.dll, Flow 2 et Flow 3 sur le même modèle pour CrossAssembly2 et CrossAssembly3, et Flow 4 avec BubbleBurst.exe seul à 4 · 1

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.

PourProcédure
Sélectionner une ligneCliquez dessus, ou déplacez-vous avec les touches fléchées
Ajouter une ligne à la sélection ou l’en retirerCtrl+clic (Cmd+clic sous macOS), ou Ctrl+Space sur la ligne active
Sélectionner une plageShift+clic, ou Shift avec les touches fléchées
Sélectionner toutes les lignes affichéesCtrl+A (Cmd+A sous macOS). Avec un filtre, seules les lignes qui correspondent sont sélectionnées.
Se déplacer entre les cellulesTouches fléchées, Home, End, Page Up, Page Down
Modifier une celluleEnter, F2, un double-clic, ou commencez à taper
Confirmer ou annuler une modificationEnter 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.

Éditeur contextuel de la cellule Control Flow Obfuscation de CrossAssembly1.dll, avec une liste par propriété : Enable / default réglé sur Default, goto réglé sur Enabled, et switch, case, if, call, value et token réglés sur DefaultÉditeur contextuel de la cellule Control Flow Obfuscation de CrossAssembly1.dll, avec une liste par propriété : Enable / default réglé sur Default, goto réglé sur Enabled, et switch, case, if, call, value et token réglés sur DefaultÉditeur contextuel de la cellule Control Flow Obfuscation de CrossAssembly1.dll, avec une liste par propriété : Enable / default réglé sur Default, goto réglé sur Enabled, et switch, case, if, call, value et token réglés sur Default

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 :

OngletContenu
EntréesLes 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èglesLes fichiers de règles XML
MapsLes 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-insLes DLL des plugins du moteur
Dossiers de rechercheLes dossiers dans lesquels le moteur recherche les assemblies référencés
Détails de BubbleBurst.exe ouverts sous sa ligne, sur l’onglet Inputs avec le compteur 4 : BubbleBurst.View.dll, BubbleBurst.ViewModel.dll et MvvmFoundation.Wpf.dll réglés sur Merge et Thriple.dll réglé sur Embed, chacun avec une corbeille, et les onglets Rules, Maps, Plugins et Search directories à 0Détails de BubbleBurst.exe ouverts sous sa ligne, sur l’onglet Inputs avec le compteur 4 : BubbleBurst.View.dll, BubbleBurst.ViewModel.dll et MvvmFoundation.Wpf.dll réglés sur Merge et Thriple.dll réglé sur Embed, chacun avec une corbeille, et les onglets Rules, Maps, Plugins et Search directories à 0Détails de BubbleBurst.exe ouverts sous sa ligne, sur l’onglet Inputs avec le compteur 4 : BubbleBurst.View.dll, BubbleBurst.ViewModel.dll et MvvmFoundation.Wpf.dll réglés sur Merge et Thriple.dll réglé sur Embed, chacun avec une corbeille, et les onglets Rules, Maps, Plugins et Search directories à 0

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.

Détails de CrossAssembly1App.dll sur l’onglet Maps avec le compteur 1 : l’entrée CrossAssembly1.dll.map.xml marquée From CrossAssembly1.dll, avec une corbeilleDétails de CrossAssembly1App.dll sur l’onglet Maps avec le compteur 1 : l’entrée CrossAssembly1.dll.map.xml marquée From CrossAssembly1.dll, avec une corbeilleDétails de CrossAssembly1App.dll sur l’onglet Maps avec le compteur 1 : l’entrée CrossAssembly1.dll.map.xml marquée From CrossAssembly1.dll, avec une corbeille

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 .snk ou .pfx dé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 .xml déposés sur l’onglet Règles ou Maps sont ajoutés comme fichiers de règles ou de mappage, et des fichiers .dll déposés sur l’onglet Plug-ins comme plugins.
  • Un fichier .babel ouvre 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.

Menu de la ligne CrossAssembly2App.dll avec Merge into..., Embed into..., Add assemblies to merge..., Add assemblies to embed..., Add assembly references..., Add dependency automatically..., Properties, Remove target, Set obfuscation level, Copy settings, Paste settings (indisponible), Move up, Move down et Show detailsMenu de la ligne CrossAssembly2App.dll avec Merge into..., Embed into..., Add assemblies to merge..., Add assemblies to embed..., Add assembly references..., Add dependency automatically..., Properties, Remove target, Set obfuscation level, Copy settings, Paste settings (indisponible), Move up, Move down et Show detailsMenu de la ligne CrossAssembly2App.dll avec Merge into..., Embed into..., Add assemblies to merge..., Add assemblies to embed..., Add assembly references..., Add dependency automatically..., Properties, Remove target, Set obfuscation level, Copy settings, Paste settings (indisponible), Move up, Move down et Show details

Le menu d’une ligne

CommandeEffet
Définir le niveau d’obfuscationNiveau : Léger, Niveau : Équilibré ou Niveau : Maximal sur les lignes sélectionnées. Voir Niveaux de protection.
Copier les paramètresMémorise les paramètres de protection de cette ligne
Coller les paramètresRemplace les paramètres de protection des lignes sélectionnées par les paramètres copiés
Monter, DescendreDéplace les lignes sélectionnées dans l’ordre du projet
Afficher les détails, Masquer les détailsOuvre 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+A sous 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.
Last updated on