Termux安装shc(sh脚本文件转换为可执行二进制文件)

2020-02-14 00:10:16 -0500

Shc可以用来对shell脚本进行加密,可以将shell脚本转换为一个可执行的二进制文件。经过shc对shell脚本进行加密后,会同时生成两种个新的文件,一个是加密后的可执行的二进制文件(文件名以.x结束),另一个是C语言的原文件(文件名以.x.c结束)。

文末有安装的脚本,只需下载移动到termux的默认目录就行了,然后给予777权限执行就可以了 安装好后执行shc,下面就是安装成功的

常用参数:

-e date   
  Expiration date in dd/mm/yyyy format [none](指定过期日期)
-m message
  message to display  upon  expiration  ["Please  contact your provider"](指定过期提示的信息)

-f script_name
  File name of the script to compile(指定要编译的shell的路径及文件名)

-r   Relax security. 
   Make  a  redistributable  binary  which executes  on different systems running the same operat-ing system.(可以相同操作系统的不同系统中执行)

-v   Verbose compilation(编译的详细情况)

使用示例:

shc -e 14/2/2020 -m "contactbrf2053@bmail.com" -v -r -f brf.sh

-e:指定过期时间为2010年10月20日
-m:过期后打印出的信息;
-v: verbose
-r: 可在相同操作系统的不同主机上执行
-f: 指定源shell

方法:

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语言)

说明:

经测试,相同在操作系统,shc后的可执行二进制文件直接可以移植运行,但不同操作系统可能会出现问题,如我将源shell在CentOS5.4上加密后移到redhat as5u4上不能运行,出现“Floating point exception”错误提示,但移到另一台CentOS5.4上直接运行没问题。

!!!注意!!!

对于要执行的sh文件,第一行必须是下面三行中的一行

#!/bin/sh

#!/data/data/com.termux/files/usr/bin/bash

#!/data/data/com.termux/files/usr/bin/sh

关于后面的bash和sh的区别自己网上搜索了解

install.sh (1.03 KiB) | Read | Meta | +

Word Count: 1,057

«Newer      Older»
Comment:
Name:

Back to home

Subscribe | Register | Login | 中文 | N