Question

J'ai une solution Visual Studio 2008 multi-projets. J'aimerais masquer certaines sorties du projet avant qu'elles ne soient intégrées au fichier d'installation à l'aide de Dotfuscator. Je voudrais donc pouvoir:

  1. pouvoir sélectionner les éléments à masquer
  2. Créez un package d'installation contenant le code déjà obscurci
  3. Vérifiez si l'obfuscation a été un succès

Quelle est la meilleure façon de faire cela?
(Je suis également disposé à utiliser d'autres outils, Dotfuscator n'est pas un must.)

Était-ce utile?

La solution

Si vous utilisez l'une des versions commerciales de Dotfuscator (Dotfuscator Suite ou Dotfuscator MDE), cette opération est très simple. Dotfuscator fournit un projet Visual Studio pouvant utiliser d'autres sorties de projet en tant qu'entrée. Le projet Dotfuscator expose également tous ses assemblys de sortie à d’autres projets Visual Studio (y compris les différents types de projets d’installation), de sorte qu’ils puissent directement utiliser les assemblages masqués et les intégrer au programme d’installation. Voir this article de la base de connaissances pour des informations supplémentaires sur l’inclusion sélective d’ensembles et de dépendances masqués dans des projets de configuration.

Vous pouvez sélectionner les assemblys à masquer (et le degré d'obscurcissement appliqué à chacun d'eux) de différentes manières, notamment en décorant vos assemblys ou un code spécifique à l'aide de System.Reflection.ObfuscateAssemblyAttribute ou System.Reflection.ObfuscationAOttribute et / ou en utilisant les différents paramètres de l’interface utilisateur Dotfuscator pour inclure ou exclure des assemblages et des éléments des différentes transformations d’obscurcissement avec une série de règles (y compris des expressions régulières) et / ou en sélectionnant des éléments individuels dans l’interface graphique.

Par défaut, Dotfuscator ajoute un attribut (DotfuscatorAttribute) à chaque assemblage traité, que vous pouvez ensuite vérifier avec un script après la construction ou l'installation à l'essai pour vous assurer que l'attribut est présent. Voir la

scroll top