Download C/C++ Obfuscator
from WinXP to Win10


Mac OS
from 10.4 to current version


Any distro for x86 or x86_64


Interactive obfuscation of files of various types

Use controls at the right to see how different options affect result of obfuscation; use player-like buttons to navigate between samples and to control playback.

some text in title
Obfuscate C or C++ source with our C/C++ Script Obfuscator. It protects C, C++ source files by obfuscating symbol names and ints and encoding strings. Obfuscation of C and C++ is controllable by a lot of options. Properly obfuscated C or C++ source code can be compiled by any compiler. Our C/C++ Obfuscator mangles C or C++ source in all files in the project. Mangling and scrambling of C/C++ can be performed via commandling or GUI interfaces.


Unique features of C/C++ Obfuscator
Supports all C/C++ compilers

Supports all compilers and C/C++ dialects - MSVC, GCC, LLVM etc. C/C++ Obfuscator can be adapted to any compiler just by listing its reserved keywords as symbols that should not be modified.

Any use of macros is supported

Any use of macros is supported, bodies of macros will be obfuscated. For conditional statements, code will be obfuscated in all branches.

Rename source and header files

Rename files and directories where they reside, making their names meaningless. The names of files in #include directives will be updated accordingly.

Code is protected on your computer, not in cloud

Your code is protected locally on your computer. No internet connection is required for protecting your code by C/C++ Obfuscator.

Any API is supported, just define all its symbols

Protect C/C++ code that uses any C/C++ libraries. Just list all symbols that define the API as "exceptions". Tools to generate such lists from header files are included.

Watermark your code

Make different versions of your code and ship each of them to different customer. This will allow you to find out which customer distributed your code without your permission.

  • Evaluation use only
  • Expires in 3 monthes
  • Instead of mangling, ReplacementFor_ gets prepended to symbols
Single developer
  • Can be used by only 1 developer
  • Does not expire
  • All features are available.
Contact us
  • All developers can use it
  • Does not expire
  • All features are available.
Features of GUI for C/C++ Obfuscator
Full support for multifile projects, with files of different types

You can create projects containing files of several types (e.g. .html, .php and .js files in a single projects), all symbols will be consistently renamed in all files.

Has GUI and command line versions

Stunnix JavaScript Obfuscator has powerfull GUI shell called Project Manager. It can generate command line scripts to build/rebuild/clean entire or part of your project. Also low-level command line interface is available.

Supports Windows, Mac and Linux

GUI and commandline versions of C/C++ Obfuscator can be run on Windows, Mac and Linux.

Debugging mode included

Among dozens presets, there are 3 presets for debugging your code. They help preparing your code for protection by applying the protection gradually, that makes testing your code easier.

Extremely configurable

A lot of options to tightly control obfuscation and checks for licensing conditions are available - each function has a lot of options. For example, there are 5 ways to mangle symbols (names of functions and variables).

Extract symbols for any API

Project Manager includes tool to extract symbols that define API from a set .h/.hpp files. Another tool is present that allows to extract all symbols from API exported by ActiveX Component. Extracted symbols would be kept unmodified in obfuscated code.

Screenshots of Project Manager tool

Below are screenshots of Stunnix C/C++ Obfuscator Project Manager GUI. There is a LIVE ONSITE demo of it too!

  • Project menu
  • Settings menu
  • Meta options - locations of directories, project title
  • Browsing file processing modes
  • Editing settings for one of file processing modes
  • Assigning modes to files
  • Configuring how to handle files, not registered in the project
  • Switching code mangling options
  • Configuring file name mangling options
  • Menu items for Build menu
  • Menu items for Tools menu
  • Screen letting to extract symbols from all files in certain directory
  • Extracting names of symbols from ActiveX components
  • Building command line for command line version of obfuscator
  • Menu items for Symbols menu
  • Configuring how to treat header files included by source code of the project
  • Editing case-insensitive list of user exceptions
  • Editing user-specified exceptions
  • Editing user-specified antiexceptions
  • Editing list of suffixes to keep in symbols
  • Editing user-specified symbol mapping
  • Viewing resultant symbol mapping
  • Viewing list of autoextracted exceptions
  • Menu items for File/Directory names menu
  • Editing predicate for file/directory renaming
  • Viewing mapping of file names
  • Viewing mapping of directory names
  • Menu items for Help menu

The obfuscation of C/C++ code means

Click on the small button "more info" below each item to expand details.

Replacing symbol names with non-meaningfull ones, e.g. replacing list_of_customers with zcadaa4fc81
Replacing numeric constants with expressions, e.g. replacing 232 with (0x14b6+2119-0x1c15)
Replacing characters in strings with their hex escapes, e.g. turning string "cust" into "\x63\x75\x73\x74"
Renaming files and directories with source code, e.g. renaming /lib/context.c into /7a84b51/b4e8c5.c
Removing or obfuscation of comments
Removing spaces and tabs in the lines of code
Joining all lines in your code

The features summary of C/C++ Obfuscator

Click on the small button "more info" below each item to expand details.

C and C++ Obfuscator is cross-platform product, it can be easily installed and used on Windows, Mac OS X, Linux, Solaris or any other Unix OS.
Supports correct obfuscation of all preprocessor macros and conditionals of any complexity
It can rename source files and directories with source files to make the code even more difficult to study. Arguments of #include directive will be updated respecting the new (mangled) name of file and directory.
Full support for products consisting of several C and C++ files in the same C/C++ Obfuscation Project
C and C++ Obfuscator includes Obfuscation Project Manager - an advanced intuitive cross-platform (Windows, MacOS X, Linux and Unix) graphical user interface for protecting any size project created with C/C++ with mixed types of code , complete with with IDE-like functionality (supporting Build, Rebuild Changed, Clean)
It can extract symbols for any API - just provide a directory with the files defining API
C and C++ Obfuscator has special debugging mode and unique tools to generate a list of symbols that can't be changed, saving development time.
C and C++ Obfuscator supports several advanced ways to generate obfuscated names including using shortest possible name.
C and C++ Obfuscator supports all C/C++ dialects of all existing compilers
Many options to tightly control the obfuscation and encoding of C and C++ Obfuscator
Ability to watermark C/C++ and to make the study of changes between versions of the same file more difficult
C and C++ Obfuscator allows creation of lists of symbols that shouldn't be modified; Many exception tables for standard APIs and libraries are included
Used by a lot of companies

Please introduce your self

Why we are asking this?