shell 也可以加密吗?想起之前下了一个阿里云的脚本。结果除了前面几行。后面都是乱码。跑又跑得起来。是不是加密过了?

2020-07-24 06:56:04 +08:00
 freelancher
2453 次点击
所在节点    Linux
14 条回复
yanqiyu
2020-07-24 11:27:55 +08:00
乱码是什么形式,要么是类似于 base64 的编码(解码运行),要么是直接把后面的东西单独拿出来干活

记得很早之前 AMD 驱动 fglrx 就是这种形式,本体看起来是 sh,但是实际上里面有一堆二进制(实际上是压缩包),运行的时候会解压压缩包然后运行里面的程序(我愿称之为自解压 sh )
Yut
2020-07-24 16:44:15 +08:00
@yanqiyu 为什么会有这种操作,这也太怪了吧
freelancher
2020-07-24 19:33:19 +08:00
@yanqiyu 好像就是二进制的文字。因为是很久之前了。突然想起才问一下的。因为我满想看一下阿里云他们写的代码规范之类的。
Yadomin
2020-07-25 12:37:22 +08:00
可能后面是 bin
panzhc
2020-07-25 17:49:27 +08:00
类似 gzexe ?需要解释执行的最终都会还原成脚本,只是增加读取的难度
ungrown
2020-07-27 11:27:00 +08:00
@Yut #2
保护代码,或者减少发布的文件数量
sh 可以加密、混淆
https://www.thegeekstuff.com/2012/05/encrypt-bash-shell-script/
https://stackoverflow.com/questions/9907200/how-to-minify-obfuscate-a-bash-script
windows 的命令行批处理也可以内部集成二进制可执行文件,然后在同一个批处理内调用这些内置程序
实现方式可以用 certuril,或者 powershell 指令,或者其他工具
https://gist.github.com/mo-han/5bc4ae2e544bd73288b175b3d7669d1e
freelancher
2020-07-27 15:00:25 +08:00
@ungrown 谢谢。但是当时运行的时候。sh 后面没有跟着 X.应该不是这种加密方式吧。
freelancher
2020-07-27 15:01:01 +08:00
就是普通的 sh 文件。然后我打开看。下面的到结尾的大段全部都是乱码。太奇怪 了。
saytesnake
2020-07-29 17:10:57 +08:00
当然可以加密,一般涉及到敏感信息的脚本比方说啥备份的,都用 shc 加密一下。
Yut
2020-07-29 22:21:15 +08:00
@ungrown 谢谢老哥,但是这样的话完全放弃了修改吧,只适合那种永远不会改的小工具什么的?
ungrown
2020-07-29 23:08:42 +08:00
@Yut #10 我自己没写过,我猜也是,但是有解码就有编码,文件变了应该也能一键更新
zanelee
2020-08-02 10:06:46 +08:00
win10 上打开过了,字符集有问题了?
freelancher
2020-08-02 12:02:44 +08:00
@zanelee LINUX 下也看过。就是不行才想到是加密的。
qbqbqbqb
2020-08-17 16:41:16 +08:00
@freelancher 那种其实就相当于自解压包,上面是脚本,脚本结束部分有个 exit,后面放置一个分隔符和二进制内容,前面脚本部分里包含了将后面的二进制内容抽取解压执行的代码。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/692686

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX