Re: C/C++ obfuscator

"Ira Baxter" <idbaxter@semdesigns.com>
30 Jan 2005 13:45:15 -0500

          From comp.compilers

Related articles
C/C++ obfuscator quicon93@yahoo.ca (Abbas) (2005-01-22)
Re: C/C++ obfuscator lkrupp@pssw.NOSPAM.com.INVALID (Louis Krupp) (2005-01-24)
Re: C/C++ obfuscator walter@bytecraft.com (Walter Banks) (2005-01-24)
Re: C/C++ obfuscator ppluzhnikov@charter.net (Paul Pluzhnikov) (2005-01-25)
Re: C/C++ obfuscator gneuner2@comcast.net (George Neuner) (2005-01-25)
Re: C/C++ obfuscator lkrupp@pssw.NOSPAM.com.INVALID (Louis Krupp) (2005-01-30)
Re: C/C++ obfuscator idbaxter@semdesigns.com (Ira Baxter) (2005-01-30)
Re: C/C++ obfuscator ppluzhnikov@charter.net (Paul Pluzhnikov) (2005-02-03)
Re: C/C++ obfuscator robert.hundt@gmail.com (2005-02-03)
Re: C/C++ obfuscator ppluzhnikov@charter.net (Paul Pluzhnikov) (2005-02-06)
Re: C/C++ obfuscator lkrupp@pssw.com (Louis Krupp) (2005-02-06)
| List of all articles for this month |

From: "Ira Baxter" <idbaxter@semdesigns.com>
Newsgroups: comp.compilers
Date: 30 Jan 2005 13:45:15 -0500
Organization: http://extra.newsguy.com
References: 05-01-074
Keywords: C++, tools
Posted-Date: 30 Jan 2005 13:45:15 EST

"Abbas" <quicon93@yahoo.ca> wrote in message


> I would like to know if anyone know about a commercial C/C++
> obfuscator. I know there are some out there but these are mostly
> syntax and lexical transformation ...


My company, Semantic Designs (SD) makes one of these.


> What I am looking for is more control flow obfuscator and data flow
> obfuscator, these obfuscator make the flow of the program more
> complex, while obtaining its original functionality. The dynamic
> analysis of the program execution becomes much more difficult by
> multiple nesting of placebo code and the insertion of placebo code.
> Does any one have any idea of the commercial available tools.


No. Since we make products in this space, we've been listening for
such things, but have not heard of one. In another thread, there is
discussion of the size of the market as a driver, which is right to
the point; there doesn't seem to be a lot of demand for more
sophisticated obfuscators. Yours is the first request I've seen
directly.


Doing one is quite difficult. You need a full source-to-source
program transformation system capable of parsing C++. If you want to
retain maximal configurability of the source code, it has to also
retain preprocessor conditionals, macro calls, and templates.


SD's DMS Software Reengineering Toolkit has all of these properties.
Since we don't think there's a big enough market, we're unlikely to
product such an obfuscator. However, DMS is intended for people with
custom needs such as yours, to implement correspondingly custom tools.


See http://www.semanticdesigns.com/Products/DMS/DMSToolkit.html


Another thread suggests that obfuscating control flow is a bad idea,
because it makes it hard to prove the scrambled program is yours. I'm
not sure I'm convinced of that; if I exhibit the original source code,
and run (a presumably deterministic) obfuscation procedure that
produces control-flow obfuscated code that matches something, I think
I have pretty good evidence that I produced it.


Another approach is to watermark the code with your corporate
copyright. That would seem pretty hard to refute, too.


The above are personal opinions; I'm not a lawyer.
YMMV.
--
Ira D. Baxter, Ph.D., CTO 512-250-1018
Semantic Designs, Inc. www.semdesigns.com


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.