cobfusc - 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:
-A 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 ANSI X3.159-1989 (“ANSI C”) are supported only by few
-a Garble every string with octal escapes.
-b Enable the digraphize mode.
-c no | lower | upper | screw | random
Set the identifier case obfuscation mode.
-d Compact the macros removing backslashes and white-spaces when
they are not required.
-e Compact the white-spaces when they are not required.
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.
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 | numeric | word | random
Set the identifier obfuscation mode.
-m Strip the comments.
-n Garble integers with expressions.
Set the output destination to file.
Specify the prefix to use when generating the identifiers.
Tell cobfusc that the identifiers contained in file must not be
Specify the seed for generating the random numbers.
-t Enable the trigraphize mode.
-u Dump the symbol table to file.
-V Print version information on standard output then exit.
-w Set the width limit of the output.
-x Exclusive mode; obfuscate only the identifiers specified by the
-g and -z parameters.
Add the identifiers pairs contained in file to the obfuscation
Sandro Sigala <email@example.com>