Linux repositories inspector


July 1, 2001


C source code utilities


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] []


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.


Sandro Sigala <>
⇧ Top