是否有可能损坏 Bash 脚本,使其变得无法被任何人阅读?如果可以,可以将其恢复吗?或者,我可以查看运行脚本时正在执行哪些命令吗?
答案1
代码混淆只是一层虚假的安全感。您可以学习和编写编译后的 C 或 C++ 语言的代码。另外,如果您可以对其进行反混淆,那么其他人可能也会这样做。
不过,这里提到了一些混淆脚本:
http://www.linuxquestions.org/questions/linux-general-1/can-i-encrypt-a-shell-script-828096/
http://www.datsi.fi.upm.es/~frosal/(shc 曾经存在于 debian/ubuntu 存储库中,但由于其易于解密和利用,因此已被删除)
另一方面,您可以设置脚本权限,以便除了 root 之外的其他用户无法读取它(或者设置 sudoers 文件并使用 sudo 对其进行配置)。
答案2
您可以将其用于shc
特定目的。
因此你可以使用此命令来编码:
shc -f script.sh
它会生成两个文件:
script.sh.x
script.sh.x.c
那.c
是C编程语言文件。并且.x
是可执行文件。
因此运行它使用:
chmod +x script.sh.x
./script.sh.x