zoukankan      html  css  js  c++  java
  • Shell 脚本加密

    shc加密

    加密软件shcshc是linux的一款加密脚本的插件东西比较安全我们可以利用wget将文件放在root目录下也可以通过sftp放在root目录也可以直接利用cd命令选择目录

    wget https://files-cdn.cnblogs.com/files/meilong/shc-3.8.9b.tar
    tar vxf shc-3.8.9b.tgz
    cd shc-3.8.9b
    make test
    make strings
    make install
    

    复制代码->发现报错的情况比较严重

    *** Installing shc and shc.1 on /usr/local
    *** ?Do you want to continue? y
    install -c -s shc /usr/local/bin/
    install -c -m 644 shc.1 /usr/local/man/man1/
    install: target `/usr/local/man/man1/' is not a directory: No such file or directory
    make: *** [install] Error 1
    #复制代码
    #请创建 mkdir -p /usr/local/man/man1/ ,然后运行make install
    #也可以直接无视,一般没什么影响,只是少了对应的帮助文档。
    

    常用参数:

    • -e date (指定过期日期)
    • -m message (指定过期提示的信息)
    • -f script_name(指定要编译的shell的路径及文件名)
    • -r Relax security. (可以相同操作系统的不同系统中执行)
    • -v Verbose compilation(编译的详细情况)

    加密方法

    • 假如说我们这个脚本名字叫sokebox.com.sh那我们就执行Bashshc -v -f sokebox.com
      • -v 是现实加密过程
      • -f 后面跟需要加密的文件
    • abc.sh.x为二进制文件,赋予执行权限后,可直接执行。更改名字mv sokebox.com.sh.x sokebox.com.sh
    • abc.sh.x.c 是c源文件。基本没用,可以删除
    • 过期加密法:另shc还提供了一种设定有效执行期限的方法,过期时间,如:
    shc -e 14/09/2016 -m -f sokebox.com.sh
    #选项“-e”指定过期时间,格式为“日/月/年”;选项“-m”指定过期后执行此shell程序的提示信息。
    #如果在过期后执行,则会有如下提示:
    
    ./abc.sh.x
    ./abc.sh.x: has expired!(文件已经过期)
    #使用以上方法要注意,需防止用户更改系统时间,可以通过在程序中加入自动更新系#统时间的命令来解决此问题。
    #测试都已通过,请放心使用!
    

    unshc解密

    wget https://files-cdn.cnblogs.com/files/meilong/unshc.sh
    [*] Usage : ./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.sh script.sh.x
            ./unshc.sh script.sh.x -o script_decrypted.sh
            ./unshc.sh script.sh.x -a 400f9b
            ./unshc.sh script.sh.x -d /tmp/dumpfile -s /tmp/strfile
            ./unshc.sh script.sh.x -a 400f9b -d /tmp/dumpfile -s /tmp/strfile -o script_decrypted.sh
    
    魏美龍|DevOps Engineer|will_wei_devops@163.com
  • 相关阅读:
    Django Form组件的扩展
    Python TCP与UDP的区别
    Python三次握手和四次挥手
    网络基础之网络协议
    Python 类方法、实例方法、静态方法的使用与及实例
    python深浅拷贝
    2021牛客寒假算法基础集训营1 题解
    01 Trie 专题
    MOTS:多目标跟踪和分割论文翻译
    牛客巅峰赛S2第6场题解
  • 原文地址:https://www.cnblogs.com/meilong/p/10368263.html
Copyright © 2011-2022 走看看