一、shc加密文件

Shc可以用来对shell脚本进行加密,可以将shell脚本转换为一个可执行的二进制文件。经过shc对shell脚本进行加密后,会同时生成两种个新的文件,一个是加密后的可执行的二进制文件(文件名以.x结束),另一个是C语言的原文件(文件名以.x.c结束)。

下面就说明一下shc的安装,参数,以及使用示例:
(官网下载地址: http://www.datsi.fi.upm.es/~frosal/sources/)

安装命令:

# wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz

# tar zxf shc-3.8.9.tgz 
# cd shc-3.8.9
# make
# make install

(仅用make就可以完成安装,运行shc时要指出绝对路径;用make install,将shc安装到/usr/local/bin下,可以直接运行)

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

使用方法:
# shc -v -f abc.sh
-v 是现实加密过程
-f 后面跟需要加密的文件  
运行后会生成两个文件: 
abc.sh.x 和 abc.sh.x.c
abc.sh.x为二进制文件,赋予执行权限后,可直接执行。更改名字mv abc.sh.x a.sh 
abc.sh.x.c 是c源文件。基本没用,可以删除

另shc还提供了一种设定有效执行期限的方法,过期时间,如:
# shc -e 28/01/2012 -m "过期了" -f abc.sh
选项“-e”指定过期时间,格式为“日/月/年”;选项“-m”指定过期后执行此shell程序的提示信息。
如果在过期后执行,则会有如下提示:
# ./abc.sh.x  
./abc.sh.x: has expired!
过期了

其他事项

1) 安全问题:总体来说,相对安全。对于一般的应用场景来说是够用的。但是也可以通过gdb等其它的调试工具获得源码。如果安全系数要求更高, 可以考虑使用wzshSDK。
   2) 跨平台运行:在编译shc的时候就要修改相应的Makefile,修改成交叉编译工具链。完成后,生成的加密的二进制文件就可以在目标平台运行了。

二、unshc解密shc加密的文件

项目地址:https://github.com/yanncam/UnSHc

sh脚本下载地址:https://github.com/yanncam/UnSHc/blob/master/release/0.8/unshc-v0.8.sh

[root@server:~/unshc]$ ./unshc.sh -h_   _       _____ _   _
| | | |     /  ___| | | |
| | | |_ __ \ `--.| |_| | ___
| | | | '_ \ `--. \  _  |/ __|
| |_| | | | /\__/ / | | | (__\___/|_| |_\____/\_| |_/\___|--- UnSHc - The shc decrypter.
--- Version: 0.6
------------------------------
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.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

shc/unshc工具用于加/解密shell脚本相关推荐

  1. linux shell 脚本要不要加,linux shell脚本基本命令费不需要网

    用VB打造自己的SQL连接器 大家好.....好长时间没上网了...祝大家新年快乐....好了.工程开始 现建一个普通窗口..放上3个textBox控件. 一个是用来输入ip的txtaddres..还 ...

  2. shc加密(仅仅对shell脚本加密)

    shc加密(仅仅对shell脚本加密) shc是一个专业的加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件,这个办法很好的解决了脚本中含有IP. 密码等不希望公开的问题 ...

  3. shell脚本之工具

    在学习了shell脚本的基本语法,命令,符号之后,接下来要看的就是shell脚本使用的所有工具了. 在shell脚本中,工具的使用简化了所要编写的代码.接下来就介绍几个shell下经常使用的工具. 1 ...

  4. ubuntu shell脚本弹窗小工具yad

    ubuntu shell脚本弹窗小工具yad 简介 安装 使用 选择文件夹/文件 输入文本 选择下拉菜单 小结 简介 yad是ubuntu下面的一个很有用的命令行工具,可以在shell脚本里弹窗给用户 ...

  5. 【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-汇总 ( Chapter17-ChapterB )

    十七.创建函数 bash shell 提供了用户自定义函数功能,可以将 shell 脚本代码放入函数中封装起来. 函数是一个脚本代码块,你可以为其命名并在脚本中的任何位置重用它.每当需要在脚本中使用该 ...

  6. 使用拦截器进行数据加解密

    文章目录 使用拦截器进行数据加解密 1. 加解密工具 3. 加解密字段注解 3.1 加密注解 3.2 解密注解 4. 封装加解密工具 5. 拦截器 6. 不同框架配置说明 6.1 springboot ...

  7. shell脚本——expect的综合使用(包含应用案例)

    这里写目录标题 Expect概述 基本命令 应用案例 磁盘自动分区脚本 远程ssh另一台主机 自动连接ftp下载文件 综合案例 Expect概述 Expect是建立在tcl基础上的一个工具,Expec ...

  8. 69:shell脚本介绍 | shell脚本结构 | 执行data命令用法 | shell脚本中变量

    2019独角兽企业重金招聘Python工程师标准>>> 1.shell脚本介绍: shell是一种脚本语言和传统的开发语言相比,会比较简单: shell有自己语法,可以支持逻辑判断. ...

  9. shell实例第18讲:利用gzexe加密shell脚本

    利用gzexe加密shell脚本 gzexe_test.sh内容如下: #!/bin/bashecho "gzexe test!" 结果: 使用gzexe加密shell脚本命令:g ...

  10. shell 脚本加密

    想想好久没更新博客了,今天在群里看到讨论关于shell脚本加密的事情. 想想也是,我们在写脚本有时候会配置相关账号和密码的事情,这样只要能权限都能看到该信息,非常的不安全,有没有在正常运行的情况下对文 ...

最新文章

  1. python基础教程书籍推荐-入门python有什么好的书籍推荐?
  2. 阿里面试经历JAVA总结
  3. python 验证码识别训练_Python爬虫笔记【一】模拟用户访问之Tesseract-ocr验证码训练(5)...
  4. html鼠标悬停盒子凸起,css3 transform动画鼠标悬停div容器凸起放大显示
  5. 数据结构--双链表的创建和操作
  6. LGBM模型取消打印日志(关闭日志)
  7. [NYOJ 15] 括号匹配(二)
  8. 带你了解开课吧,Python培训的怎么样?
  9. linux 并行 模式,并行设计模式-Master/Worker
  10. Photoshop操作秘籍
  11. 清华大学计算机学院2021拟录取,【盛世清北】2020年清华大学(清华)计算机系考研复试拟录取信息...
  12. html5 页面3d显示不出来的,Word页面视图内容为什么在大纲视图上显示不出来?
  13. 图解网络(一)——计算机网络基础
  14. java项目远程调用别的项目接口
  15. 改变思维(深度学习)
  16. 去美元化:曾经被称为加密的地缘政治问题
  17. Luogu 3371【模板】单源最短路径
  18. 给中国学生的第三封信——成功、自信、快乐
  19. 梦饮酒者,旦而哭泣;梦哭泣者,旦而田猎。方其梦也,不知其梦也。 ------庄子.齐物论-节选
  20. 集群部署时的分布式 Session 如何实现?

热门文章

  1. wordpress 企业 主题 html5,Maxx 漂亮简洁的企业 WordPress主题
  2. js-通过audioContext实现3D音效
  3. m4s格式转换mp3_音乐怎么转换mp3格式
  4. java g1 配置_项目G1 jvm 常规参数配置
  5. Nginx的优点和缺点
  6. vs2008设置选中 高亮
  7. 服务器CPU经常跑高是什么原因
  8. Oracle数据库语句大全
  9. 白嫖JetBrains全家桶第二波与第三波
  10. Shell脚本工具三剑客 Sed