Stunnix C++ Obfuscator is an advanced tool for making C and C++ source code difficult to understand and adapt. It`s useful for cases when source code needs to be shipped without fear of intellectual property theft or illegal code reuse.
Several companies that develop cross-platform software applications prefer to ship them in the obfuscated source code form, expecting customers to build that software on any platform they wish.
For example: FlexeLint for C/C++ by Gimpel Software (a tool for checking C and C++ source code) is distributed as obfuscated source code, eliminating the need to compile the software for each and every platform potential customers can use.
It converts the C and C++ source code into a highly mangled and obfuscated form, making it extermely difficult for competitors or customers to study, analyse, reuse and re-work while fully retaining the original functionality.
The obfuscation means:
· Replacing symbol names with non-meaningfull ones
· Replacing numeric constants with expressions, e.g. replacing 232 with (0x14b6+2119-0x1c15)
· Removing or obfuscation of comments
· Removing spaces and tabs in the lines of code
· Joining all lines in your code
Here are some key features of "Stunnix C/C++ Obfuscator":
· 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.
· 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 interfaces are included.
Limitations:
· The demo version has no support for md5/combs/shortest manglers for identifiers though it will pretend that it supports them, but actually will use the `prefix` mangler for identifiers (that prepends constant string to each symbol, suggesting in which places symbols will be mangled).
· ?