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:27The 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 WarningsAsErrors 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.
Do not edit the license file: a modified file is no longer valid.
To install the license, copy the babel.licenses file into the folder where you extracted the zip package, next to babel.exe or babel.dll. Babel reads the license from there and unlocks the features of the edition you purchased, and the assemblies it obfuscates no longer expire after the trial period.
To keep the license file somewhere else, set the environment variable BABEL_LICENSE_PATH to its full path. This works on any operating system.
Windows PowerShell, current session:
$env:BABEL_LICENSE_PATH = "C:\Babel\babel.licenses"Windows, persistent for the current user:
setx BABEL_LICENSE_PATH "C:\Babel\babel.licenses"Linux and macOS:
export BABEL_LICENSE_PATH=~/Babel/babel.licensesIn Babel Desktop, open Settings, choose License, select License file as the license source and click Browse… to load the file.
You can access your license information by typing into a PowerShell or terminal window:
babel.exe --licenseIf 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: ultimateIf 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_LICENSEHere, 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-4K809you can activate your product in Babel Desktop:
Open the License settings
Open Settings and choose the License category.
Select Activation key
Select Activation key as the License source.
Enter the activation key
Enter the activation key you received, including the dashes.
Activate
Click Activate.
The activation is stored on this machine and restored every time Babel Desktop starts. Click Deactivate to release the activation from this machine.
You can also activate the license from the command line:
babel --license activate:DWTW3-SPGGH-04DJ4-4K809and release it with:
babel --license deactivateFloating 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.
In Babel Desktop, open Settings, choose License, select Floating license as the license source, enter the user key and click Request license. Check Request automatically at startup to request it every time the application starts. The floating license is released when Babel Desktop exits.
Troubleshooting License File Issues
If you have license file issues, please check out the following points.
- Ensure the license file babel.licenses is next to babel.exe or babel.dll in the folder where you extracted the zip package, or that the BABEL_LICENSE_PATH environment variable points to it.
- 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 are using the DEMO version, replace it with the retail package.
- 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. A license file is made for one specific version of the product; it also unlocks newer versions released while its maintenance is active, but not versions released after the maintenance expired.
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