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 equiva
lent 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 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 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>
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout