bash - 如何缩小/混淆 bash 脚本

标签 bash shell obfuscation minify

<分区>

当然,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/

相关文章:

linux - 将 wget 与 OpenID 登录结合使用

shell - 将文件中的字符串替换为另一个文件中的变量

linux - 从文件添加 iptable 规则

c - 如何实现历史记录功能?

c - 如何像使用 execl 的 bash 一样使用 Ctrl+D 退出?

bash - 从 shell 脚本中的后台函数中获取 PID

java - 使用 yguard 时出现 IllegalStateException : Unable to open nested entry 'BOOT-INF/lib/xxx.jar' .

android - 在 Eclipse for Android 中启用 ProGuard

java - Android 在神秘的 d() 方法中崩溃

在 bash 脚本上调用 execve bash 找不到参数