summaryrefslogtreecommitdiffstats
path: root/development/shc/README
blob: 560ad6f8c8b81900ee5b12a7f21a9e9f8e859c4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 shells'
-c option.