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

时间:2018-2-18    作者:晨曦    分类: Linux


一.系统自带 gzexe


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

加密方法


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

那我们就执行

gzexe vpsps.sh

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

解密方法


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

那我们就执行

gzexe -d vpsps.sh

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

一.加密软件 shc


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

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

安装方法


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

发现报错的情况比较严重

如果报错内容如下

***     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

那我们就执行

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!(文件已经过期)

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

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

UPX 加密算法


项目官网:https://upx.github.io/

项目地址:https://github.com/upx/upx/releases

这个算法我最近才发现,不过也应该是一个简单的加壳算法罢。需要去下载相应的执行程序,

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

下载完解压,赋予执行权限。

加壳命令:

./upx 脚本名称.sh

脱壳命令:

./upx -d 脚本名称.sh

解密方法


利用这个脚本来解密

https://github.com/yanncam/UnSHc