Shc (shell script compiler)

shc is a shell script compiler for Unix-like operating systems written in the C programming language. The Shell Script Compiler (SHC) encodes and encrypts shell scripts into executable binaries. Compiling shell scripts into binaries provides protection against accidental changes and source code modification, and is a way of hiding shell script source code.

Mechanism
takes a shell script which is specified on the command line by the  option and produces a C source code of the script with added encryption. The generated source code is then compiled and linked to produce a binary executable. It is a two step process where, first, it creates a  file of the shell script file. Then it is compiled with  to create the binary from the C source code with the default C compiler.

The compiled binary will still be dependent on the shell specified in the shebang (eg. ), thus   does not create completely independent binaries.

itself is not a compiler such as the C compiler, it rather encodes and encrypts a shell script and generates C source code with the added expiration capability. It then uses the system C compiler to compile the source shell script and build a stripped binary which behaves exactly like the original script. Upon execution, the compiled binary will decrypt and execute the code with the shells' option.

Alternatives

 * obash
 * shellcrypt
 * shellcrypt