Partager via


Mode bibliothèque par assembly

Ce paramètre indique à Dotfuscator qu'un assembly d'entrée spécifique constitue une bibliothèque. Pour les besoins de l'obfuscation, une bibliothèque est définie comme un assembly qui sera référencé à partir d'autres composants non spécifiés comme l'une des entrées dans cette exécution. Il existe des implications concernant l'attribution d'un nouveau nom et la réduction, indépendamment des éventuelles exclusions personnalisées que vous avez définies.

Dans Dotfuscator Community Edition, l'option Bibliothèque s'applique à tous les assemblys d'entrée. Si un assembly d'entrée est marqué comme étant une bibliothèque (library), tous les assemblys d'entrée sont considérés comme des bibliothèques.

Voici les règles d'utilisation de l'option Bibliothèque :

  1. Les classes publiques et les classes publiques imbriquées ne sont pas renommées. Les membres (champs et méthodes) de ces classes ne sont pas non plus renommés dès lors qu'ils disposent d'un accès public, family ou famorassem.
  2. En outre, aucune méthode virtuelle n'est renommée, quel que soit le spécificateur d'accès. Cela permet aux clients de votre bibliothèque de remplacer les méthodes virtuelles privées si nécessaire (ce comportement est autorisé dans l'architecture .NET).
  3. Toute exclusion personnalisée d'attribution d'un nouveau nom, spécifiée par l'utilisateur, est appliquée en plus des exclusions associées aux règles ci-dessus.
  4. Les métadonnées de propriétés et d'événements sont toujours conservées.

Si l'option Bibliothèque n'est pas définie pour un assembly, vous indiquez à Dotfuscator que votre assembly d'entrée est une application autonome ou qu'il ne sera référencé que par d'autres assemblys d'entrée. Dans ce cas, l'obfuscation est beaucoup plus agressive :

  1. Tout est renommé sauf les méthodes qui remplacent les classes externes à l'application (c'est-à-dire les classes des assemblys qui ne sont pas inclus dans l'exécution).
  2. Les métadonnées de propriétés et d'événements sont supprimées, dans la mesure où elles ne sont pas nécessaires pour exécuter l'application (elles sont destinées aux « consommateurs » du code de bibliothèque).
  3. Comme toujours, les exclusions personnalisées d'attribution d'un nouveau nom, spécifiées par l'utilisateur, sont également appliquées.

Pour spécifier le mode bibliothèque pour un assembly d'entrée, ajoutez un élément <option> à son élément <inputassembly>.

      <inputassembly>
        <option>library</option>
        <file dir="c:\temp" name="myproj.dll"/> 
      </inputassembly>

© 2002-2007 PreEmptive Solutions. Tous droits réservés.