shc:解决 shell 脚本保密性问题的利器
Shell脚本编写起来非常方便。脚本的问题是保密性不好。当你在编辑器中打开它时,你就会知道你写了什么。您不能将用户名、密码等放入脚本中。 shc可以解决你的这部分问题。问题。
安装shc
*
sudo add-apt-repository ppa:neurobin/ppa
sudo apt-get update
sudo apt-get install shc
* mac(需要使用原生的/usr/bin/strip,brew安装的/usr/local/bin/strip会导致程序无法启动)
brew install shc
加密脚本
shc -v -f test.sh
-v 为模式,输出更详细的编译日志;
-f 指定脚本的名称。
ll test*
-rwxr-xr-x 1 1178 八月 18 10:00 test.sh
-rwx--x--x 1 8984 八月 18 18:01 test.sh.x
-rw-r--r-- 1 14820 八月 18 18:01 test.sh.xc
file test.sh.x
test.sh.x:ELF 32 位 LSB,Intel 80386, 1 (SYSV),适用于 GNU/Linux 2.2.5,(使用库),
可以看到生成了动态链接可执行二进制文件test.sh.x和C源文件.sh.xc。注意,生成的二进制文件不能在其他平台上运行,因为它是动态链接的形式。
生成静态链接的二进制可执行文件
您可以使用以下方法生成静态链接的二进制可执行文件:
CFLAGs=-static shc -r -f test.sh
file testup.sh.x
sch加密脚本的有效时间
一般来说是安全的,但是可以使用gdb等调试工具来获取原始源代码。如果您需要更安全的方法,可以考虑使用它。另外shc还可以设置脚本的运行周期以及自定义返回信息:
shc -e 03/31/2007 -m "the mysql backup scrīpt is now out of date." -f test.sh
-e表示该脚本将在2007年3月31日之前过期,并根据-m定义的信息返回给最终用户。
工具地址: