Related articles |
---|
Making a partial C compiler cyberheg@l115.langkaer.dk (John Eskie) (2003-05-18) |
Re: Making a partial C compiler torbenm@diku.dk (2003-05-23) |
Re: Making a partial C compiler matt@peakfive.com (Matt Rosing) (2003-05-24) |
Re: Making a partial C compiler blackmarlin@asean-mail.com (2003-05-24) |
Re: Making a partial C compiler idbaxter@semdesigns.com (2003-05-24) |
Re: Making a partial C compiler cyberheg@l115.langkaer.dk (John Eskie) (2003-05-29) |
Re: Making a partial C compiler vbdis@aol.com (2003-06-03) |
Re: Making a partial C compiler lars@bearnip.com (2003-06-03) |
Re: Making a partial C compiler boldyrev@cgitftp.uiggm.nsc.ru (Ivan Boldyrev) (2003-06-03) |
Re: Making a partial C compiler jyrixx@astro.temple.edu (2003-06-03) |
Re: Making a partial C compiler torbenm@diku.dk (2003-06-05) |
Re: Making a partial C compiler cyberheg@l115.langkaer.dk (John Eskie) (2003-06-08) |
Re: Making a partial C compiler cyberheg@l115.langkaer.dk (John Eskie) (2003-06-08) |
Re: Making a partial C compiler vbdis@aol.com (2003-06-20) |
From: | lars@bearnip.com (Lars Duening) |
Newsgroups: | comp.compilers |
Date: | 3 Jun 2003 00:42:32 -0400 |
Organization: | Compilers Central |
References: | 03-05-139 03-05-202 |
Keywords: | C |
Posted-Date: | 03 Jun 2003 00:42:32 EDT |
John Eskie <cyberheg@l115.langkaer.dk> wrote:
> Thanks to everyone who responded.
> However I don't think I made myself really clear on what objectives
> I have. The obfuscator I want to create should produce obfuscated
> source code that will be functionally the same as the original. I
> don't really care about source code obfuscation if it looks nice to
> read since I only distribute binary files. So I only concentrate on
> what will be seen on disassembly. (For java there has existed such
> obfuscators for many years, but they only work on bytecode and not
> sourcecode.)
If I remember correctly obfuscators for Java were needed because the
Java compilers produced very predictable bytecode from a given Java
source statement, and also stored all identifier names in the
generated class files. For C/C++ neither is a concern as its possible
to generate binary files without any symbol information, and the
advanced optimiziers do some code rearrangement on their own.
> 2. Introduction of parallel code i.e. dummy code which doesn't interfear
> with the real program but make things harder to read since you gotta figure
> out what is real and what isn't real.
This 'dead code' has a good chance of being thrown out by the optimizer.
> 3. Rearranging of code so if you got 3 blocks of statements A, B, C you can
> do:
> 4. Dynamic "linking" by making exact function calls to be resolved at
> runtime by using function pointers.
I can imagine that both measures would be quite detrimental to the
program's performance as it requires excessive branching.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.