Рубрики
bash

shc / bash script / bin

Инфо:

SHC – это компилятор оболочки скрипта.


http://www.datsi.fi.upm.es/~frosal/sources/
https://github.com/neurobin/shc
https://pkg.go.dev/github.com/tianluanchen/go-shc
https://pkg.go.dev/github.com/tianluanchen/go-shc/shc

Сборка:

0.
cd /opt
wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz
tar xvfz shc-3.8.9.tgz
cd shc-3.8.9
make

Проверяем:
./shc -v 

1. Для изменения директории установки нужно отредактировать makefile
vim makefile

2. Для установки в систему
make install

Пример:

0. Создаем файл
./shc -f random.sh

random.sh – это оригинальный незашифрованный скрипт
random.sh.x – зашифрованный скрипт оболочки в двоичном формате
random.sh.x.c является исходным кодом C файла random.sh. 
Этот исходный код C скомпилирован для создания вышеупомянутого зашифрованного файла random.sh.x.
Вся логика shc заключается в том, чтобы преобразовать скрипт shell.sh в программу random.sh.x.c C (и, конечно же, скомпилировать это для генерации исполняемого файла random.sh.x)


1. Указание даты истечения срока действия для скрипта вашей оболочки
./shc -e 31/12/2011 -f random.sh


2. Описание параметров:
-e и -m (для истечения срока действия), вы также можете использовать следующие параметры
-r будет ослаблять безопасность для создания распределяемого двоичного файла, который выполняется на других системах, 
   которые работают с той же операционной системой, что и та, на которой он был скомпилирован.
-T позволит создавать созданные двоичные файлы с помощью таких программ, как strace, ltrace и т. д.
-v для подробностей
-o  куда сгенерировать
Как правило, вы можете использовать оба параметра -r и -T для создания распространяемого и прослеживаемого shell-скрипта оболочки.

3. Чаще всего используют с ключами rvf и о
shc -vrf script.sh -o script  - в последней версии нету -o
shc -vrTf script.sh  - будет создан файл script.sh.x