COBFUSC(1) BSD General Commands Manual 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 man-
ual.
The cobfusc utility converts the input file, written in the C language, into a human unreadable one, but compilable. The main work is con-
verting 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 | 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 use-
ful 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 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>
BSD
July 1, 2001 BSD