Cara mengaburkan atau menyembunyikan kode dari skrip bash kami

Terkadang kami memprogram skrip Menampar dan kami ingin kode ini TIDAK terlihat, bukan teks biasa. Ketika kita berbicara tentang menyembunyikan kode, istilah yang benar adalah menggelapkan, dalam kasus saya, saya ingin mengaburkan kode sebuah script yang saya buat beberapa waktu lalu, utilitas yang saya temukan untuk ini disebut: sekolah

sekolah Ini memungkinkan kita untuk mengaburkan kode, berikut adalah langkah-langkah untuk menggunakannya:

1. Pertama kita harus mendownloadnya

Unduh SHC v3.8.9

2. Setelah kami mengunduhnya, kami mengklik kanan pada file terkompresi dan memilih opsi yang mengatakan «Ekstrak di sini"atau yang serupa. Ini akan membuat kita melihat folder bernama shc-3.8.9, disini saya tunjukkan screenshot isinya

3. Oke, misalkan foldernya ada di /home/usuario/Downloads/shc-3.8.9 Nah, kami membuka terminal dan pergi ke rute itu (cd "/home/usuario/Downloads/shc-3.8.9"), dan penginstalan dimulai di sini.

 4. Di terminal yang terletak (seperti yang sudah saya katakan) di folder shc-3.8.9, untuk menginstal aplikasi ini kita perlu membuat tautan simbolis dari file tersebut shc-3.8.9.c a shc.c. jadi kami menjalankan yang berikut:

ln -s shc-3.8.9.c shc.c

 4. Setelah tautan dibuat, kami menjalankan make install dengan izin root (kami akan menggunakan sudo):

 sudo make install

 4. Ini akan meminta kata sandi kami dan itu akan menunggu sebentar, itu akan menunggu kami untuk menekan tombol [DAN] dan tekan [Memasukkan], yaitu, kami mengonfirmasi bahwa kami memang ingin menginstal perangkat lunak. Setelah ini selesai, itu akan menginstal tanpa masalah. Saya meninggalkan Anda tangkapan layar dari seluruh proses persiapan dan instalasi:

 


Seperti yang Anda lihat di bagian akhir, saya mendapatkan kesalahan, kesalahan tersebut mengacu pada fakta bahwa folder tertentu tidak ada di sistem saya, jika Anda melihat ini, jangan anggap penting ... meskipun demikian SHC berhasil dipasang 😉
Agar mereka bisa lari sudo make install es PERLU sudah menginstal paket: gcc y membuat

5. Selesai, ini untuk instalasi

Saat kami menginstalnya, kami hanya perlu mempelajari cara menggunakannya. Misalkan kita memiliki skrip di rumah kita yang disebut Script.sh. dan isinya adalah sebagai berikut:

#!/bin/bash
echo "Script de prueba para DesdeLinux.net"
exit

Saat menjalankan skrip ini, jelas akan menunjukkan kepada kita di terminal pesan: «Skrip tes untuk DesdeLinuxBersih." atau tidak? … Tapi, sekarang kita akan mengaburkan kode itu.

Di terminal kami meletakkan yang berikut ini dan tekan [Memasukkan]:

shc -v -f $HOME/script.sh

Dan bingo !! siap 😀

Ini membuat kami dua file baru bersama dengan skrip kami, sekarang kami punya skrip.sh.x y script.sh.xc

script.sh.x - » Ini adalah skrip bash kami yang dikaburkan, ini ketika kami mengeksekusinya akan melakukan hal yang sama persis dengan yang pertama kami buat, perbedaan antara ini adalah yang pertama, jika kami membukanya dengan editor teks (nano, kate, gedit, dll. ) kita bisa melihat dengan jelas isinya, sedangkan jika kita terbuka skrip.sh.x kita akan melihat dengan jelas bahwa kita tidak melihat apa-apa ... LOL !!!, yaitu, kodenya 'dienkripsi' 🙂

script.sh.xc - » Ini script kita tapi dalam bahasa C ... kita bisa hapus ini tanpa khawatir karena kita tidak terlalu membutuhkannya, setidaknya saya tidak membutuhkannya sama sekali 🙂

Sebenarnya tidak banyak lagi yang bisa ditambahkan di sisi teknis, hanya untuk memperjelas bahwa sejauh yang saya tahu dengan ini (menyembunyikan atau mengaburkan kode skrip bash) tidak melanggar lisensi atau semacamnya. Saya mengklarifikasi ini karena beberapa bulan yang lalu di Facebook ketika saya menyebutkan bahwa saya telah belajar untuk mengaburkan kode bash, beberapa pengguna memberi tahu saya bahwa ini melanggar lisensi atau semacamnya ... yah, sejauh yang saya mengerti, lisensi tidak dilanggar dengan ini 😉

Terima kasih banyak Matias Gaston karena telah menyebutkan utilitas ini kepada saya beberapa waktu lalu

Tidak ada lagi yang bisa ditambahkan, keraguan atau pertanyaan, keluhan atau saran beritahu saya.

Salam 😀


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   xykyz dijo

    Bukan berarti lisensi dilanggar, melainkan berhenti menjadi perangkat lunak bebas ...

    1.    KZKG ^ Gaara dijo

      Ya tentu saja. Intinya adalah ada beberapa skrip pribadi saya yang saya tidak ingin dilihat orang lain, misalnya karena salah satu skrip ini memiliki kata sandi teks biasa dari MySQL lokal saya, atau yang serupa.

        1.    KZKG ^ Gaara dijo

          Sebenarnya saya menyimpan kata sandi saya 'tersembunyi' menggunakan SHA (https://blog.desdelinux.net/como-saber-la-suma-md5-o-sha-de-una-palabra-oracion-o-archivo/), lalu di skrip saya menyimpan hash kata sandi dan yang saya lakukan adalah membandingkan kata sandi yang dimasukkan pengguna (saya menyimpannya dengan baca), saya mendapatkan jumlah SHA dan membandingkan keduanya di bagian akhir 🙂

          Ngomong-ngomong, terima kasih banyak untuk tautannya, saya sudah mengulasnya 😀

          salam

        2.    Mari gunakan Linux dijo

          Tepat! Perintah shell yang meminta kata sandi adalah alternatif yang baik.
          Bersulang! Paul.

          1.    MSX dijo

            Tapi itu tidak menyediakan eksekusi otomatis dan tanpa pengawasan seperti yang dilakukannya dengan cara lain. 🙂

      1.    Willians vivanco dijo

        Menempatkan kata sandi dan akses lain atau data yang membahayakan dalam skrip adalah kesalahan besar. Informasi ini harus disimpan di file lain, dengan izin yang sesuai, jadi Anda tidak perlu mengaburkan skrip bash Anda. Mudah ya?

        1.    KZKG ^ Gaara dijo

          Masalah dengan memiliki data (variabel login, confs, dll) di file lain adalah bahwa 'sistem' atau 'aplikasi' membutuhkan 2 file untuk berfungsi, sedangkan jika saya menyimpan seaman mungkin semuanya dalam satu satu file, saya hanya membutuhkan itu ... satu file.

          1.    Morpheus dijo

            Merupakan praktik yang baik untuk memisahkan aplikasi dari datanya.
            Atau lebih tepatnya itu adalah praktik yang buruk untuk melakukan hardcode data!
            http://es.wikipedia.org/wiki/Hard_code
            Ini tidak ada hubungannya dengan keamanan menempatkan kode dan data dalam file yang sama. Dan bahkan lebih, justru sebaliknya jika Anda memiliki kata sandi Anda di sana !!

          2.    Willians vivanco dijo

            Biaya membaca informasi sensitif dari file lain dapat diabaikan di samping biaya prosesor yang diperlukan untuk "membuka" kode Anda.

            Di sisi lain, Anda menghancurkan seluruh paradigma pengembangan modular, bertaruh pada model monolitik yang, lebih dari terbukti, ada lebih banyak masalah daripada solusi.

          3.    MSX dijo

            Dan juga jika Anda menggunakan izin yang akan melibatkan grup / pengguna lain, Anda masih memerlukan kata sandi awal untuk menjalankan skrip pertama.

          4.    MSX dijo

            @KZKG komentar di atas adalah sebagai tanggapan atas komentar Anda
            @ Morpheus: itu benar-benar relatif terhadap kebutuhan khusus.

    2.    Morpheus dijo

      Tetapi ada perangkat lunak gratis yang dikompilasi dalam biner (yang lebih dari sekadar mengaburkan). Itu gratis menyiratkan bahwa ia juga memiliki sumbernya, tetapi tidak ada hubungannya dengan obfuscating (atau kompilasi, yang penting jika saya ingin menjalankan program C, misalnya)

      1.    Willians vivanco dijo

        Dalam kasus perangkat lunak bebas yang dikompilasi, ini adalah pertanyaan tentang tuntutan bahasa yang digunakan (jika Anda memprogram dalam C, Anda harus mengkompilasi agar aplikasi Anda berfungsi). Dan sama, selalu, jika itu benar-benar Perangkat Lunak Bebas, kode sumbernya akan tersedia.

  2.   Hyuuga_Neji dijo

    humm Saya menunjukkan tingkat apatis tertentu untuk berbagi kode lol untuk melihat berapa banyak yang akhirnya mulai "mengaburkan kode mereka" untuk membuat kita lebih bergantung pada solusi mereka ...

    1.    KZKG ^ Gaara dijo

      Saya tidak mengatakan bahwa kode harus dikaburkan atau tidak ... Saya memberikan alat, masing-masing untuk menggunakannya sesuai dengan kebutuhan mereka.

      1.    komentator dijo

        Menyamarkan kode di halaman ini?

        Menurut saya, sebaiknya pembaca jarak jauh, karena menurut saya banyak orang yang mengunjungi blog ini adalah pengikut perangkat lunak gratis, dan oleh karena itu kami tidak membagikan praktik penyamaran kode.

        1.    MSX dijo

          Anda jelas tidak membaca alasan KZKG menjelaskan kebutuhannya untuk mengaburkan skripnya.

          Terima kasih KZKG telah membagikan temuan Anda!

  3.   gabriel dijo

    Dan virus mulai beredar di Linux ...

    Secara pribadi saya TIDAK AKAN PERNAH menggunakan skrip yang dikaburkan. Bukan hanya karena risiko keamanan yang terlibat, tetapi karena jika skrip Anda terlalu berharga untuk dibagikan, lebih baik Anda meletakkannya di * ulo; Saya pasti dapat menemukan seseorang yang benar-benar ingin berbagi pengetahuan mereka.

    1.    KZKG ^ Gaara dijo

      Apakah Anda pernah menggunakan skrip yang dikaburkan?, Nah, SANGAT baik untuk Anda, saya TIDAK AKAN PERNAH menggunakan skrip yang dikaburkan ... detailnya adalah, saya TIDAK PERNAH membagikan skrip yang dikaburkan, jauh dari itu, dan di sanalah teman baik di mana kesalahan hadir.

      Setiap kali saya melakukan sesuatu di Bash, saya membagikannya tanpa menimbang atau mengganggu saya, yang telah saya lakukan di banyak artikel di sini 😀

      Selamat datang di blog, senang membaca Anda 😉

  4.   Percaff_TI99 dijo

    Gabriel, KZKG ^ Gaara sudah berbagi pengetahuan, dia tidak membuat paket linux dengan skrip yang dikaburkan yang bisa menjadi pelanggaran lisensi, itu hanya mengungkapkan aplikasi yang dapat digunakan seseorang atau tidak untuk digunakan sendiri, tidak perlu Bersikaplah kasar, karena virus di linux tidak sesederhana itu, berikut adalah artikel bagus tentangnya https://blog.desdelinux.net/virus-en-gnulinux-realidad-o-mito/.
    KZKG ^ Gaara Saya ingin Anda menulis posting tentang encfs dan kriptografi menggunakan gambar, ini adalah topik yang sangat saya sukai.
    Bersulang !!!

    1.    KZKG ^ Gaara dijo

      Terima kasih
      Sebenarnya saya tidak memiliki cukup pengetahuan tentang encfs dan kriptografi, setidaknya saya merasa kurang percaya diri untuk membuat postingan dan menganggap keraguan yang mungkin dimiliki pengguna 😀
      Dalam topik ini, bukan berarti saya adalah pengguna tingkat lanjut ...
      Yang paling saya lakukan adalah menggunakan GPG untuk mengenkripsi file, dan untuk gambar, yang paling saya lakukan adalah 'menyisipkan' atau menyembunyikan file di dalam gambar, membuatnya jelas bahwa ketika gambar dibuka dengan penampil gambar, semuanya ditampilkan benar, apakah ini yang Anda maksud?

      Sekali lagi, terima kasih banyak atas komentar Anda 🙂

  5.   ratakruel dijo

    Jika saya ingat dengan benar, ada kejuaraan C yang dikaburkan, tetapi tidak ada gunanya menggunakan "obfuscator" tetapi mereka harus mengaburkan sumber mereka tanpa pelana.

    Adapun shc dan skrip Anda dengan kata sandi ... cara kerja yang sangat buruk!

    Artikel yang menarik, seperti biasa.

    1.    KZKG ^ Gaara dijo

      Ya, lebih dari satu orang telah memberi tahu saya LOL !!
      Terima kasih atas komentar Anda 🙂

  6.   pernah dijo

    Pada dasarnya, jika Anda berbagi aplikasi tanpa membagikan skrip yang terlihat, Anda akan melanggar GPL, yang mengharuskan apa pun yang dihasilkan dengan aplikasi GPL adalah GPL. Itulah mengapa SHC menghasilkan C, karena itulah kode yang dapat Anda bagikan.

    salam

  7.   Mari gunakan Linux dijo

    Saya setuju dengan komentar pembaca lain: tidak hanya menyimpan data dan skrip secara bersamaan, tetapi juga tidak kondusif untuk pengembangan perangkat lunak bebas.
    Sebuah pelukan! Paul.

    1.    KZKG ^ Gaara dijo

      Halo Pablo 🙂
      Saya memiliki beberapa skrip yang dikaburkan lainnya yang berfungsi secara internal di laptop saya, saya mengaburkannya karena saya hanya tidak ingin jika seseorang karena suatu alasan berhasil menyalin skrip saya ke komputer lain, saya hanya tidak ingin mereka dapat melihat isinya, ini adalah 'ukuran keamanan 'Saya ambil.

      Namun, di sini DesdeLinux Saya mempublikasikan semua atau hampir semua yang saya program di Bash yang mungkin menarik.

      Singkatnya, saya sekarang bukan pencela SWL karena mengaburkan naskah pribadi, karena melakukan ini untuk tujuan pribadi 😀

      Salam teman

  8.   lab kode dijo

    Informasi yang bagus. Terlepas dari kontroversi yang dihasilkan dalam komentar, menurut saya informasi untuk terus menyelidiki lebih lanjut.

    Saya pikir penulis tidak pernah memberi tahu kita apakah itu baik atau buruk dilakukan atau jika kita harus atau tidak harus melakukannya, dia hanya memberi tahu kita alat yang dapat digunakan untuk melakukannya jika itu bermanfaat bagi seseorang .

    Sebuah ucapan.

    lab kode

    1.    f3niX dijo

      Di blog Linuxeros semuanya kontroversial, haha ​​selalu seperti itu.

      1.    MSX dijo

        @ F3niX Saya akan memotong tangkapan layar dengan komentar Anda untuk meletakkannya setiap kali seseorang menyebutkan hal ini dengan bodoh.

        Catatan: mari kita lihat kapan saya dapat menemukan Anda di forum irc dan Chakra 😉

    2.    KZKG ^ Gaara dijo

      TEPAT!!
      Saya cukup tunjukkan / ajarkan / jelaskan hal baru yang saya pelajari, terserah anda mau pake ilmu ini atau tidak, saya paksakan tidak jauh-jauh.

      Setahu saya, berbagi ilmu itu hal yang baik, bukan? 0_oU

      Terima kasih atas tanggapan Anda, ada baiknya mengetahui bahwa ada lebih dari satu atau dua orang yang memahami tujuan sebenarnya dari artikel ini.

  9.   Percaff_TI99 dijo

    Di sana Anda menempatkan saya di tempat yang sempit xD, beberapa minggu yang lalu saya telah menyiapkan posting yang akan berjudul «Instalasi dan pengujian Crux» dan terlepas dari kenyataan bahwa instalasi berhasil dilakukan, saya adalah pengguna biasa dan saya tidak tahu apakah saya akan dapat mengatasi keraguan dari pihak ketiga, tujuannya adalah untuk berfungsi sebagai instrumen untuk diskusi tentang kelebihan dan kekurangan distro ini dan kemungkinan solusi untuk masalah yang mungkin timbul membantu kami di antara semua pengguna dan pembaca. Saat saya menyelesaikannya dan mengirimkannya untuk ditinjau, Anda (Administrator) yang akan memutuskan. Adapun masalah kriptografi dalam gambar sama saja, terima kasih KZKG ^ Gaara atas jawabannya.

    Salam!

    1.    KZKG ^ Gaara dijo

      Ok dengan senang hati, saya akan membuat postingan tentang itu

  10.   Uchiha Makubex dijo

    Tuto bro yang sangat baik menurut saya sangat berguna: 3
    bagi yang mau install di manjaro linux dan turunan archlinux paketnya ada di aur dengan nama: shc

    salam

  11.   marcos dijo

    Permisi sobat, saya punya script kecil yang merubah HURUF BESAR menjadi huruf kecil yang ada di clipboard (xclip)

    skrip berfungsi normal jika tidak dikaburkan

    #! / bin / bash
    xclip -o> R1.txt
    kucing R1.txt | tr [: atas:] [: bawah:]
    membuang ""
    rm R1.txt

    tetapi ketika saya ingin menjalankan skrip yang dikaburkan
    Beritahu aku

    ./M2m.sh: Operasi tidak diizinkan
    Selesai (dibunuh)

    Tolong bantu

    1.    KZKG ^ Gaara dijo

      Apakah Anda telah menginstal xclip?

  12.   SynFlag dijo

    Perlu dicatat bahwa ini sebenarnya adalah kompilator bash, karena ada kompilator .bat atau .php.
    Saya tidak tahu apakah kode yang menghasilkan dienkripsi dan dikaburkan dan tidak tahan terhadap decompiler, perlu dicoba, karena ini bukan bidang saya, saya tidak mengatakan ya atau tidak, tetapi yang saya lihat adalah kompilasi a bash, di .c itu Anda dapat melihat kode, yang, di dalam obfuscated, saya melihat bahwa ada di baris yang terlihat seperti shell exploit, saya tidak tahu apakah mereka benar-benar dikaburkan, karena, tidak ada kata sandi diminta atau saya tidak tahu, master.config mana kata kunci sebelumnya.

  13.   juan david dijo

    teman-teman kebetulan ketika saya mengaburkan skrip saya dia membuat skrip baru dengan ex ending, saya mengeksekusinya dan bahkan ada yang sempurna. Tetapi ketika saya membawanya ke komputer lain dengan linuz itu tidak berjalan, itu sudah memiliki semua izin, saya membuat peluncur dan memberi tahu bahwa itu adalah aplikasi terminal, tetapi tidak berfungsi, harap tunggu tanggapan yang cepat

    1.    KZKG ^ Gaara dijo

      Apakah Anda mengkompilasinya dan menjalankannya pada sistem dengan arsitektur yang sama? Dengan kata lain, ini akan memberi Anda kesalahan jika Anda mengkompilasinya untuk mengaburkannya pada sistem 32-bit, dan kemudian Anda mencoba menjalankannya pada sistem 64-bit, atau sebaliknya. Kamu mengerti?

      1.    juan david dijo

        Tidak, tetapi saya sudah menyediakan pemformatan komputer yang sama, dengan sistem operasi yang sama dan tidak berjalan, bahkan tidak mengirim kesalahan.
        Saya menyebutnya dengan konsol seperti ini: sudo /home/operations/script.x dan saya mendapatkan kesalahan ini

        /home/operaciones/script.x: e } 8- q , K

        seluruh kasus

        1.    KZKG ^ Gaara dijo

          Cobalah untuk menjalankannya TANPA kompilasi untuk melihat apakah itu adalah kesalahan dalam kode

    2.    torehan dijo

      Untuk dapat menjalankan skrip yang dikaburkan di komputer lain, Anda harus mengkompilasinya dengan opsi «-r Santai keamanan. Buat biner yang dapat didistribusikan ulang ', jika tidak, itu hanya akan berjalan di mesin tempat skrip dikaburkan dengan SHC.
      Contoh:

      shc -r -f script.sh

  14.   william dijo

    Halo, saya punya pertanyaan, shc dapat diinstal di semua jenis distribusi Linux?, Misalnya topi merah, bagaimana cara instalasinya untuk yang ini?
    Gracias!

  15.   ruyzz dijo

    Halo semuanya, komentar Anda telah banyak membantu saya, tetapi saya memiliki masalah berikut, ketika kebingungan tidak berfungsi untuk saya di sistem yang sama tetapi dengan arsitektur yang berbeda, yaitu, jika saya melakukannya dalam 32 bit, itu tidak dapat berjalan dalam 64 bit . Adakah yang tahu apakah itu benar-benar dapat dijalankan pada arsitektur yang berbeda (32 dan 64 bit)?