COBFUSC(1)

✨ NAME ✨

bestie, this is cobfusc β€” make a C source file unreadable but compilable. the header vibes are UNTITLED(), LOCAL, UNTITLED(), so the manual name is folded in right here, periodt. πŸ’…


🌸 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 πŸ’–

okay so real talk: this doc is only a brief description of cobfusc. for the full lore, please read the Info file or the Texinfo manual, bestie. πŸ“š

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. it’s giving chaos but make it compile. 😭✨

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.
ngl, that Amendement spelling is exactly what the page says. also, digraphize is not on by default because only a few C compilers support those changes. πŸ’€
  • -a β€” Garble every string with octal escapes.
  • -b β€” Enable the digraphize mode.
  • -c β€” Set the identifier case obfuscation mode. values: no | lower | upper | screw | random.
  • -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 β€” Set the identifier obfuscation mode. values: no | numeric | word | random.
  • -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. (synopsis shows -u file, iykyk.)
  • -V β€” Print version information on standard output then exit.
  • -w β€” Set the width limit of the output. (synopsis calls the argument cols.)
  • -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 <sandro@sigala.it> πŸ’–


kisses bestie, this page is from Debian, dated July 1, 2001, and it’s COBFUSC(1). bye! 🫢✨