Skip to content

Commit 4034a09

Browse files
committed
updates readme
2 parents f18f244 + ff66f94 commit 4034a09

File tree

3 files changed

+14
-291
lines changed

3 files changed

+14
-291
lines changed

README.md

Lines changed: 14 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,25 @@
11
[![build status image](https://travis-ci.org/neurobin/shc.svg?branch=release)](https://travis-ci.org/neurobin/shc)
2+
[![GitHub stars](https://img.shields.io/github/stars/neurobin/shc.svg)](https://github.com/neurobin/shc/stargazers)
3+
[![GitHub forks](https://img.shields.io/github/forks/neurobin/shc.svg)](https://github.com/neurobin/shc/network)
4+
[![GitHub issues](https://img.shields.io/github/issues/neurobin/shc.svg)](https://github.com/neurobin/shc/issues)
25

36
# Shell Script Compiler
47

5-
A generic shell script compiler. Shc takes a script, which is
6-
specified on the command line and produces C source code. The
7-
generated source code is then compiled and linked to produce a
8-
stripped binary executable.
8+
A generic shell script compiler. Shc 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 executable.
99

10-
The compiled binary will still be dependent on the shell specified in the
11-
first line of the shell code (i.e shebang) (i.e. #!/bin/sh), thus shc does not create com‐
12-
pletely independent binaries.
10+
The compiled binary will still be dependent on the shell specified in the first line of the shell code (i.e shebang) (i.e. #!/bin/sh), thus shc does not create completely independent binaries.
1311

14-
shc itself is not a compiler such as cc, it rather encodes and encrypts a
15-
shell script and generates C source code with the added expiration capability.
16-
It then uses the system compiler to compile a stripped binary which behaves
17-
exactly like the original script. Upon execution, the compiled binary will
18-
decrypt and execute the code with the shell -c option.
12+
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 -c option.
1913

20-
# Install:
14+
## Install
2115

2216
1. ./configure
2317
2. make
2418
3. sudo make install
2519

26-
**Note:** If `make` fails due to *automake* version, run `./autogen.sh` before running the above commands.
20+
**Note** If `make` fails due to *automake* version, run `./autogen.sh` before running the above commands.
2721

28-
## On Ubuntu:
22+
### Ubuntu-specific
2923

3024
```
3125
sudo add-apt-repository ppa:neurobin/ppa
@@ -35,34 +29,26 @@ sudo apt-get install shc
3529

3630
If the above installation method seems like too much work, then just download a compiled binary package from [release page](https://github.com/neurobin/shc/releases/latest) and copy the `shc` binary to `/usr/bin` and `shc.1` file to `/usr/share/man/man1`.
3731

38-
# Usage:
32+
## Usage
3933

4034
```
4135
shc [options]
4236
shc -f script.sh -o binary
4337
shc -U -f script.sh -o binary # Untraceable binary (prevent strace, ptrace etc..)
4438
```
4539

46-
47-
48-
# Testing:
40+
## Testing
4941

5042
1. `cd` to `test` directory: `cd test`
5143
1. Try: `shc -f test.bash -o test`, where <span class="light-quote">test.bash</span> is the bash source.
5244
2. output binary file will be test. If no output file is specified
5345
by the `-o` option, then it will create an executable with `.x` extension by default.
5446

47+
## Known bugs
5548

56-
# Known bugs:
57-
58-
59-
The one (and I hope the only) limitation using shc is the
60-
_SC_ARG_MAX system configuration parameter.
61-
62-
It limits the maximum length of the arguments to the exec function,
63-
limiting the maximum length of the runnable script of shc.
49+
The one (and I hope the only) limitation using shc is the _SC_ARG_MAX system configuration parameter.
50+
It limits the maximum length of the arguments to the exec function, limiting the maximum length of the runnable script of shc.
6451

6552
!! - CHECK YOUR RESULTS CAREFULLY BEFORE USING - !!
6653
<h3><a href="http://neurobin.github.io/shc/man.html">Man Page</a></h3>
6754
<h3><a href="http://neurobin.github.io/shc">WebPage</a></h3>
68-

man.html

Lines changed: 0 additions & 146 deletions
This file was deleted.

man.md

Lines changed: 0 additions & 117 deletions
This file was deleted.

0 commit comments

Comments
 (0)