• 如何使用SHC对Shell脚本进行封装和源码隐藏


    在许多情况下,我们需要保护我们的shell脚本源码不被别人轻易查看。这时,使用shc工具将shell脚本编译成二进制文件是一个有效的方法。本文将详细介绍如何在线和离线条件下安装shc,并将其用于编译你的脚本。

    什么是SHC?

    shc是一个由C语言编写的Shell脚本加密程序,它可以将你的脚本编译成二进制可执行文件,从而隐藏源码。

    安装SHC

    在线安装

    如果你的机器能够连接到互联网,以下是在不同操作系统上安装shc的步骤:

    • Ubuntu:

      sudo apt-get install shc
    • macOS:

      brew install shc
    • CentOS:

      yum install shc

    离线安装

    如果你的机器无法连接到互联网,那么你可以在有网络的环境中下载 shc 源码包,然后离线安装。

    1. 在有网络的环境中下载 shc 源码包

      下载链接:https://github.com/neurobin/shc/archive/refs/tags/4.0.3.tar.gz

    2. 复制该文件到目标机器

      可以通过USB存储设备或者局域网进行传输。

    3. 在目标机器上安装 shc

      tar -xvzf shc-4.0.3.tar.gz
      cd shc-4.0.3
      mkdir -p /usr/local/man/man1 #这步是必须的,不然安装过程中会报错,shc将安装命令到/usr/local/bin/目录下;将帮助文档存放在/usr/local/man/man1/目录下,如果系统中无此目录,安装时会报错,可创建此目录后再执行安装
      make sudo make install #这步要回答yes或者y,不能直接回车,否则会报错
    4. 验证安装

      安装完成后,可以通过以下命令检查shc是否已经成功安装:

      shc -v

      如果能看到版本信息,则表示shc已经安装成功。

    使用SHC编译脚本

    假设你有一个名为 auto.sh 的 shell 脚本,并希望将其编译成二进制文件以隐藏源码。只需两步即可完成:

    1. 使用shc进行编译

      在命令行中输入以下命令:

      shc -f auto.sh    #“-f”选项指定需要加密的程序

      此操作会生成两个新文件:auto.sh.x.cauto.sh.xauto.sh.x是可执行的二进制文件,而auto.sh.x.c则是生成二进制文件的C源文件。

    2. 运行编译后的脚本

      你可以直接运行编译后的二进制文件:

      ./auto.sh.x

    请注意,虽然shc可以很好地隐藏你的源代码并防止轻度反向工程,但如果需要更高级别的保护,你可能需要将脚本重写为一个编译型语言(如C、Go或Rust),或者使用专门的软件加密工具进行封装和加密。

  • 相关阅读:
    ChatGPT王炸升级
    哈希结构的实现
    Python爬虫数据分析的基本概念
    c++ 函数的参数是否可以为auto
    HTML八大特性
    C语言——三种方式实现学生信息管理
    用神经网络模拟3个距离为0的粒子
    react 网页/app复制分享链接到剪切板,分享到国外各大社交平台,通过WhatsApp方式分享以及SMS短信方式分享链接内容
    MindSpore入门教程03 数据加载
    自增还是UUID,数据库主键的类型该如何选择?
  • 原文地址:https://www.cnblogs.com/n00dle/p/17792964.html