user3079907
user3079907

Reputation: 133

C++ code obfuscation for static LIB

Basically I have this…

I have created a WPF application. It references a C++/CLI wrapper to a native static LIB.

Now the static LIB has commercially sensitive algorithms.

The code for the static LIB is small and simple.

As it stands someone could decompile the LIB with Ada Pro / Hex-Rays and work out the algorithms easily. What I was wondering was if I could obfuscate the source code then the decompiled LIB would have additional complexity.

What I would like is some way of making what is a fairly small and straight-forward code base obfuscated enough to make it difficult to work out the algorithm from the de-compilation.

Two things. Firstly, I understand that this will not prevent someone from discovering the algorithm. I just want to increase the costs of doing so in terms of time and money. Secondly, I am not actually worried too much about the code itself, it is just the algorithm I want to hide.

I ask here because, a google search gives a lot about obfuscation but says little for this particular case when the codebase is small and simple. Is there are alternative approach that I have overlooked?

Additionally. I am not concerned with obfuscating the managed code.

Upvotes: 4

Views: 7642

Answers (2)

superreeen
superreeen

Reputation: 149

You can take a look at antispy C/C++ Obfuscation Library for all platforms they offer a range of obfuscation techniques.

Upvotes: 1

Michael Haephrati
Michael Haephrati

Reputation: 4225

Here are several things you can do which may decrease the chances of a 3rd party to find out what your library does, how it works, sensitive strings and so on.

  1. String obfuscation

a. https://www.codeproject.com/Articles/502283/Strings-Obfuscation-System

b. https://www.codeproject.com/Articles/1210398/Small-String-Obfuscator

  1. source code level obfuscation

a. http://www.semdesigns.com/Products/Obfuscators/

b. http://stunnix.com/prod/cxxo/

Upvotes: 1

Related Questions