Documentation
Configuration
General

General Configuration

General and top-level configurations.

Name of Import and Stub Binary

This option allows you to specify the name of the import library and the stub DLL.

The name must be an alphanumeric string without any special characters and ends with .dll.

The path names (such as MyApp/stub.dll) are not supported.

config.json
{
  "import_name": "stub.dll"
}

Stripping Imports from the Binary

This option allows you to specify whether or not to strip the imports from the binary.

This option is currently ignored and true by default.

config.json
{
  "protect_import": true
}

Destroy the Export from the Binary

This option allows you to specify whether or not to destroy the export from the binary.

This option is useful when the application executable has unused exports and you do not want to expose in distributed binary format. Applying this option for the export DLLs will make the binary broken at runtime.

config.json
{
  "destroy_export": true
}

Removing Rich Header

See Removing Rich Header for more information how to remove rich header in the pipeline instead of relying on the Avaritia capability.

This option allows you to specify whether or not to emit the rich header from the binary.

The rich header is a data structure in the PE file format that is used by the MSVC linker to store information about the build environment. The rich header is kind of fingerprint to purposely track the cyber threat actors and it does not used by Windows loader. Removing rich header will make the produced binary less identifiable.

While Avaritia producer will ignore this option when there are no rich header in the binary since this is really specific to MSVC linker. If your application is under the Clang (LLD), GCC, MinGW, etc., (the toolchains that does not rely on the MSVC linker) this option will not affect the binary.

config.json
{
  "remove_rich_header": true
}

Singleton Instance

This feature is currently under development.

This option allows you to specify whether or not to enforce the singleton instance for the application.

  • null (default): No singleton.
  • ApplicationScope: Only one instance of the process is allowed.
  • ProductScope: Only one instance of the process protected with this product is allowed.
config.json
{
  "singleton": "ApplicationScope"
}
© 2024-present SECTOR 501 LLC. All rights reserved.
Buildbff736e