如何保护自己编写的shell程序

要保护自己编写的shell脚本程序,方法有很多,最简单的方法有两种:1、加密 2、设定过期时间,下面以shc工具为例说明:

一、下载安装shc工具

shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件.

下载地址:

安装:

# tar zxvf shc-3.8.7.gz

# cd shc-3.8.7

# mkdir -p /usr/local/man/man1/ (install时会把man文件放入该目录,如果该目录不存在需提前建好) 这一步需要root权限

# make test

# make

# make test

# make strings

# make install 这一步需要root权限

二、加密方法:

shc -r -f script-name 注意:要有-r选项, -f 后跟要加密的脚本名.

运行后会生成两个文件,script-name.x 和 script-name.x.c

script-name.x是加密后的可执行的二进制文件.

./script-name.x 即可运行.

script-name.x.c是生成script-name.x的原文件(c语言)

# file test.sh.x

test.sh.x: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped

可以看到生成了动态链接可执行二进制文件test.sh.x和C源文件testup.sh.x.c, 注意生成的二进制文件因为是动态链接形式, 所以在其它平台上不能运行.

生成静态链接的二进制可执行文件

可以通过下面的方法生成一个静态链接的二进制可执行文件:

$ CFLAGS=-static shc -r -f test.sh

$ file test.sh.x

三. 通过sch加密后的脚本文件很安全吗?

一般来说是安全的, 不过可以使用gdb和其它的调试工具获得最初的源代码. 如果需要更加安全的方法, 可以考虑使用wzshSDK. 另外shc还可以设置脚本的运行期限和自定义返回信息:

$ shc -e 03/31/2007 -m "the mysql backup scrīpt is now out of date." -f test.sh

-e表示脚本将在2007年3月31日前失效, 并根据-m定义的信息返回给终端用户.

题外:

如果你仅仅是看不见内容就行了的话,不妨用

gzexe a.sh

原来的 a.sh 就被存为 a.sh~,新的 a.sh 是乱码,但是可以用 sh 的方式运行

linux脚本 加密失效,shell脚本加密(使用shc)相关推荐

  1. linux 命令行与shell脚本编程大全

    linux 命令行与shell脚本编程大全 第一章 Linux LiveCD就是从cd读取的系统,由于没法将数据写入到cd,所以一旦重启,之前操作过后的一切数据都会丢失. 第二章 第三章 1.man手 ...

  2. 《Linux命令行与shell脚本大全》笔记

    初识Linux Shell 什么是Linux Linux可划分为以下四部分: Linux内核 GNU工具 图形化桌面环境 应用软件 深入探究Linux内核 内核主要负责以下四种功能: 系统内存管理 软 ...

  3. 【2018深信服 醒狮计划】《Linux命令行与Shell脚本编程大全》学习笔记

    2018深信服"醒狮计划"笔记 第3周(5.02-5.13) 课程 必修 选修 基本要求 Shell编程 <Linux命令行与Shell脚本编程大全> <Perl ...

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

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

  5. Linux命令行与shell脚本编程大全:第2版

    <Linux命令行与shell脚本编程大全:第2版> 基本信息 作者: (美)布卢姆(Blum,R.) 布雷斯纳汉(Bresnahan.C.) [作译者介绍] 译者: 武海峰 丛书名: 图 ...

  6. 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---34

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: 转载于:https://www.cnbl ...

  7. Linux命令行与shell脚本编程大全(第3版)

    作者:[美] 布鲁姆(Richard Blum),布雷斯纳汉(Christine Bresnahan) 著,门佳,武海峰 译 出版社:人民邮电出版社 品牌:iTuring 出版时间:2016-08-0 ...

  8. 黑客进阶必读书《Linux命令行与Shell脚本编程大全》(第2版)

    欢迎来到命令行和shell脚本编程的世界!厚厚的一本小样书,拿在手上,厚厚的一本,六百多页.不只是掂在手上的重量,更是一本优秀的初学者入门指南,又会是你的Linux书库中非常不错的参考书.如果你想从整 ...

  9. Linux_《Linux命令行与shell脚本编程大全》第十八章学习总结

    时间:2017年12月04日星期一 说明:本文部分内容均摘取自书籍<Linux命令行与shell脚本编程大全>,版权归原作者所有.<Linux命令行与shell脚本编程大全>( ...

  10. Linux下如何执行Shell脚本

    Linux下如何执行Shell脚本 Linux下你可以有两种方式执行Shell脚本: 1.用shell程序执行脚本:根据你的shell脚本的类型,选择shell程序,常用的有sh,bash,tcsh等 ...

最新文章

  1. 基于MATLAB的面向对象编程(1)——类,属性,方法
  2. C++利用访函数进行选择排序
  3. 10拨号拒绝远程连接_ADLS动态拨号vps常见的问题
  4. Spark加载hadoop配置原理
  5. 【CodeForces - 1027C】Minimum Value Rectangle (数学,公式化简,思维,卡常卡memset)
  6. Qt与java web通过数据库实现数据展示同步
  7. python图像库_Python常用图像处理库整理
  8. django集成原有数据库
  9. 读取CSV文件并将值存储到数组中
  10. dedecms 会员发布的信息后台未审核,前台显示审核修改
  11. HDU 6321(状压dp)
  12. 编译原理完整学习笔记(二):高级程序设计语言
  13. 如何提取html的音频,如何将网页中的音频文件提取出来
  14. 大多数程序员都懂的java虚拟机:C1编译器从字节码到HIR
  15. 一个拥抱ARVR热点机会
  16. 2021年中国教育行业发展现状及未来发展趋势分析:在校生人数达2.91亿人[图]
  17. 什么软件测试cpu满载,功耗实测——待机/CPU满载/3DMark_CPUCPU评测-中关村在线
  18. TF-IDF原理和使用以及算法详解
  19. UI设计前景如何?市场需要怎样的UI设计师?
  20. 数字音频总线A2B开发详解二十:ADAU1701做的功放板的音效(26个例程)(第一部分)

热门文章

  1. 数据仓库之指标体系建设分享
  2. V4L2驱动的移植与应用(二)
  3. iOS证书描述文件说明
  4. 用代码实现通过人人网的登录
  5. 鸿蒙能用谷歌地图,华为鸿蒙更进一步,牵手世界级应用,谷歌GMS或彻底再见
  6. 安卓系统 国内谷歌服务器,在国内使用搭载安卓原生态系统谷歌手机,会是一种什么体验?...
  7. 【Proteus】单片机H桥驱动24V直流有刷电机
  8. DMA burst 基本概念
  9. Excel中纵向查找函数-VLOOKUP函数
  10. mysql怎么在查询_Mysql查询操作