cobfusc(1) make a C source file unreadable but compilable


cobfusc [-AabdemntxV ] [-c case ] [-f suffix ] [-g file ] [-i idobf ]
[-o file ] [-p prefix ] [-r file ] [-s seed ] [-u file ] [-w cols ]
[-z file ] [file ... ]


This document contains only a brief description of cobfusc For a more complete documentation, please read the Info file or the Texinfo manual.

The cobfusc utility converts the input file, written in the C language, into a human unreadable one, but compilable. The main work is converting every identifier into a meaningless one, removing any comment and compacting all the white-spaces when they are not required.

The options are as follows:

Enable a heavy obfuscation for the source file. This is equivalent to the -ademt -i numeric options. The digraphize option is not enabled by default since the Amendement 1 (1994) changes to St -ansiC-89 are supported only by few C compilers.
Garble every string with octal escapes.
Enable the digraphize mode.
-c no \*(Ba lower \*(Ba upper \*(Ba screw \*(Ba random
Set the identifier case obfuscation mode.
Compact the macros removing backslashes and white-spaces when they are not required.
Compact the white-spaces when they are not required.
-f suffix
Put the output of each processed file in a separate file with suffix appended to file name instead of standard output. This is useful when processing a package with a lot of source files.
-g file
Add first the identifiers contained in file to the obfuscation table. Useful when those identifiers are shared between two or more source files.
-i no \*(Ba numeric \*(Ba word \*(Ba random
Set the identifier obfuscation mode.
Strip the comments.
Garble integers with expressions.
-o file
Set the output destination to file
-p prefix
Specify the prefix to use when generating the identifiers.
-r file
Tell cobfusc that the identifiers contained in file must not be obfuscated.
-s seed
Specify the seed for generating the random numbers.
Enable the trigraphize mode.
Dump the symbol table to file
Print version information on standard output then exit.
Set the width limit of the output.
Exclusive mode; obfuscate only the identifiers specified by the -g and -z parameters.
-z file
Add the identifiers pairs contained in file to the obfuscation table.


Sandro Sigala <[email protected]>