COBFUSC(1)

NAME
cobfusc - make a C source file unreadable but compilable

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

DESCRIPTION
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 ansiC-89 are supported only by few C compilers.

-a  Garble every string with octal escapes.

-b  Enable the digraphize mode.

-c no \*(Ba lower \*(Ba upper \*(Ba screw \*(Ba 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 \*(Ba numeric \*(Ba word \*(Ba 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 obfuscated.

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

SEE ALSO
cunloop(1), indent(1)

AUTHORS
Sandro Sigala <sandro@sigala.it>