zoukankan      html  css  js  c++  java
  • shell脚本加密软件shc

    一.简单介绍

    shc是linux的一款加密脚本的插件,将shc放到系统的可执行目录下我们可以直接运行shc命令

    二.shc的安装

    [root@disk ~]#yum install gcc -y
    [root@disk ~]#curl -fsSl http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz > shc-3.8.9.tgz
    [root@disk ~]#tar zxf shc-3.8.9.tgz
    [root@disk ~]#cd shc-3.8.9
    [root@disk ~]#make
    [root@disk ~]#mv shc /bin/
    [root@disk ~]#cd
    

    三.使用shc加密

    参数说明:

    -v:是加密过程
    -f:后面跟需要加密的文件
    

    这里举个实例进行说明:

    [root@k8s001 test]# shc -v -r -f test-shc.sh 
    shc shll=bash
    shc [-i]=-c
    shc [-x]=exec '%s' "$@"
    shc [-l]=
    shc opts=
    shc: cc  test-shc.sh.x.c -o test-shc.sh.x
    shc: strip test-shc.sh.x
    shc: chmod go-r test-shc.sh.x
    

    运行完成后,会生成两个文件test-shc.sh.x和test-shc.sh.x.c,其中test-shc.sh.x为二进制文件,这里给予可执行权限后,可直接执行。当前也可以进行重命名:

    # 直接执行二进制文件
    [root@k8s001 test]# ./test-shc.sh.x 
    ==============shc test=============
    # 重命名后执行
    [root@k8s001 test]# mv test-shc.sh.x test.sh
    [root@k8s001 test]# ./test.sh 
    ==============shc test=============
    

    test-shc.sh.x.c是c的源文件,这里基本没有作用,可以删除。

    注意:这里我们需要注意参数-r很重要,如果脚本只需要在当前服务器上执行,可以不加,如果需要在别的系统下也能执行,这里就需要加-r

    四.解密

    [root@k8s001 test]# git clone https://github.com/yanncam/UnSHc.git
    [root@k8s001 test]# ./UnSHc/latest/unshc.sh -h
     _   _       _____ _   _      
    | | | |     /  ___| | | |     
    | | | |_ __  `--.| |_| | ___ 
    | | | | '_  `--.   _  |/ __|
    | |_| | | | /\__/ / | | | (__ 
     \___/|_| |_\____/\_| |_/\___|
    
    --- UnSHc - The shc decrypter.
    --- Version: 0.8
    ------------------------------
    UnSHc is used to decrypt script encrypted with SHc
    Original idea from Luiz Octavio Duarte (LOD)
    Updated and modernized by Yann CAM
    - SHc   : [http://www.datsi.fi.upm.es/~frosal/]
    - UnSHc : [https://www.asafety.fr/unshc-the-shc-decrypter/]
    ------------------------------
    
    [*] Usage : ./UnSHc/latest/unshc.sh [OPTIONS] <file.sh.x>
    	 -h | --help                          : print this help message
    	 -a OFFSET | --arc4 OFFSET            : specify the arc4() offset arbitrarily (without 0x prefix)
    	 -d DUMPFILE | --dumpfile DUMPFILE    : provide an object dump file (objdump -D script.sh.x > DUMPFILE)
    	 -s STRFILE | --stringfile STRFILE    : provide a string dump file (objdump -s script.sh.x > STRFILE)
    	 -o OUTFILE | --outputfile OUTFILE    : indicate the output file name
    
    [*] e.g : 
    	./UnSHc/latest/unshc.sh script.sh.x
    	./UnSHc/latest/unshc.sh script.sh.x -o script_decrypted.sh
    	./UnSHc/latest/unshc.sh script.sh.x -a 400f9b
    	./UnSHc/latest/unshc.sh script.sh.x -d /tmp/dumpfile -s /tmp/strfile
    	./UnSHc/latest/unshc.sh script.sh.x -a 400f9b -d /tmp/dumpfile -s /tmp/strfile -o script_decrypted.sh
    

    这里我们对刚才解密的脚本进行解密:这里脚本后面跟上我们需要解密的脚本即可

    [root@k8s001 test]# ./UnSHc/latest/unshc.sh test.sh
    [root@k8s001 test]# cat test.sh.sh 
    #!/bin/bash 
    echo "==============shc test============="
    
  • 相关阅读:
    springboot/springcloud 启动速度慢 卡死问题
    数据分析路线
    java杂
    贪吃蛇
    设计模式的七大原则
    Java--GUI编程(三)总结AWT/Swing
    时间复杂度
    Java--GUI编程(二)简易加法计算器
    Java--GUI编程(一)
    Java--this与super区别
  • 原文地址:https://www.cnblogs.com/yuhaohao/p/10373050.html
Copyright © 2011-2022 走看看