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 ANSI X3.159-1989 (“ANSI C89”) 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
AUTHORS
Sandro Sigala <[email protected]>