如何将Linux Shell程序使用shc编译加密

转:http://jingyan.baidu.com/article/95c9d20d9ebc72ec4f756156.html

Shell很很常用的程序语言,在管理linux系统的时候非常快捷,而且开发成本极低,效率非常高。但是很多时候我们不希望别人能够直接读取源文件,这样就无法保证程序的秘密性,因此可以将 shell文件编译成C语言的程序,直接运行。

工具/原料

  • Linux系统并带有各种shell

  • SHC程序(参考中附有下载地址等)

方法/步骤

  1. 第一步非常简单,就是获取到 shc 程序的源码文件,这个可以从官方站点(现在视乎无法访问)下载http://www.datsi.fi.upm.es/~frosal/sources/,或者从参考资料里面提供的地址下载。

    如何将Linux Shell程序使用shc编译加密

  2. 下载到源文件后,先要解压出来,使用Tarball工具进行解压,命令时 tar -xvf shc.tar 这样就能得到解压后的文件,。

    如何将Linux Shell程序使用shc编译加密

  3. 这时候我们自己编译shc得到可以使用的可执行程序,过程如下:

    make

    make install

    等待系统完成即可,我这里因为权限问题,帮助文件安装出了些问题,但整体还是没有问题的。

    如何将Linux Shell程序使用shc编译加密

  4. 我们准备一个程序,这里就使用简单的显示语句,文件名 test.sh

    echo " this is a shell" 

    然后 sch -f test.sh 完成编译操作,会发现目录下多出如下图所示的文件

    如何将Linux Shell程序使用shc编译加密

  5. 这里是编译完成后的目录内容,可以看到 .x 的已经编译后的二进制可执行文件,而 .x.c 的是转化的C语言源文件

    如何将Linux Shell程序使用shc编译加密

  6. 这里显示的是经过转化过的C语言源文件,可以在同一目录下看到,内容已经经过处理,字符串都进行了编码处理。

    如何将Linux Shell程序使用shc编译加密

  7. 我们直接执行对应的编译后的二进制程序,可以看到,效果和shell文件是一样的,但是这样源代码隐藏了起来,保密性强。

    如何将Linux Shell程序使用shc编译加密

    END

注意事项

  • shc需要自己编译,因此您需要有GCC的环境

  • shc 在使用了 -r 选项的时候具有通用性,很多系统之间可以直接运行,参数如下:

  • shc 并不是真正意义的高强度加密,因此很容易被逆向工程,所以不要依靠这个的安全性

    A+
发布日期:2016年05月06日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: