Skip to Content
Nuova versione 12 disponibile 🎉
ObfuscatorPacchetto NuGet

Pacchetto NuGet Ultimate

I pacchetti NuGet di Babel Obfuscator ti permettono di eseguire Babel su qualsiasi computer di build o server di CI che abbia l’SDK .NET, su Windows, Linux e macOS, senza installare il prodotto.

Babel Obfuscator include due pacchetti NuGet. Entrambi sono compresi nell’edizione Ultimate e nelle edizioni per sede di Babel Licensing (Server e Data Center), e nessuno dei due è pubblicato su nuget.org: li ricevi con il prodotto e li ospiti su un feed privato o in una cartella locale, come descritto in Configurazione del pacchetto.

PacchettoChe cosa offre
Babel.ObfuscatorIntegrazione con la build. Il riferimento al pacchetto aggiunge al progetto il task Babel di MSBuild e lo esegue nel punto giusto della build, così dotnet build, dotnet publish e Visual Studio producono un output offuscato. Gran parte di questa sezione riguarda questo pacchetto.
Babel.Obfuscator.ToolLa riga di comando babel confezionata come strumento dotnet, per l’offuscamento tramite script al di fuori della build. Vedi Babel Obfuscator Tool.

Perché il pacchetto invece del task Babel

Puoi sempre aggiungere a mano il task Babel a un progetto. Il pacchetto lo fa per te, e risolve anche un problema difficile da risolvere a mano nei progetti in stile SDK: l’SDK .NET esegue diversi passi a livello di IL dopo la compilazione (risoluzione delle dipendenze, trimming, creazione del bundle a file singolo, compilazione ahead-of-time), e l’offuscamento deve avvenire prima di tutti. Il pacchetto inserisce il task Babel subito dopo il compilatore, sull’assembly nella cartella intermedia obj, così ogni passo successivo della build lavora sull’assembly offuscato. Vedi Pipeline di build.

Oltre al posizionamento, il pacchetto:

  • Include gli strumenti di build di Babel per ogni host MSBuild supportato, cioè MSBuild di .NET Framework, Mono e l’SDK .NET dalla versione 6.0 alla 10.0, e sceglie automaticamente quello giusto.
  • Configura il task Babel a partire da ciò che il progetto conosce già: le cartelle di ricerca degli assembly ricavate dai riferimenti del progetto, la chiave con nome sicuro, i simboli di debug, il file di regole e il file di licenza.
  • Salta le build in fase di progettazione di Visual Studio e le build incrementali in cui il compilatore non è stato eseguito, mantenendo reattivo l’IDE.
  • Mantiene coerente dotnet publish quando gli assembly vengono uniti o incorporati, aggiornando il file .deps.json e l’insieme dei file pubblicati.

Requisiti

  • Un SDK .NET dalla versione 6.0 alla 10.0, Visual Studio 2022 o successivo, oppure MSBuild di Mono. Sono supportati anche i progetti .NET Framework compilati con MSBuild.exe.
  • Una licenza valida: un file babel.licenses o una chiave di licenza (vedi Attivare la licenza). Senza licenza il pacchetto funziona in modalità demo e gli assembly offuscati smettono di funzionare dopo un breve periodo.
  • Il pacchetto ospitato su un feed NuGet raggiungibile dalla tua build (vedi Installazione).

Avvio rapido

Aggiungi il pacchetto

Aggiungi il pacchetto Babel.Obfuscator al tuo feed, oppure a una cartella locale registrata come origine pacchetti.

Referenzia il pacchetto

Referenzia il pacchetto dal progetto da offuscare:

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

Fornisci la licenza

Copia babel.licenses nella cartella della soluzione, oppure imposta la proprietà BabelLicense.

Configura l’offuscamento

Aggiungi le impostazioni di offuscamento che ti servono come proprietà MSBuild, per esempio:

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

Compila

Compila. Il log di Babel compare nell’output della build e l’assembly di output è offuscato.

Output di Babel Obfuscator in Visual Studio

In questa sezione

  • Configurazione del pacchetto: ospitare il pacchetto, aggiungere il riferimento, attivare la licenza e verificare la prima build.
  • Configurazione dell’offuscamento: le proprietà e gli elementi MSBuild che controllano ogni funzionalità di Babel, comprese le impostazioni introdotte nella versione 12.
  • Pipeline di build: dove viene eseguito l’offuscamento, come spostarlo, i target che puoi estendere, la pubblicazione e come vengono selezionati gli strumenti di build.
  • Babel Obfuscator Tool: la riga di comando babel come strumento dotnet.
  • Riferimento del pacchetto: tutte le proprietà, gli elementi e i target definiti dal pacchetto, e la corrispondenza con gli attributi del task Babel.

Esempi

Gli esempi seguenti del manuale usano il pacchetto NuGet di Babel Obfuscator.

Last updated on