Compartir a través de


Modo de biblioteca por ensamblado

Esta opción indica a Dotfuscator que un determinado ensamblado de entrada constituye una biblioteca. Desde el punto de vista de la ofuscación, una biblioteca se define como un ensamblado al que se va a hacer referencia desde otros componentes no especificados como una de las entradas de esta ejecución. Esto tiene consecuencias para las tareas de cambio de nombre y limpieza, independientemente de las exclusiones personalizadas que pueda haber establecido.

En Dotfuscator Community Edition, la opción de biblioteca se aplica a todos los ensamblados de entrada. Si cualquier ensamblado de entrada está marcado como biblioteca, todos los ensamblados de entrada se consideran bibliotecas.

Cuando se usa la opción de biblioteca se aplican estas reglas:

  1. No se cambia el nombre de las clases públicas y de las clases públicas anidadas. Tampoco se cambia el nombre de los miembros (campos y métodos) de estas clases si tienen acceso de tipo public, family o famorassem.
  2. Tampoco se cambia el nombre de los métodos virtuales, independientemente del especificador de acceso. Esto permite a los clientes de la biblioteca invalidar los métodos virtuales privados si fuera necesario, que es el comportamiento permitido en la arquitectura .NET.
  3. Las exclusiones de cambio de nombre personalizadas por el usuario se aplican además de las exclusiones implicadas por las reglas anteriores.
  4. Los metadatos Property y Event siempre se conservan.

Si no tiene establecida la opción de biblioteca para un ensamblado, está indicando a Dotfuscator que el ensamblado de entrada es una aplicación independiente o que sólo se le hará referencia por otros ensamblados de entrada. En este caso, la ofuscación es mucho mayor:

  1. Se cambia el nombre de todo, excepto los métodos que invalidan las clases que son externas a la aplicación, es decir, las clases de ensamblados que no están incluidos en la ejecución.
  2. Los metadatos Property y Event se quitan ya que no son necesarios para ejecutar la aplicación (esto es significativo para los consumidores de código de biblioteca).
  3. Como es habitual, también se aplican las exclusiones de cambio de nombre personalizadas por el usuario.

Para especificar el modo de biblioteca de un ensamblado de entrada, agregue un elemento <option> a su elemento <inputassembly>.

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

© 2002-2007 PreEmptive Solutions. Reservados todos los derechos.