是否有可能对 Bash 脚本进行修改,使其无法被任何人读取?如果是这样,它可以解体吗?或者,我可以在运行脚本时查看正在执行的命令吗?
Sav*_*vic 11
代码混淆只是一层虚假的安全感。您可以学习和编写编译后的 ac 或 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 对其进行配置)。
您可以shc出于目的使用。
所以你可以使用这个命令来编码:
shc -f script.sh
Run Code Online (Sandbox Code Playgroud)
它生成两个文件:
script.sh.x
script.sh.x.c
Run Code Online (Sandbox Code Playgroud)
那.c是在 C 编程语言文件中。并且.x是可执行文件。
所以运行它使用:
chmod +x script.sh.x
./script.sh.x
Run Code Online (Sandbox Code Playgroud)