Bash- 如何使 Linux 脚本文件人类不可读?

-2 linux script shell

我见过许多可执行但无法读取的 Linux 脚本,因为它们是二进制格式。

我的问题是如何使我的脚本不可读/二进制格式?

Red*_*ick 12

我的问题是如何使我的脚本不可读/二进制格式?

一般来说,你不能轻易地以任何不痛苦的方式做到这一点。

脚本是纯文本文件(不是非文本二进制文件),必须由脚本解释器读取。脚本解释器使用运行脚本的用户的 ID 和权限运行。因此,脚本必须是用户可读的,因此可以直接读取而无需使用脚本解释器。

有一些方法可以混淆脚本,但这只会让生活变得更加艰难,并不会真正阻止阅读脚本。

原则上,您可以创建一个 Set-UID 脚本解释器,它在运行时使用更高的权限,因此可以读取用户自己没有读取权限的脚本文件。一些脚本解释器是故意编写的,因此出于安全原因,它们拒绝以这种方式以提升的权限运行。

如果您想创建一个源代码不易阅读的程序,您可以将脚本转换为编译语言或使用各种技巧。但是反编译器、反汇编器和其他工具通常可以从已编译的代码中重新创建可读的源代码。

我见过许多可执行但无法读取的 Linux 脚本,因为它们是二进制格式。

我没有。在我看来,二进制格式的任何东西都不是脚本。我有兴趣看一个例子。

  • 也许他的意思是那些只包含大量嵌入式二进制 blob 和几行实际脚本的安装程序脚本,以将其转储到文件中并执行它?只是一个想法。 (6认同)
  • `+1` 表示“我没有”:P (5认同)