首页 > 系统相关 >如何使用SHC对Shell脚本进行封装和源码隐藏

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

时间:2023-10-27 18:45:56浏览次数:54  
标签:脚本 Shell auto sh SHC 安装 源码 shc

在许多情况下,我们需要保护我们的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
    make
    sudo make install
  4. 验证安装

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

    shc -v

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

使用SHC编译脚本

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

  1. 使用shc进行编译

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

    shc -f auto.sh

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

  2. 运行编译后的脚本

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

    ./auto.sh.x

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

标签:脚本,Shell,auto,sh,SHC,安装,源码,shc
From: https://www.cnblogs.com/n00dle/p/17792964.html

相关文章

  • CompletableFuture源码学习
    了解到CompletableFuture的基础用法之后,我们不禁好奇,以前的Future模式不支持如此好用的异步编程,CompletableFuture是如何做到的呢?这就需要我们去阅读源码了,通过源码我们才能了解到其设计思想和实现方式,我们分析下supplyAsync和thenApplyAsync这两个,并且是提供线程池的接口,因为......
  • 记一次任意文件下载到Getshell
    任意文件下载(ArbitraryFileDownload)是一种常见的Web攻击技术,用于窃取服务器上任意文件的内容。攻击者利用应用程序中的漏洞,通过构造恶意请求,使应用程序将任意文件(如配置文件、敏感数据等)发送给攻击者。一旦攻击者成功利用这种漏洞,就可以从服务器上获取应用程序所拥有的任意文......
  • 一文彻底弄懂Linux-Shell编程
    一、Shell 编程之条件结构1、Shell 条件测试语法test 测试表达式利用test命令进行条件测试表达式, test命令与测试表达式之间至少有一个空格[测试表达式]通过[]中括号进行条件测试表达式, []中括号边界与测试表达式之间至少有一个空格[[测试表达式]]通过[[]]双中括......
  • 易语言银行余额虚拟生成器制作,提供源码思路,仅供学习
    今天这边带来的是一个图片生成器,是用易语言进行开发的,整个代码我算了一下不超过10行,然后就需要一个图片框组件和三个编辑框,三个标签,一个按钮就能实现,真的非常非常简单,大家可以照猫画虎哈,这也仅仅只是为大家做的一个演示示范。软件截图:程序集源码分享:.版本2.程序集窗口程......
  • 易语言农业银行模拟器电子回执单生成器,分享源码和程序
    比如朋友之间的装逼娱乐,这个工具挺有用的,我自己学易语言很多年了,要开发这么一个工具轻而易举,而且整个开发下来要不了200行代码,我下面开发的这个工具是农业银行的电子回执单生成器,就是可以生成一个回执单图,里面的参数都可以通过程序修改,开发工具用的是易语言。先看下界面吧: 软......
  • e4a开发了银行回执单生成器app,电子版都可以,分享源码和程序
    闲着没事,朋友之间装逼娱乐经常能用到,还好之前我还学了半年的e4a开发,虽然现在e4a已经被专卖了,但是软件正常可以用,但是启动的时候会有版权,然后这个APP也是用e4a进行开发的,就是内置了很多回执单图片,然后前台设置了很多编辑框,你只需要输入参数它会自动数据指定内容的回执单,我先把设计......
  • 【医院手麻系统源码】临床设备数据自动采集+无缝集成医院信息系统+自动生成医疗文书
    手术麻醉临床信息系统源码 手术麻醉临床信息系统,采用计算机和通信技术,实现监护仪、麻醉机、输液泵等设备输出数据的自动采集,采集的数据能够如实准确地反映患者生命体征参数的变化,并实现信息高度共享,根据采集结果,综合其他患者数据,自动生成手术麻醉相关医疗文书,以达到提高手术室工作......
  • 直播源码开发,实现 scroll-view 自动滚动到底部,并控制触发频率
    直播源码开发,实现scroll-view自动滚动到底部,并控制触发频率HTML scroll-view固定高度,允许纵向滚动,scrollTop值通过变量动态改变。将scroll-view内容区域通过view标签进行包裹。 <scroll-viewclass="dialogue-box":scroll-y="true":scroll-top="scrollTop"> <v......
  • 易语言开发银行流水生成器,分享源码仅供学习
    小编我是做技术开发的,易语言的话学了将近有10年左右,然后看网上很多人都在找这个玩意,然后就是有一个人卖9000多,感觉那种人就是向前想疯了,我分析了一下它的软件源码,也就是辅助生成数据,并不是一键它会生成文档,就是给你按参数生成固定的数据,然后需要你自己复制粘贴,这个原理的实现真的......
  • 直播软件源码,java数据分页几种方式
    直播软件源码,java数据分页几种方式1.使用PageUtils Service: /**   *分页查询   *   *@paramparams查询条件   *@returnPageUtils   */  PageUtilsqueryPage(Map<String,Object>params);   ServiceImpl: Page<数据库对象实体>pa......