Skip to main content.

Stunnix C/C++ Obfuscator

Introduction to Stunnix CXX-Obfus

BuyNow:
Download:
Product Website:

Stunnix CXX-Obfus is an advanced tool for making C and C++ source code difficult to understand and adapt. It's useful for cases when source code of some project needs to be shipped without fear of intellectual property theft or illegal code reuse. For example, some companies that ship cross-platform software prefer to ship it in the obfuscated source code form, thus expecting customers to build that software on any platform they wish to use it - for example FlexeLint for C/C++ by Gimpel Software (a tool for checking C/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 highly mangled and obfuscated form, making it extermely difficult to study, analyse, reuse and re-work for competitors or customers, while fully retaining functionality of the original blocks of source code.

The obfuscation means:

Obfuscated code is extremely difficult to understand for a human since the name of variables and subroutines and other symbols are totally meaningless and hard to remember (e.g. files becomes zcadaa4fc81). It's possible to control all aspects of code hiding using the commandline switches of the CXX-Obfus. An example of how cryptic typical file after obfuscation and encoding with CXX-Obfus looks like is available.

The features summary of Stunnix CXX-Obfus:

Stunnix CXX-Obfus features in detail

Project Manager - an advanced user interface for projects of any complexity

Power and flexibility of Stunnix Obfuscators are now available via graphical user interface, eliminating the need to even read descriptions of commandline options supported! Stunnix Obfuscator Project Manager - an advanced intuitive cross-platform graphical user interface is included. It allows to protect projects of any complexity, consisting of files of any type, even allowing code in some files to be processed with different sets of options or even not processed at all. It has 'build project' functionality available in most popular IDEs that will result in processing only files which are more fresh than their protected version; files free from code (like images or Make files) will simply be copied to the directory with protected version of the project, allowing to use Project Manager as a generic replacement for 'Make'-like utility. It completely eliminates the need to compose and invoke commandlines manually, all operations can be performed using mouse.

Users who prefer to use commandline will be able to compose build script (a special project-specific perl program that effectively is a smart stand-alone replacement for project-specific Makefile that already includes functionality of the Make utility) for a project using Project Manager and just invoke that build script to perform desired operation like cleaning all output files, rebuilding only changed files or rebuilding all files (with ability to specify only a subset of files to be subject of an operation).

You can see Stunnix CXX-Obfus Project Manager running on our site in demo mode (destructive and editing operations are disabled in it).

Supports obfuscation of C and C++ source code of any dialect

. Stunnix CXX-Obfus supports C and C++ source code files. Any dialect of these languages is supported, even with non-standard compiler extensions - e.g. MSVC extensions, GCC extensions, Borland extensions.

Supports correct obfuscation of any preprocessor macros and conditionals of any complexity

Stunnix CXX-Obfus performs obfuscation to names and bodies of macros, supporting any use of preprocessor conditionals. Symbols in all branches of preprocessor conditionals are obfuscated in a consistent way.

Supports source compression mode

Stunnix CXX-Obfus supports source code compression mode via the use of special aid included- in this mode symbols are renamed to the shortest random allowed symbol name possible in order to minimize resultant size of output (the more used symbols are renamed to the shorter symbols). This turns Stunnix CXX-Obfus into so-called "source code compressor" tool. This module works perfectly for multimodule projects too.

Special mode for as quick preparing of project for protection as possible

A special obfuscation modes are present that let project to be adapted for obfuscation very quickly. There is no need to spend valuable time while performing trial-and-error process of preparation. Due to availability of unique utilities for symbol extraction not available with any other products, the preparation process is short as theoretically possible.

Comes with rich set of exception tables

A very rich set of exception tables is included for common C and C++ libraries: ANSI C standard library, ISO C standard library, ISO C++ standard library (with and without STL symbols), POSIX standard v.2, UNIX95 standard, XPG3 standard, XPG4 standard, X Window System release 5, Motif user interface toolkit.

Each exception table is stored in a separate file, it's easy to select what set of tables to load on a given invokation or all invokations of Stunnix CXX-Obfus due to a rich set of commandline options and configuration file.

Included means to gather project-specific exceptions

Included Project Manager user interface provides ability to extract all symbols from ActiveX or OLE components. Without this ability composing lists of exceptions for a project of even medium size is very time-consuming, dull and error-prone process, most typically accomplished by using trial-and-error technique.

Full support for products consisting of several C and C++ files

Stunnix CXX-Obfus, unlike other tools, was designed with multi-file complex products in mind. It means that with same set of obfuscation parameters given symbol name will be obfuscated to the same name independant of its position and file it's located in. Mixing C and C++ source files in the same project is perfectly supported too.

Full support for keeping library files application uses in non-obfuscated (original) form

Some C and C++ applications use third-party libraries or even COM/CORBA objects. In case of third-party COM/CORBA objects, there is no way to make their method and property names to become obfuscated, and in case of third-party libraries licensing conditions most often disallow modification of those modules, thus there are no options except shipping them in original, non-obfuscated form. Stunnix CXX-Obfus perfectly allows such cases with the concept of the exception lists - a lists of names that shouldn't be obfuscated; some means to generate such exception lists from the source to be obfuscated are also present in Stunnix CXX-Obfus.

A lot of options to tightly control the obfuscation

As all Stunnix products, programs of a Stunnix CXX-Obfus suite have a lot of commandline options to tightly control each aspect of their operation. All options have intuitive names, and there is extensive documentation on each option available. Default options for main part of the Stunnix CXX-Obfus suite can be stored in a globally-visible file in order to make use of it more convenient.

There is free very useful web-based commandline builder for CXX-Obfus too; it's very useful for getting impressions of what abilities CXX-Obfus provides.

Means to make analysis of changes between different releases of the obfuscated product more difficult

Among a variety of options that control each aspect of obfuscation and encoding, there are ones that make only obfuscated versions of the same source code to be different from each other. This can be used to make analysis of changes between different versions of the software much more difficult. Another use is distributing unique versions of the obfuscated code to each customer - this way developer can track which customer violated license conditions that resulted in distribution of the product to somebody else.

Key internal parameters of encoding already depend on random values, so the encoded version of the same file will be different on each run.

Easy to install on any Unix/Linux, MacOS X or Windows workstation or server

Stunnix CXX-Obfus is a suite of Perl applications. It requires a Perl interpreter to run, if you don't have one, you can install the one supplied by your OS vendor or download it for free from ActiveState. No additional non-standard Perl modules are required for Stunnix CXX-Obfus to run.

It's used just fine on Unix, Linux, MacOS X, WindowsXP and Windows98 .

Stunnix CXX-Obfus comes as an archive file in tar.gz format. It needs to be extracted to any directory you like. Optionally one can set default values for the site-specific options in the configuration file, however most people won't need to change the defaults.

Web-based commandline builder is available

Despite the fact that primary interface to Stunnix CXX-Obfus is commandline-based, there is very useful commandline builder for CXX-Obfus available. There is a link to the documentation near each form field, that fully explains the purpose and semantics of corresponding option.

It is very useful for getting impression of what abilities CXX-Obfus provides.

Related links

Evaluation version of Stunnix CXX-Obfus is available for download on our site.

Full documentation for Stunnix CXX-Obfus is available online.

Interactive web-based commandline builders are available on our site. They are very useful for getting impression of what abilities CXX-Obfus provides too.

An example of how cryptic typical file after obfuscation with CXX-Obfus looks like is available.

Security and System Information

HSLAB HTTP Monitor

HSLAB HTTP Monitor is a handy real-time performance monitoring and statistics analysis software application for Apache servers, which are used ubiquitously in the web hosting industry.

HSLAB Print Logger PE

Reduce your printing expenses by setting quotas for printing! The Print Logger software is intended for control and auditing of printer activity. The program monitors the print tasks on the computer where it is installed.

HSLAB Logger

The complete solution for the background control and logging the users activity. This software allows to record actions of the user (users) of a computer on start the applications, opening documents, access to the Internet and removable media.

HSLAB Sys Monitor

HSLAB Sys Monitor is a real-time monitoring and statistics tool that allows you to keep an eye on a specific system performance value. You can choose from CPU, memory, network connections, network traffic, disk space, connected users and more. You can only monitor one of these values at a time, but easily switch between them as needed. The small display can be placed anywhere on your screen and takes up very little desktop space.

HSLAB Prefetch Manager

"Faster XP/2003/Vista Boot and Application Launch with Prefetch Manager!"™

Real-time monitoring for Apache web servers
Security solution for employee activity and working time monitoring
Windows Printing Software Collection
Software for business and home
Printer accounting software
Free software downloads provided by HSLAB
Handy Software Lab's site for russian speaking people
IT Software Press Release and News
Handy Software Lab Products Knowledge Base
Human edited, system and security software site
Monitoring, Security, Protection Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corp. in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Software sites at Top100.ws