<分区>
当然,bash 文件无法真正混淆并且始终是可读的。而且我不想将它们包装在一些二进制包中。 并且重命名局部变量不值得麻烦。
但是是否有一个可靠的简单 bash 混淆器或压缩器,它至少可以删除所有缩进、所有空行和所有空格而不破坏任何内容?尤其是脚本中可能包含敏感文档或信息的注释和注释部分?
我会害怕简单的 grep/sed 行来执行此操作,因为当然不能修改“HEREDOCs”,所以需要一些真正的解析。
也许有一个工具可以做到这一点,那就太好了!
<分区>
当然,bash 文件无法真正混淆并且始终是可读的。而且我不想将它们包装在一些二进制包中。 并且重命名局部变量不值得麻烦。
但是是否有一个可靠的简单 bash 混淆器或压缩器,它至少可以删除所有缩进、所有空行和所有空格而不破坏任何内容?尤其是脚本中可能包含敏感文档或信息的注释和注释部分?
我会害怕简单的 grep/sed 行来执行此操作,因为当然不能修改“HEREDOCs”,所以需要一些真正的解析。
也许有一个工具可以做到这一点,那就太好了!
最佳答案
:P 这里有一些有趣的东西。
假设您的脚本名为 origin
,混淆后的脚本名为 obsf
。
这是来源
:
#!/bin/sh
echo "fooo"
这里是obsf
$ echo "echo $(base64 origin)" > obsf
$ cat obsf
echo IyEvYmluL3NoCmVjaG8gImZvb28iCg==
$ chmod +x obsf
现在 rm origin
并像这样运行 obsf
:
$ sh obsf | base64 -d | sh
fooo
呵呵:3
关于bash - 如何缩小/混淆 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9907200/