Documentation
THE MANUAL
Getting Started
After subscribing and downloading OmniVNX from your dashboard, extract the archive to your preferred location. You'll find:
-
check
venux.exe The CLI protection tool
-
check
venux_sdk.lib + venux.h SDK library and header for marking code regions
-
check
venux_ext.h Plugin development header
Requirements: Windows 10/11 (x64), Visual Studio 2019+ for compiling your project with the SDK.
SDK Integration
Link against venux_sdk.lib and include venux.h in your project. Then annotate code regions with marker macros:
#include <venux.h>
void my_sensitive_function() {
VNX_VIRTUALIZATION_BEGIN;
// ... code to virtualize ...
VNX_VIRTUALIZATION_END;
}
void my_other_function() {
VNX_OBFUSCATION_BEGIN;
// ... code to obfuscate ...
VNX_OBFUSCATION_END;
}
CLI Usage
Protect a binary with a single command:
venux.exe --input myapp.exe --output myapp_protected.exe --anti-debug --anti-tamper
All Options
| Flag | Description |
|---|---|
| -i, --input <file> | Input PE file to protect |
| -o, --output <file> | Output file path |
| -p, --project <json> | Load settings from project config |
| -m, --map <file> | MAP file for symbol resolution |
| --plugins <dir> | Plugin directory to load |
| --anti-tamper | Enable anti-tamper integrity checks |
| --anti-debug | Enable anti-debug protections |
| --reflection | Enable process reflection |
| --no-pack | Disable packing/compression |
| --no-core | Disable core obfuscation transforms |
| --no-anti-disasm | Disable anti-disassembly padding fill |
| --no-ep-obf | Disable entry-point obfuscation |
| -b, --backup | Create backup of original file |
| -v, --verbose | Verbose logging |
| -q, --quiet | Suppress all output |
| --gen-config | Print default JSON config and exit |
SDK Markers
| Macro | Protection Level |
|---|---|
| VNX_VIRTUALIZATION_BEGIN / END | Full code virtualization (strongest) |
| VNX_OBFUSCATION_BEGIN / END | Multi-layer obfuscation |
| VNX_CODE_FLATTENING_BEGIN / END | Control-flow flattening |
| VNX_LITE_OBFUSCATION_BEGIN / END | Lightweight obfuscation |
| VNX_DUAL_MODE_BEGIN / END | Virtualization + obfuscation combined |
Project Configuration
Generate a default config with venux.exe --gen-config > myproject.json, then customize:
{
"input": "target.exe",
"output": "target_protected.exe",
"virtualizer": {
"enabled": true,
"complexity": 3
},
"obfuscator": {
"enabled": true,
"control_flow_flattening": true,
"string_encryption": true
},
"protector": {
"anti_tamper": true,
"anti_debug": true,
"pack": true,
"import_protection": true
}
}
Plugin Development
Create a DLL exporting the required C interface to extend the protection pipeline:
#include <venux_ext.h>
extern "C" {
__declspec(dllexport)
VnxPluginInfo* VnxGetPluginInfo() {
static VnxPluginInfo info = {
1, "MyPlugin", "1.0", "Author",
"My custom protection plugin"
};
return &info;
}
__declspec(dllexport)
int VnxPluginEvent(
VnxPluginEvent event,
VnxPluginContext* ctx
) {
if (event == VNX_EVENT_POST_TRANSFORM) {
// custom post-transform logic
}
return 0;
}
}