Man Linux: Main Page and Category List


     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
             C compilers.

     -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.

     -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 | numeric | word | random
             Set the identifier obfuscation mode.

     -m      Strip the comments.

     -n      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

     -s seed
             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.

     -z file
             Add the identifiers pairs contained in file to the obfuscation


     cunloop(1), indent(1)


     Sandro Sigala <>