Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
freelancher
V2EX  ›  Linux

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

  •  
  •   freelancher · Jul 24, 2020 · 3427 views
    This topic created in 2195 days ago, the information mentioned may be changed or developed.
    14 replies    2020-08-17 16:41:16 +08:00
    yanqiyu
        1
    yanqiyu  
       Jul 24, 2020 via Android
    乱码是什么形式,要么是类似于 base64 的编码(解码运行),要么是直接把后面的东西单独拿出来干活

    记得很早之前 AMD 驱动 fglrx 就是这种形式,本体看起来是 sh,但是实际上里面有一堆二进制(实际上是压缩包),运行的时候会解压压缩包然后运行里面的程序(我愿称之为自解压 sh )
    Yut
        2
    Yut  
       Jul 24, 2020
    @yanqiyu 为什么会有这种操作,这也太怪了吧
    freelancher
        3
    freelancher  
    OP
       Jul 24, 2020
    @yanqiyu 好像就是二进制的文字。因为是很久之前了。突然想起才问一下的。因为我满想看一下阿里云他们写的代码规范之类的。
    Yadomin
        4
    Yadomin  
       Jul 25, 2020 via Android
    可能后面是 bin
    panzhc
        5
    panzhc  
       Jul 25, 2020
    类似 gzexe ?需要解释执行的最终都会还原成脚本,只是增加读取的难度
    ungrown
        6
    ungrown  
       Jul 27, 2020   ❤️ 1
    @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
        7
    freelancher  
    OP
       Jul 27, 2020
    @ungrown 谢谢。但是当时运行的时候。sh 后面没有跟着 X.应该不是这种加密方式吧。
    freelancher
        8
    freelancher  
    OP
       Jul 27, 2020
    就是普通的 sh 文件。然后我打开看。下面的到结尾的大段全部都是乱码。太奇怪 了。
    saytesnake
        9
    saytesnake  
       Jul 29, 2020
    当然可以加密,一般涉及到敏感信息的脚本比方说啥备份的,都用 shc 加密一下。
    Yut
        10
    Yut  
       Jul 29, 2020
    @ungrown 谢谢老哥,但是这样的话完全放弃了修改吧,只适合那种永远不会改的小工具什么的?
    ungrown
        11
    ungrown  
       Jul 29, 2020
    @Yut #10 我自己没写过,我猜也是,但是有解码就有编码,文件变了应该也能一键更新
    zanelee
        12
    zanelee  
       Aug 2, 2020
    win10 上打开过了,字符集有问题了?
    freelancher
        13
    freelancher  
    OP
       Aug 2, 2020
    @zanelee LINUX 下也看过。就是不行才想到是加密的。
    qbqbqbqb
        14
    qbqbqbqb  
       Aug 17, 2020
    @freelancher 那种其实就相当于自解压包,上面是脚本,脚本结束部分有个 exit,后面放置一个分隔符和二进制内容,前面脚本部分里包含了将后面的二进制内容抽取解压执行的代码。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1006 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 22:28 · PVG 06:28 · LAX 15:28 · JFK 18:28
    ♥ Do have faith in what you're doing.