shc
今天学到一个牛逼的命令,shc。作用是对 shell 脚本进行加密。并且附带一些有趣的功能。
命令格式
shc [ -e date ] [ -m addr ] [ -i iopt ] [ -x cmnd ] [ -l lopt ] [ -o outfile ] [ -ABCDhUHvSr ] -f script
详情可查看 man 手册,这里说几个比较常用和实用的功能(假设需要加密的脚本名为 run.sh)。
加密脚本
shc -f run.sh
通过 -f 指定需要加密的脚本,执行结束后会生成两个文件 run.sh.x
和 run.sh.x.c
。run.sh.x
是加密后的可执行文件,run.sh.x.c
是将 run.sh
转成 c 语言的源文件(这就是我觉得他牛逼的地方)。而 run.sh.x
就是你需要的加密后的可执行。
run.sh.x.c
这个文件是可以通过 gcc 编译直接生成一个可执行二进制文件的
指定输出名
shc -f run.sh -o run
-o 可以指定生成的可执行文件名(C 源文件依旧是 run.sh.x.c)。
过期不可用
shc -f run.sh -o run -e 01/01/2023 -m '已经过期了,你个SB东西'
-e 指定过期时间(超过这个时间后可执行文件不再可用),这里的格式是 dd/mm/yyyy
-m 可以指定过期后执行该文件会提示的信息,如果不指定默认会输出Please contact your provider [email protected]