Бывают такие ситуации, когда есть bash-скрипт, в котором могут находиться какие-либо данные, и Вам не очень хотелось бы, чтобы их знал кто-то другой. Либо Вы решили подзаработать и написали скрипт на заказ и не хотите показывать заказчику plain-text сорсы, пока тот не оплатит вашу работу и т.д. и т.п.
В таком случае, на помощь придёт shc (Generic shell script compiler), который может транслировать Ваш bash-скрипт в C-код, который позже можно откомпилить средствами GCC. Присутствует в репозиториях основных популярных дистрибутивов.

aptitude install shc

Но на всякий случай вот вам линк http://www.datsi.fi.upm.es/~frosal/sources/shc.html

Из плюшек имеется:

  • при компиляции указать срок жизни бинарника
  • указать своё сообщение по истечению срока жизни бинарника
  • есть фича пароноидальной безопасности, когда бинарник будет выполняться только в Вашей системе.
  • можно указать свои флаги компиляции (-O2 -flto -ffunction-sections -Wl,—gc-sections -fno-asynchronous-unwind-tables -Wl,—strip-all).screenshot_2017-02-27_20-21-14

Ниже приведён пример простейшего bash-скрипта, который был транслирован и откомпилирован, как видно, средствами strings данные вытащить не получается

photo_2017-02-27_20-23-25

При желании, конечно же можно выдрать данные из памяти, но это уже другая история.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.