SHC: Bash Shell Script Compiler/Encrypt


Mungkin sebagian pengguna ada yang menggunakan (alat bantu) yang ditulis dengan bash shell script untuk memudahkan mengelola atau menggunakan sistem operasi linux dalam hal otomatisasi atau pintasan/antar muka dari perintah baris, selain praktis penggunaan bash script sangat mudah, hampir seluruh distribusi linux mendukungnya, namun penggunaan bash shell script bukan tanpa kekurangan, salah satu resiko dari penggunaan bash shell script adalah seluruh perintah yang digunakan dapat terbaca oleh manusia dengan alat bantu editor text.

Bagi sebagian pengguna, kekurangan tersebut mungkin tidak jadi masalah, tapi bagaimana dengan pengguna paranoid yang khawatir bash shell script yang telah ia tulis terbaca oleh pihak yang tidak dikehendaki, atau bagaimana jika anda sebagai pengembang yang harus mendistribusikan sebuah program dengan menyertakan bash shell script, dan ingin memastikan tidak ada perubahan dan  modifikasi oleh pihak yang tidak bertanggung jawab,

SHC generic shell script compiler atau disebut SHC saja adalah perangkat lunak yang dapat digunakan untuk menyembunyikan/enkripsi sebuah shell script menjadi tidak terbaca oleh manusia, SHC  bekerja dengan merubah shell script menjadi kode sumber bahasa C kemudian dikompilasi menggunakan GCC, hasil akhir dari bash shell script yang diproses oleh SHC adalah sebuah  binary linux ELF, perbandingan bash shell script yang telah dienkripsi dan tidak,  dapat dilihat pada gambar dibawah ini :

bash shell script yang belum dikompilasi/enkripsi
bash shell script yang telah dikompilasi/enkripsi
Isi dari bash shell script yang telah dikompilasi/enkripsi
dibaca menggunakan HexEditor
Bash Shell Script yang telah dikompilasi/enkripsi idealnya memang telah aman dari pembaca atau modifikasi pihak lain namun sebuah usaha dari "pengguna" telah berhasil mendecrypt shell script yang telah dikompilasi menggunakan SHC, pembahasan mengenai permasalahan ini  dapat dibaca pada artikel berikut,

http://rndc.or.id/ezine/ezine-rndc-r3-7-2012/decrypting-shc.txt
http://www.l0d.org/Decrypt_an_shc_crypted_file.html

Meskipun telah ditemukan metode untuk  mendekripsi shell script yang telah dikompilasi/enkripsi menggunakan SHC, shell script yang telah dikompilasi/enkripsi menggunakan SHC relatif lebih aman karena tidak dapat terbaca langsung oleh manusia dan membutuhkan usaha yang lebih untuk mendekripsikanya,

Penggunaan SHC sangat mudah, bahkan pengguna dapat menambahkan tanggal kadaluarsa atau menampilkan license,


Penggunaan standar SHC
 
shc -f bash_script.sh

Perintah diatas akan menghasilkan dua berkas,
bash_script.sh.x  = eksekutabel binary linux ELF
bash_script.sh.x.c = kode sumber bahasa C dari bash shell script yang telah dikonversi,

SHC versi terakhir hingga saat ini versi 3.8.9, untuk memasang SHC pada sistem operasi Ubuntu 10.04/12.04/12.10/13.04 dapat menggunakan PPA berikut,

sudo add-apt-repository ppa:wagungs/personal 

sudo apt-get update
sudo apt-get install shc

Pengguna sistem operasi fedora 18/17/16 dan distribusi turunannya dapat mengunduh paket .rpm SHC pada alamat berikut :

shc-3.8.9-1.fc18.i686.rpm
shc-3.8.9-1.fc18.x86_64.rpm

Pengguna sistem operasi linux lainnya dapat mengunduh SHC yang telah dikompilasi, dapat langsung dijalankan (portable), membutuhkan GCC.

shc-3.8.9-i686.tar.gz
shc-3.8.9-x86_64.tar.gz

SHC juga mendukung KornShell (ksh).

0 komentar:

Post a Comment

Note: Only a member of this blog may post a comment.