Product Activation

Babel Obfuscator can be used in demo mode without requiring a license. However, during the trial period, users can only utilize the obfuscation renaming feature. It's important to note that assemblies obfuscated in demo mode will cease to function after a specific date, as indicated in the obfuscation log by the warning code W00000.

Warning [W00000]: This is an evaluation version; the obfuscated assembly will no longer work after 15/08/2024 17:16:27

The presence of warning W00000 in the build log indicates that the obfuscated assembly is running in demo mode and will cease to function after the specified expiration date. Consequently, such assemblies cannot be distributed for production or retail use, as they are designed to stop working post-expiration.

To ensure that only fully licensed and unrestricted assemblies are used in a retail or production build, it is recommended to configure Babel to treat Warning W00000 as an error.

This configuration will cause the build process to fail if the warning is encountered, preventing the release of demo-mode obfuscated assemblies. You can achieve this by adding the WarnsAsErrors property to the Babel task in your build script, as shown below:

<Babel WarningsAsErrors="W00000" ... />

By setting WarningsAsErrors to include W00000, any occurrence of this warning will be treated as an error, thereby halting the build process. This ensures that the build will only succeed if a valid license is properly installed ensuring that the resulting assemblies are not subject to expiration or functionality restrictions.

License File

To fully unlock all features and ensure continued functionality, purchasing a Babel Obfuscator license is necessary.

Upon purchasing Babel Obfuscator and obtaining the license, you will receive a file named "babel.licenses." This file is in XML format and is digitally signed, containing the relevant license information for the specific product edition that you have purchased.

Note that any modification to the XML license file will invalidate the license itself. Also, if you own a trial or beta license that has an expiration date, do not run Babel after setting back the computer system time or your license will be automatically invalidated.

To install the acquired license and enable the full functionality of Babel Obfuscator, follow these steps:

  1. Locate the Babel installation folder on your system, typically located at: C:\Program Files\Babel.

  2. Copy the "babel.licenses" file received with the license information into the Babel installation folder.

By completing these steps, the Babel Obfuscator will recognize and apply the license, allowing you to access all the features and functionalities of the product edition you have purchased. This will ensure that your obfuscated assemblies remain functional beyond the trial period and comply with the terms of your license agreement.

If you are on Linux or Mac OSX, you might also consider setting the environment variable BABEL_LICENSE_PATH to the full path of the license file:

export BABEL_LICENSE_PATH=~/Babel/babel.licenses

You can access your license information by typing into a DOS shell:

babel.exe --license

If a valid license is found, you will get your license information:

License Id: licC2A87385
   issued: 19 Dec 2022

Product: Babel Obfuscator Ultimate 10.0.0.0
   Babel Obfuscator for .NET Framework

Licensed to: babelfor.NET
   contact info: sales@babelfor.net

Fields: ultimate

If the license file is not found you will get the following message:

Error: A valid license could not be found. Please contact http://www.babelfor.net for assistance.

Using Secrets License Key

On build servers that support secrets, it is possible to securely store and manage the Babel Obfuscator license key as a secret, which can then be accessed during the build process. By setting up the license key as a secret, you can ensure that the key is protected and only accessible by authorized users or processes. This helps to maintain the security and integrity of your application's code and assets.

Babel Obfuscator provides the option to load the license directly from an environment variable that is used to store the license key. This can be done by entering the following command at the command line:

babel --license env:BABEL_LICENSE

Here, BABEL_LICENSE is the environment variable that contains the Babel Obfuscator license key. Using this method, the license key can be securely stored in an environment variable using the build server secrets and accessed by Babel Obfuscator during the obfuscation process.

The following example shows how to pass the BABEL_LICENSE environment variable to the build step using the secrets.BABEL_LICENSE_SECRET, which stores the license key.

name: dotnet package

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest
    strategy:
      matrix:
        dotnet-version: [ '3.1.x', '7.0.x' ]

    steps:
      - uses: actions/checkout@v3
      - name: Setup .NET Core SDK ${{ matrix.dotnet-version }}
        uses: actions/setup-dotnet@v3
        with:
          dotnet-version: ${{ matrix.dotnet-version }}
      - name: Install dependencies
        run: dotnet restore
      - name: Build
        run: dotnet build --configuration Release --no-restore
        env:
          BABEL_LICENSE: ${{ secrets.BABEL_LICENSE_SECRET }}

If you are using the Babel Obfuscator NuGet package in your project, define the BabelLicense property as follow:

<PropertyGroup>
  <BabelLicense>$(BABEL_LICENSE)</BabelLicense>
</PropertyGroup>

By setting the BabelLicense property to $(BABEL_LICENSE), Babel Obfuscator will load the license key from the defined environment variable BABEL_LICENSE, which is set to the secret BABEL_LICENSE_SECRET in the build step. This approach allows for secure storage and usage of the license key in the build process. To know more please review the sample project GitHub Actions.

Activation Key

If you have received an activation key for Babel Obfuscator, such as:

DWTW3-SPGGH-04DJ4-4K809

you can easily activate your product directly within the Babel User Interface. To do this, follow these steps:

  1. Open the Babel Obfuscator application.

  2. Navigate to the 'Help' menu located on the top menu bar.

  3. Select the 'Activate' option from the dropdown menu. This action will open the activation window.

  4. In the activation window, you will find a field to enter your activation key. Type in the activation key you received, ensuring accuracy and including any dashes.

  5. After entering the key, click on the 'Activate' button. This button may be located below the input field or in a convenient spot in the activation window.

Once you press the 'Activate' button, the software will verify your key. If the key is valid, your copy of Babel Obfuscator will be activated, and you will gain access to all its features. In case of any issues or if the key is invalid, an error message will be displayed.

Floating License Usage

Babel Obfuscator offers the flexibility of operating under a floating license mechanism. This is particularly useful for organizations or teams where multiple users might need to access the software, but not simultaneously. The unique identifier for requesting a floating license is embodied in a user key, which follows a format resembling:

P1N1J-EH5VA-VGSFU-7EOK8

When utilizing this floating license system, the secrets.BABEL_LICENSE_SECRET is configured to store this user key securely. In the context of your project's build configuration, the <BabelLicense> XML element should be structured as:

<PropertyGroup>
  <BabelLicense>floating:$(BABEL_LICENSE)</BabelLicense>
</PropertyGroup>

By adopting this configuration, when Babel Obfuscator runs during the build process, it will recognize the floating:$(BABEL_LICENSE) instruction and attempt to retrieve a floating license using the user key stored in the BABEL_LICENSE environment variable. This ensures a seamless integration of the floating license system into your build and deployment pipeline.

Troubleshooting License File Issues

If you have license file issues, please check out the following points.

  1. Ensure the license file babel.licenses has been copied inside the Babel install folder. Typically, the install folder under Windows OS is C:\Program Files\Babel. If you installed babel in another location, please copy the license file inside the same folder as babel.exe.

  2. Ensure you installed the retail version of Babel Obfuscator. The DEMO version of Babel Obfuscator available to download at babelfor.net is not suited to run with a retail license. If you have installed the DEMO version, please uninstall it before installing the retail version of the product.

  3. The babel.licenses license file should be the exact one you received with the Babel binary packages. Each version of Babel Obfuscator comes with its license file, and a license file is made for one specific version of the product and cannot be used with a different version.

If you are unsure about the license file version, please open the babel.licenses file in a text editor and check the version inside the <Assembly> element for the tool installed.

<License Id="licEFD9081B">
  <Assembly name="babel" version="10.0.0.0" culture="neutral" publicKeyToken="138d17b5bd621ab7" />
  <Assembly name="lic" version="10.0.0.0" culture="neutral" publicKeyToken="138d17b5bd621ab7" />

The babel tool version can be displayed with the following command:

babel --version

Assembly version: 10.0.0.0
Product version: 10.0.0.0
File version: 10.0.0.0

The version in the license file and the tool assembly version must be the same.

Last updated