前言
在发布系统时为保护或隐藏源码,常需要将脚本打包为二进制程序(目标码),在openwrt系统下要实现这个功能,可进行以下操作。
一、安装shell 转 C语言工具
apt install shc
二、shell 转C
shc -v -r -f run.sh
打包之后生成run.sh.x为可执行程序,可以在x86主机上直接运行, 生成的run.sh.c为 C源码。
三、移植到openwrt
方法一: 在openwrt上安装gcc, 编译run.sh.c生成可执行程序
方法二:在宿主机上交叉编译run.sh.c
如果使用的是musl gcc工具链的话,需要增加-static, 否则 编译程序无法在openwrt下运行。