shell脚本变成二进制文件

SHC 安装

shc是一个脚本编译工具, 使用RC4加密算法, 它能够把shell程序转换成二进制可执行文件(支持静态链接和动态链接)。

git: https://github.com/neurobin/shc

1
2
3
./configure
make
sudo make install

Note If make fails due to automake version, run ./autogen.sh before running the above commands.

准备一个shell脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash

total=0

for i in [email protected]; do
if [ ! -z "${i##[0-9]*}" ]; then
echo "Please enter numeric only"
exit 1
fi
total=$(($total + $i))
done

if [ $total -eq 0 ]; then
echo "Plesae execute script like: $0 10 20 30"
exit 0
fi

echo $total

开始

1
shc -v -r -e "1/1/2021" -m "expired date" -f shell.sh

-e date (指定过期时间) -m message (指定过期提示的信息) -f script_name (指定要编译的shell路径) -r relax security (在不同操作系统执行) -v Verbose compilation (输出编译的详细情况)

注意:加密的过程中会生成两个文件*.sh.x*.sh.x.c*.sh.x.c 是脚本的源文件,可删除。 *.sh.x就是原来脚本的可执行文件,可随意改名,可直接执行。

测试

1
2
3
4
$ mv shell.sh.x add

$ ./add 10 20
30
坚持技术分享,您的支持将鼓励我继续创作!