Skip to Content
Nueva versión 12 disponible 🎉
ObfuscatorPaquete NuGet

Paquete NuGet Ultimate

Los paquetes NuGet de Babel Obfuscator permiten ejecutar Babel en cualquier equipo de compilación o servidor de CI que tenga el SDK de .NET, en Windows, Linux y macOS, sin instalar el producto.

Babel Obfuscator incluye dos paquetes NuGet. Ambos se entregan con la edición Ultimate y con las ediciones de sitio de Babel Licensing (Server y Data Center), y ninguno está publicado en nuget.org: los recibe con el producto y los aloja en una fuente privada o en una carpeta local, como se describe en Configuración del paquete.

PaqueteQué proporciona
Babel.ObfuscatorIntegración en la compilación. Al hacer referencia al paquete, la tarea Babel de MSBuild se añade al proyecto y se ejecuta en el punto adecuado de la compilación, de modo que dotnet build, dotnet publish y Visual Studio generan una salida ofuscada. La mayor parte de esta sección trata de este paquete.
Babel.Obfuscator.ToolLa línea de comandos babel empaquetada como herramienta de dotnet, para ofuscar mediante scripts fuera de la compilación. Consulte Herramienta Babel Obfuscator.

Por qué el paquete en lugar de la tarea Babel

Siempre puede añadir a mano la tarea Babel a un proyecto. El paquete lo hace por usted y, además, resuelve un problema difícil de resolver a mano en los proyectos de estilo SDK: el SDK de .NET ejecuta varios pasos a nivel de IL después de la compilación (resolución de dependencias, recorte, empaquetado en un único archivo, compilación AOT), y la ofuscación debe producirse antes que todos ellos. El paquete inserta la tarea Babel justo después del compilador, sobre el ensamblado de la carpeta intermedia obj, de modo que todos los pasos posteriores de la compilación trabajan con el ensamblado ofuscado. Consulte Pipeline de compilación.

Además de ocuparse de la ubicación, el paquete:

  • Incluye las herramientas de compilación de Babel para todos los hosts de MSBuild admitidos, es decir, MSBuild de .NET Framework, Mono y el SDK de .NET de 6.0 a 10.0, y elige automáticamente las adecuadas.
  • Configura la tarea Babel a partir de lo que el proyecto ya sabe: los directorios de búsqueda de ensamblados a partir de las referencias del proyecto, la clave de nombre seguro, los símbolos de depuración, el archivo de reglas y el archivo de licencia.
  • Omite las compilaciones en tiempo de diseño de Visual Studio y las compilaciones incrementales en las que el compilador no se ha ejecutado, con lo que el IDE mantiene su agilidad.
  • Mantiene la coherencia de dotnet publish cuando se combinan o se incrustan ensamblados, actualizando el archivo .deps.json y el conjunto de archivos publicados.

Requisitos

  • Un SDK de .NET de 6.0 a 10.0, Visual Studio 2022 o posterior, o MSBuild de Mono. También se admiten los proyectos de .NET Framework compilados con MSBuild.exe.
  • Una licencia válida: un archivo babel.licenses o una clave de licencia (consulte Activar la licencia). Sin licencia, el paquete se ejecuta en modo de evaluación y los ensamblados ofuscados dejan de funcionar al cabo de un período breve.
  • El paquete alojado en una fuente de NuGet a la que pueda acceder su compilación (consulte Instalación).

Inicio rápido

Añadir el paquete

Añada el paquete Babel.Obfuscator a su fuente, o a una carpeta local registrada como origen de paquetes.

Hacer referencia al paquete

Haga referencia al paquete desde el proyecto que se va a ofuscar:

<ItemGroup> <PackageReference Include="Babel.Obfuscator" Version="12.0.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> </ItemGroup>

Proporcionar la licencia

Copie babel.licenses en la carpeta de la solución, o establezca la propiedad BabelLicense.

Configurar la ofuscación

Añada los ajustes de ofuscación que desee como propiedades de MSBuild, por ejemplo:

<PropertyGroup Condition="'$(Configuration)' == 'Release'"> <StringEncryption>stream</StringEncryption> <ControlFlowObfuscation>if=on;switch=on;call=on</ControlFlowObfuscation> <ResourceEncryption>true</ResourceEncryption> </PropertyGroup>

Compilar

Compile. El registro de Babel aparece en la salida de la compilación y el ensamblado de salida queda ofuscado.

Salida de Babel Obfuscator en Visual Studio

En esta sección

  • Configuración del paquete: alojar el paquete, añadir la referencia, activar la licencia y verificar la primera compilación.
  • Configuración de la ofuscación: las propiedades y los elementos de MSBuild que controlan todas las funciones de Babel, incluidos los ajustes introducidos en la versión 12.
  • Pipeline de compilación: dónde se ejecuta la ofuscación, cómo moverla, los destinos que puede ampliar, la publicación y cómo se seleccionan las herramientas de compilación.
  • Herramienta Babel Obfuscator: la línea de comandos babel como herramienta de dotnet.
  • Referencia del paquete: todas las propiedades, los elementos y los destinos que define el paquete, y su asignación a los atributos de la tarea Babel.

Ejemplos

Los siguientes ejemplos del manual usan el paquete NuGet de Babel Obfuscator.

Last updated on