如果我们想要混淆脚本代码,那么我们可以Shell 脚本编译器工具 (SHC)
,使用 shc 将 bash/shell 脚本编译为二进制文件
,隐藏源代码
并防止被被人修改的功能。
在centos系统上,安装shc。
yum install -y shc
- 先写一个bash 脚本,并保持为hello.sh
#!/bin/bash
echo "my name is $1"
- 测试执行该脚本
[sftcwl@gz-cvm-ebuild-xuxiaoyu-dev001 ~]$ sh ./hello.sh xiaoyu
my name is xiaoyu
- 使用
shc
编译hello.sh
shc -f hello.sh
- 执行完成后同目录下会生成俩个文件,如下
[sftcwl@gz-cvm-ebuild-xuxiaoyu-dev001 shc]$ ls
hello.sh hello.sh.x hello.sh.x.c
hello.sh.x 是编译后的二进制文件
,而hello.sh.x.c则是 C 编译后的文件。
- 重命名二进制文件
mv hello.sh.x hello
此时hello文件就是一个二进制文件了
- 测试二进制文件
[sftcwl@gz-cvm-ebuild-xuxiaoyu-dev001 ~]$./hello xiaoyu
my name is xiaoyu
发现结果和shell脚本返回的完全一致,到此二进制文件编译完成,其实超级简单吧。
- 将hello二进制文件加入到环境变量中
加入之后记得使用source
命令,然后就可以在任何目录愉快的使用hello
二进制命令了。
网友评论