Skip to main content

Convert a shell script into a binary executable file

Sometimes script includes the password in plain text which is Security issue, to avoid easy expose of password package the edited shell script into a binary executable, so that no one can read password by just opening the script in editor.

Method 1

Important Note: The tool mentioned here does not support the generated binaries for use on other hosts.

Tool to convert script to binary is shc. 
shc creates a stripped binary executable version of the script

Installation

Download the latest version: shc-3.8.9b.tgz

  1. tar -zxvf shc-3.8.9b.tgz
  2. cd shc-3.8.9b/
  3. make

Compile package, after successful compilation
Add an executable file shc to the current directory

cp shc /usr/local/bin/

Usage:

Use command
shc -r -f abc.sh

After executing, two files will be generated, abc.sh.x and abc.sh.xc 
where abc.sh.x is the encrypted executable binary file; run with ./abc.sh.x, 
abc.sh .xc is the original file (c language) that generates abc.sh.x.

shc -v -r -T -f

There is also a -T option. After adding the T option, you can see the contents of the script by double-clicking on the Mac.
-T Allow binary to be traceable (using strace, ptrace, truss, etc.)

/usr/local/src/shc-3.8.7/shc -e 26/06/2021 -m "contact xxx@123.com" -v -r -f ./abc.sh

-e: The specified expiration date is Jun 26, 2021.
-m: information printed after expiration;
-v: verbose
-r: can be executed on different hosts of the same operating system
-f: specify the source shell

Please pay attention to use on rhel6
Measured shc -r -f binary package script, but can not use cron to perform normally, switch to trace mode for encapsulation, shc -T -f, cron normal execution.

Develop a mission plan
08 08 * /path/abc.sh.x

Method 2

The second method by which you can convert script to binary is gzexe
Gzexe command to hide the shell source code
gzexe abc.sh
Generate encrypted script abc.sh and shell source abc.sh~

Disadvantages: gzexe can directly convert plaintext by simple command.
gzexe -d abc.sh

Ref: https://www.programmersought.com/article/80641837888/

Comments

Hemapriya said…
Great blog! This is really helpful for my reference. Do share more such posts and keep us updated. Looking forward to more informative blogs from you.
Cloud Computing Courses in Chennai
cloud computing certification in bangalore
cloud computing courses in coimbatore
Cloud Computing Online Course
bes unn said…


Hey friend, it is very well written article, thank you for the valuable and useful information you provide in this post. Keep up the good work! FYI, please check these depression, stress and anxiety related articles.
How to Build a Portfolio with ETFs, My vision for India in 2047 postcard, Essay on Unsung Heroes of Freedom Struggle
kavin said…
This comment has been removed by the author.

Popular posts from this blog

INSTALL CISCO VPN CLIENT ON WINDOWS 10 (32 & 64 BIT). FIX REASON 442

This article shows how correctly install Cisco VPN Client (32 & 64 bit) on Windows 10 (32 & 64 bit) using simple steps, overcome the ‘ This app can’t run on this PC ’ installation error , plus fix the Reason 442: Failed to enable Virtual Adapter error message . The article applies to New Windows 10 installations or Upgrades from earlier Windows versions and all versions before or after Windows 10 build 1511 .  To simplify the article, we’ve broken it into the following two sections: How to Install Cisco VPN client on Windows 10 (clean installation or upgrade from previous Windows), including Windows 10 build prior or after build 1511 . How to Fix Reason 442: Failed to enable Virtual Adapter on Windows 10 Figure 1. The Cisco VPN Client Reason 442: Failed to enable Virtual Adapter error on Windows 10 HOW TO INSTALL CISCO VPN CLIENT ON WINDOWS 10 (NEW INSTALLATIONS OR O/S UPGRADES) The instructions below are for new or clean Windows 10 inst...

How to Disable SSL for Webmin

Webmin is a Web application that enables administrators to manage Linux servers. Webmin runs on a Web server at port 10000. Miniserv is the name of the Web server application that handles the Webmin Web application. By default, Miniserv uses SSL. However, you can disable SSL for Webmin Miniserv by editing the configuration file for the Web application. With SSL disabled, you can access the Webmin application over a standard HTTP connection. Step 1 Open a terminal window on the Linux server. You can also SSH into the server if you do not have physical access to the machine. Step 2 Type the following command at the command prompt and press the “Enter” key: nano /etc/webmin/miniserv.conf This command opens the Miniserv configuration file in the Nano text editor.

Error 651: How to Fix it in Windows 7/8

If you are a windows user then it is possible that you have Face Error 651 Anytime. There are many windows user who get affected by this error code 651 while working online. If you are one of those windows user, then keep reading this article and carefully read out the following Detailed solutions which I have gathered after researching various websites, articles, forums etc. When using Windows 7 built-in PPPoE wizard with a modem working in bridge mode, it fails and error code 651 appears. The similar problem happens on Windows Vista or previous versions as well. For example, Error code 678 on Windows XP is equivalent to error code 651 on Windows 7. Error code 651 usually occurs when user tries to connect it’s broadband in windows 7 operating system. It shows a message that Your modem (or other connecting devices) has reported an error and Usually the message will be “Connection failed with error 651” .Fix Error 651 In such cases user tries to resta...