Hello! 欢迎来到盒子萌!

Linux Shell 加密解密方法(shc/gzexe)


avatar
嘉木 2016-09-25 101

一.系统自带gzexe


gzexe无需安装任何软件是linux自带的功能使用只需要执行命令即可我们可以利用wget将文件放在root目录下也可以通过sftp放在root目录也可以直接利用cd命令选择目录一切随意

加密方法


假如说我们这个脚本名字叫vpsps.sh

那我们就执行

Bash
gzexe vpsps.sh

原来的文件就加密了之后会在目录产生一个vpsps.sh~的文件这个就是原来文件的备份

解密方法


假如说我们这个脚本名字叫vpsps.sh

那我们就执行

Bash
gzexe -d vpsps.sh

原来的文件就加解密了放在目录里面

一.加密软件shc


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

shc官网:http://www.datsi.fi.upm.es/%7Efrosal/

安装方法


Bash
wget http://www.datsi.fi.upm.es/%7Efrosal/sources/shc-3.8.9.tgz
tar vxf shc-3.8.9.tgz 
cd shc-3.8.9
make test
make strings
make install

发现报错的情况比较严重

如果报错内容如下

Bash
***     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(编译的详细情况)

加密方法


假如说我们这个脚本名字叫vpsps.sh

那我们就执行

Bash
shc -v -f vpsps.sh

-v 是现实加密过程

-f 后面跟需要加密的文件

abc.sh.x为二进制文件,赋予执行权限后,可直接执行。更改名字mv vpsps.sh.x vpspscom.sh

abc.sh.x.c 是c源文件。基本没用,可以删除

过期加密法

另shc还提供了一种设定有效执行期限的方法,过期时间,如:

# shc -e 14/09/2016 -m  -f vpsps.sh

选项“-e”指定过期时间,格式为“日/月/年”;选项“-m”指定过期后执行此shell程序的提示信息。

如果在过期后执行,则会有如下提示:

# ./abc.sh.x

./abc.sh.x: has expired!(文件已经过期)

使用以上方法要注意,需防止用户更改系统时间,可以通过在程序中加入自动更新系统时间的命令来解决此问题。

测试都已通过,请放心使用!

解密方法


利用这个脚本来解密

https://github.com/yanncam/UnSHc

暂无评论

发表评论