summaryrefslogtreecommitdiff
path: root/development/shc/README
blob: cfc1c6af02d8f8cf1ffc0d7c63b1c071ca8b85ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
shc - Shell script compiler

SHC is a generic shell script compiler. It takes a script, which
is specified on the command line and produces C source code. The
generated source code is then compiled and linked to produce a
stripped binary.

The compiled binary will still be dependent on the shell specified
in the first line of the shell code (i.e shebang: #!/bin/sh or such),
thus shc does not create completely independent binaries.

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