Paano i-obfuscate o itago ang code mula sa aming mga script sa bash

Minsan nagpo-program kami ng isang script sa Malakas na palo at nais namin na ang code ng ito ay HINDI nakikita, iyon ay, hindi maging simpleng teksto. Kapag pinag-uusapan natin ang tungkol sa pagtatago ng code ang tamang term ay pahid, sa aking kaso nais kong i-obfuscate ang code isang script na ginawa ko kanina, ang utility na nahanap ko para dito ay tinatawag na: shc

shc Pinapayagan kaming mag-obfuscate ng code, narito ang mga hakbang upang magamit ito:

1. Una dapat nating i-download ito

I-download ang SHC v3.8.9

2. Kapag na-download na namin ito, mag-right click kami sa naka-compress na file at piliin ang pagpipilian na nagsasabing «I-extract dito"o isang bagay na katulad. Ito ay magpapakita sa amin ng isang folder na tinawag shc-3.8.9, narito ipakita ko sa iyo ang isang screenshot ng nilalaman nito

3. OK, sabihin nating ang folder ay nasa /home/usuario/Downloads/shc-3.8.9 Kaya, magbubukas kami ng isang terminal at pupunta sa rutang iyon (cd "/home/usuario/Downloads/shc-3.8.9"), at nagsisimula ang pag-install dito.

 4. Sa terminal na matatagpuan (tulad ng sinabi ko na sa iyo) sa folder shc-3.8.9, upang mai-install ang application na ito kailangan naming gumawa ng isang simbolikong link ng file shc-3.8.9.c a shc.c kaya isinasagawa namin ang sumusunod:

ln -s shc-3.8.9.c shc.c

 4. Kapag nagawa na ang link, isinasagawa namin gumawa ng i-install may mga pahintulot sa ugat (gagamitin namin ang sudo):

 sudo make install

 4. Hihilingin sa amin ang aming password at maghihintay ito sandali, naghihintay ito para sa amin na pindutin ang susi [AT] at pindutin [Ipasok], iyon ay, na kinukumpirma namin na nais naming i-install ang software. Kapag tapos na ito mag-install ito nang walang mga problema. Iiwan ko sa iyo ang isang screenshot ng buong proseso ng paghahanda at pag-install:

 


Tulad ng nakikita mo sa dulo nakakakuha ako ng isang error, ang error ay tumutukoy sa katotohanan na ang isang tiyak na folder ay hindi umiiral sa aking system, kung nakikita mo ito, huwag mo lamang bigyan ito ng kahalagahan ... kahit na SHC matagumpay na na-install 😉
Kaya nila tumakbo sudo make install es KINAKAILANGAN i-install ang mga pakete: gcc y gumawa

5. Tapos na, ito na ito para sa pag-install 😀

Kapag na-install na namin ito, kailangan lamang naming malaman kung paano ito gamitin. Ipagpalagay na mayroon kaming isang script sa aming tahanan na tinawag script.sh at ang nilalaman nito ay ang mga sumusunod:

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

Kapag naisakatuparan ang script na ito ay malinaw na ipapakita sa amin ang mensahe sa terminal: «Test script para sa DesdeLinux. Net" o hindi? ... Ngunit, ngayon ay ilalayo natin ang code na iyon.

Sa isang terminal inilalagay namin ang sumusunod at pindutin [Ipasok]:

shc -v -f $HOME/script.sh

At bingo !! handa na 😀

Lumikha ito sa amin ng dalawang bagong file kasama ang aming script, mayroon na kami script.sh.x y script.sh.xc

script.sh.x - » Ito ang aming obfuscated bash script, ito kapag ipinatupad namin ito ay eksaktong eksaktong kapareho ng una na nilikha namin, ang pagkakaiba sa pagitan nito ay ang una kung binuksan namin ito sa isang text editor (nano, kate, gedit, atbp) maaari naming malinaw na makita ang nilalaman nito, habang kung magbubukas kami sa script.sh.x malinaw na makikita natin na wala kaming nakikita ... LOL !!!, iyon ay, ang code ay 'naka-encrypt' 🙂

script.sh.xc - » Ito ang aming script ngunit sa wikang C ... maaari namin itong tanggalin nang walang pag-aalala sapagkat hindi namin talaga ito kailangan, mabuti, kahit papaano ay hindi ko ito kakailanganin 🙂

Wala nang iba pang talagang idaragdag sa panig na panteknikal, upang linawin lamang na sa pagkakaalam ko dito (nagtatago o nakakagambala ang bash script code) hindi ito lumalabag sa mga lisensya o katulad nito. Nilinaw ko ito dahil ilang buwan na ang nakalilipas sa Facebook nang banggitin ko na natutunan kong mag-obfuscate ng bash code, inalerto ako ng ilang mga gumagamit na lumalabag ito sa mga lisensya o katulad nito ... mabuti, sa pagkakaintindi ko, hindi nalalabag ang mga lisensya kasama nito 😉

Maraming salamat sa Matias Gaston para sa pagbanggit ng utility na ito sa akin noong nakaraan

Wala nang maidaragdag pa, anumang pagdududa o tanong, reklamo o mungkahi ipaalam sa akin.

Pagbati


44 na puna, iwan mo na ang iyo

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   xykyz dijo

    Ito ay hindi na ang mga lisensya ay nilabag, ito ay na tumitigil sa pagiging libreng software ...

    1.    KZKG ^ Gaara dijo

      Oo naman. Ang punto ay ang ilang mga personal na script ko na ayaw kong makita ng iba, halimbawa dahil ang isa sa mga script na ito ay may isang simpleng text password mula sa aking lokal na MySQL, o isang bagay na katulad.

      1.    Morpheus dijo

        HINDI! Huwag i-save ang iyong mga password sa mga script!
        http://technosophos.com/content/dont-script-your-password-add-simple-prompts-shell-scripts

        1.    KZKG ^ Gaara dijo

          Sa totoo lang itinatago ko ang aking mga password na 'nakatago' gamit ang SHA (https://blog.desdelinux.net/como-saber-la-suma-md5-o-sha-de-una-palabra-oracion-o-archivo/), pagkatapos ay sa script na pinapanatili ko ang password na hash at kung ano ang ginagawa ko ay ihambing ang password na ipinasok ng gumagamit (nai-save ko ito sa binasa), nakukuha ko ang SHA sum at ihambing ang pareho sa dulo 🙂

          Gayunpaman, maraming salamat sa link, sinuri ko na ito 😀

          Regards

        2.    Gumamit tayo ng Linux dijo

          Sakto! Ang isang prompt ng shell na humihiling para sa password ay isang mahusay na kahalili.
          Cheers! Paul

          1.    msx dijo

            Ngunit hindi ito nagbibigay ng isang awtomatiko at walang ingat na pagpapatupad tulad ng ginagawa nito sa ibang paraan. 🙂

      2.    Willians vivanco dijo

        Ang paglalagay ng mga password at iba pang pag-access o pagkompromiso ng data sa script ay isang malaking pagkakamali. Ang impormasyong ito ay dapat na mai-save sa ibang file, na may mga tamang pahintulot, kaya hindi mo na kailangang i-obfuscate ang iyong bash script. Madali ha?

        1.    KZKG ^ Gaara dijo

          Ang problema sa pagkakaroon ng data (variable ng pag-login, confs, atbp.) Sa isa pang file ay pagkatapos ang 'system' o 'application' ay nangangailangan ng 2 mga file upang gumana, samantalang kung iniimbak ko ang lahat sa isang 'ligtas' na paraan hangga't maaari solong file , mabuti kakailanganin ko lang iyon ... isang solong file.

          1.    Morpheus dijo

            Mahusay na kasanayan upang paghiwalayin ang application mula sa data.
            O sa halip ito ay isang kahila-hilakbot na kasanayan upang hardcode ang data!
            http://es.wikipedia.org/wiki/Hard_code
            Wala itong kinalaman sa seguridad ng paglalagay ng code at data sa parehong file. At higit pa, kabaligtaran kung mayroon ka ng iyong mga password doon !!

          2.    Willians vivanco dijo

            Ang gastos sa pagbabasa ng sensitibong impormasyon mula sa isa pang file ay bale-wala sa tabi ng kinakailangang gastos ng processor upang "maabot" ang iyong code.

            Sa kabilang banda, itinatapon mo ang isang buong tularan ng modular development, pagtaya sa isang modelong monolithic na, higit sa napatunayan, maraming mga problema kaysa sa mga solusyon.

          3.    msx dijo

            At gayun din kung gagamit ka ng mga pahintulot na kinakailangang magsasangkot ng iba pang mga pangkat / gumagamit, kakailanganin mo rin ng paunang password upang maipatupad ang unang script.

          4.    msx dijo

            @KZKG ang komento sa itaas ay bilang tugon sa iyong komento
            @morpheus: ganap itong nauugnay sa partikular na pangangailangan.

    2.    Morpheus dijo

      Ngunit may libreng software na naipon sa binary (na higit sa obfuscate). Ang katotohanan na ito ay libre ay nagpapahiwatig na mayroon din itong mapagkukunan, ngunit wala itong kinalaman sa obfuscating (o pag-iipon, na mahalaga kung nais kong magpatakbo ng isang C program, halimbawa)

      1.    Willians vivanco dijo

        Sa kaso ng pinagsamang libreng software, ito ay isang katanungan ng kinakailangan ng wikang ginagamit (kung programa ka sa C, kailangan mong mag-ipon para gumana ang iyong aplikasyon). At pareho, palagi, kung talagang ito ay Libreng Software, magagamit ang source code.

  2.   Hyuuga_Neji dijo

    humm na nagpapahiwatig ng isang tiyak na antas ng kawalang-interes upang ibahagi ang code hehehe upang makita kung gaano karaming mga nagtatapos na nagsisimula sa "obfuscate kanilang mga code" upang gawing mas nakasalalay kami sa kanilang mga solusyon ...

    1.    KZKG ^ Gaara dijo

      Hindi ko sinasabi na ang code ay dapat na obfuscated o hindi ... Ibinibigay ko ang mga tool, bawat isa upang magamit ang mga ito ayon sa kanilang mga pangangailangan.

      1.    komentarista dijo

        Obfuscate code sa pahinang ito?

        Sa palagay ko magandang ideya na ilayo ang mga mambabasa, dahil isinasaalang-alang ko na marami sa mga taong bumibisita sa blog na ito ay mga tagasunod ng libreng software, at samakatuwid hindi namin binabahagi ang kasanayan sa nakakagambalang code.

        1.    msx dijo

          Malinaw na hindi mo nabasa ang dahilan ng pagtatalo ng KZKG at kung bakit ipinapaliwanag nito ang pangangailangan na ibalewala ang script nito.

          Salamat KZKG sa pagbabahagi ng iyong nahanap!

  3.   Gabriel dijo

    At sa gayon ang mga virus ay nagsisimulang kumalat sa Linux ...

    Personal na HINDI ko gagamitin ang anumang mga obfuscated na script. Hindi lamang dahil sa mga panganib sa seguridad na kasangkot, ngunit dahil kung ang iyong script ay masyadong mahalaga upang ibahagi pagkatapos ay mas mahusay na ilagay ito sa * ulo; Tiyak na makakahanap ako ng isang taong nais na ibahagi ang kanilang kaalaman.

    1.    KZKG ^ Gaara dijo

      Gusto mo bang gumamit ng isang obfuscated script?, Sa totoo lang, SOBRANG mabuti para sa iyo, HINDI AKO gagamit ng isang obfuscated script ... ang detalye ay, HINDI ako nagbahagi ng isang obfuscated script, malayo rito, at doon mahal na kaibigan ay kung saan ang pagkakamali ay naroroon

      Tuwing gumawa ako ng isang bagay sa Bash ibinabahagi ko ito nang hindi tinitimbang o inabala ako, na nagawa ko na sa maraming mga artikulo dito 😀

      Maligayang pagdating sa blog, isang kasiyahan na basahin ka 😉

  4.   Percaff_TI99 dijo

    Si Gabriel, KZKG ^ Si Gaara ay nagbabahagi ng kaalaman, hindi siya lumilikha ng anumang linux package na may mga obfuscated script na kung maaari itong isang paglabag sa lisensya, ipinapakita lamang nito ang mga application na maaaring magamit o hindi para sa kanilang sariling paggamit, hindi kinakailangan na maging bastos , tulad ng para sa mga virus sa linux ay hindi gaanong simple, narito ang isang magandang artikulo tungkol dito https://blog.desdelinux.net/virus-en-gnulinux-realidad-o-mito/.
    KZKG ^ Gaara Nais kong magsulat ka ng isang post tungkol sa mga encf at cryptography na gumagamit ng mga imahe, ito ay isang paksa na talagang gusto ko.
    Cheers !!!

    1.    KZKG ^ Gaara dijo

      Salamat sa iyo
      Sa totoo lang, hindi sa ako ay may sapat na kaalaman tungkol sa mga encf at cryptography, kahit papaano ay hindi ako sapat na may kumpiyansa upang makagawa ng isang post at isipin ang mga pagdududa na maaaring mayroon ang mga gumagamit 😀
      Sa paksang ito hindi ako isang advanced na gumagamit ...
      Ang pinaka nagawa ko ay ang paggamit ng GPG upang i-encrypt ang mga file, at tungkol sa mga imahe, ang pinaka nagawa kong gawin ay 'insert' o itago ang isang file sa loob ng isang imahe, na ginagawang malinaw na kapag ang imahe ay binuksan ng isang viewer ng imahe, ang lahat ay ipinakita nang tama, ito ba ang ibig mong sabihin?

      Muli, maraming salamat sa iyong komento 🙂

  5.   ratakruel dijo

    Kung natatandaan ko nang tama, may mga obfuscated C na kampeonato, ngunit hindi sulit ang paggamit ng isang "obfuscator" ngunit kailangan nilang iwaksi ang kanilang mapagkukunan na walang siya.

    Tulad ng para sa shc at ang iyong script ay may mga password ... napakasamang paraan upang gumana!

    Kagiliw-giliw na artikulo, tulad ng lagi.

    1.    KZKG ^ Gaara dijo

      Oo, higit sa isa ang nagsabi sa akin ng LOL !!
      Salamat sa iyong puna 🙂

  6.   eVER dijo

    Talaga, kung ibinabahagi mo ang application nang hindi ibinabahagi ang nakikitang script na lumalabag ka sa GPL, na nangangailangan ng anumang nabuo sa isang application na GPL ay maging GPL. Iyon ang dahilan kung bakit nabubuo ng SHC ang C, dahil iyon ang code na maaari mong ibahagi.

    Regards

  7.   Gumamit tayo ng Linux dijo

    Sumasang-ayon ako sa mga komento ng iba pang mga mambabasa: hindi lamang ito isang mahusay na kasanayan na mag-imbak ng lahat ng data at script ngunit hindi rin ito nakakatulong sa pagbuo ng libreng software.
    Isang yakap! Paul

    1.    KZKG ^ Gaara dijo

      Kumusta Pablo 🙂
      Mayroon akong ilang iba pang obfuscated script na gumagana nang panloob sa aking laptop, pinapansin ko ito dahil ayaw ko lang na kung may isang tao sa ilang kadahilanan na nagawang kopyahin ang aking script sa ibang computer, ayokong makita nila kung ano ito naglalaman, ito ay isang 'panukalang panseguridad' na kinukuha ko.

      Gayunpaman, dito sa DesdeLinux Isinasapubliko ko ang lahat o halos lahat ng aking pino-programa sa Bash na maaaring maging kawili-wili.

      Sa madaling salita, hindi na ako ay isang detractor ng SWL para sa obfuscating isang personal na script, para sa paggawa nito para sa mga personal na layunin 😀

      Pagbati kaibigan

  8.   codelab dijo

    Magandang impormasyon. Bukod sa mga kontrobersya na nabuo sa mga komento, tila para sa akin ang impormasyon na ipagpatuloy ang pagsisiyasat nang kaunti pa.

    Sa palagay ko ang may-akda nang walang punto sa artikulo ay nagsasabi sa atin kung ito ay mabuti o masamang tapos na o kung hindi natin dapat gawin ito, sinabi lamang niya sa atin ang tool na kung saan ito maaaring gawin kung sakaling may pakinabang ito sa isang tao .

    Isang pagbati.

    codelab

    1.    f3niX dijo

      Sa mga Linuxeros blog lahat ay kontrobersyal, haha ​​laging ganito.

      1.    msx dijo

        @ F3niX Puputulin ko ang isang screenshot sa iyong puna upang mailagay ito sa tuwing may gumagawa ng bobo sa paksa.

        Tandaan: tingnan natin kung kailan kita mahahanap sa mga forum ng irc at Chakra 😉

    2.    KZKG ^ Gaara dijo

      EXACT !!
      Nagpapakita lamang ako / nagtuturo / nagpapaliwanag ng isang bagong bagay na natutunan, nasa sa iyo na gamitin ang kaalamang ito o hindi, hindi kita pinipilit na malayo ka rito.

      Sa pagkakaalam ko, magandang pagbabahagi ng pagbabahagi ng kaalaman di ba? 0_oU

      Salamat sa iyong puna, magandang malaman na mayroong higit sa isa o dalawa na nakakaunawa sa totoong layunin ng artikulong ito.

  9.   Percaff_TI99 dijo

    Doon inilagay mo ako sa isang masikip na lugar xD, ilang linggo na ang nakakaraan naghahanda ako ng isang post na may pamagat na «Pag-install at pagsubok ng Crux» at sa kabila ng katotohanang ang pag-install ay matagumpay na natupad, ako ay isang normal na gumagamit at hindi ko alam kung makakaya ko ang mga pagdududa mula sa mga third party, ang hangarin ay nagsisilbi itong isang instrumento ng talakayan tungkol sa mga birtud at depekto ng distro na ito at ang mga posibleng solusyon sa mga problemang maaaring lumitaw na tumutulong sa amin sa lahat ng mga gumagamit at mambabasa. Kapag natapos ko ito at ipinadala ito para sa pagsusuri, magpasya ka (Mga Administrator). Tulad ng para sa isyu ng cryptography sa mga imahe pareho ito, salamat sa KZKG ^ Gaara sa pagsagot.

    Pagbati!

    1.    KZKG ^ Gaara dijo

      Ok sa sarap, gagawa ako ng post tungkol diyan 😉

  10.   makubex uchiha dijo

    mahusay tuto bro nakita ko ito napaka kapaki-pakinabang: 3
    para sa mga nais i-install ito sa manjaro linux at mga derivatives ng archlinux ang package ay nasa aur na may pangalan: shc

    Regards

  11.   Marcos dijo

    paumanhin kaibigan ay may isang maliit na script na nag-convert CAPITAL LETTERS TO lowercase na nasa clipboard (xclip)

    ang script ay gumagana nang normal kapag hindi na-obfuscated

    #! / bin / bash
    xclip -o> R1.txt
    pusa R1.txt | tr [: itaas:] [: ibaba:]
    itinapon ""
    rm R1.txt

    ngunit kapag nais kong patakbuhin ang obfuscated script
    sinabi sa akin

    ./M2m.sh: Hindi pinapayagan ang pagpapatakbo
    Nakumpleto (pinatay)

    Tulong po

    1.    KZKG ^ Gaara dijo

      Mayroon ka bang naka-install na xclip?

  12.   SynFlag dijo

    Dapat pansinin na ito ay talagang isang bash compiler, dahil may mga .bat compiler o .php.
    Hindi ko alam kung ang code na gumagawa ay naka-encrypt at obfuscated at hindi makatiis ng isang decompiler, kinakailangang subukan, dahil hindi ito ang aking larangan ay hindi ko sinabi oo o hindi, ngunit ang nakikita ko na ginagawa nito ay sumulat isang bash, sa .c ito ay Maaari mong makita ang code, kung saan, sa loob ng obfuscated, nakikita ko na ito ay nasa mga linya na mukhang isang pinagsamantalahan na shell, hindi ko alam kung talagang sila ay obfuscated, dahil, walang password ay hiniling o isang hindi ko alam, master.config kung saan ang isang dating keyword.

  13.   Juan David dijo

    mga kaibigan nangyayari na kapag ginugulo ko ang aking script nilikha niya ang bagong script na may ex nagtatapos, isinasagawa ko ito at mayroong kahit perpekto. Ngunit kapag dinala ko ito sa isa pang computer na may linuz hindi ito tumatakbo, mayroon nang lahat ng mga pahintulot, Lumilikha ako ng isang launcher at sasabihin kong ito ay isang application ng terminal, ngunit hindi ito gumagana, mangyaring maghintay para sa isang agarang tugon

    1.    KZKG ^ Gaara dijo

      Naisaayos mo ba ito at pinapatakbo mo ito sa isang system na may parehong arkitektura? Sa madaling salita, bibigyan ka nito ng isang error kung pinagsama-sama mo ito upang mai-obfuscate ito sa isang 32-bit na system, at pagkatapos ay subukan mong patakbuhin ito sa isang 64-bit na system, o kabaligtaran. Naiintindihan mo ba?

      1.    Juan David dijo

        Hindi, ngunit naibigay ko na ang pag-format ng parehong computer, na may parehong operating system at hindi ito tumatakbo, hindi rin ito nagpapadala ng isang error.
        Tinatawag ko ito sa pamamagitan ng console na tulad nito: sudo /home/operations/script.x at nakukuha ko ang error na ito

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

        isang buong kaso

        1.    KZKG ^ Gaara dijo

          Subukang patakbuhin ito Nang WALANG pag-iipon upang makita kung ito ay isang error sa code

    2.    gatla dijo

      Upang maipagpatakbo mo ang obfuscated script sa iba pang mga computer kailangan mong isulat ito sa pagpipiliang «-Relax ang seguridad. Gumawa ng isang muling maibabahaging binary ', kung hindi man ay tatakbo lamang ito sa makina kung saan ang script ay ginampanan ng SHC.
      Halimbawa:

      shc -r -f script.sh

  14.   William dijo

    Kumusta, mayroon akong isang query, ang shc ay maaaring mai-install sa anumang uri ng pamamahagi ng Linux?, Halimbawa pulang sumbrero, paano ang pag-install para sa isang ito?
    Salamat sa iyo!

  15.   ruyzz dijo

    Kamusta sa lahat, ang iyong mga komento ay malaki ang naitulong sa akin, ngunit mayroon akong sumusunod na problema, kapag ang obfuscation ay hindi gumagana para sa akin sa parehong system ngunit may iba't ibang arkitektura, iyon ay, kung gagawin ko ito sa 32 bits hindi ito maaaring tumakbo sa 64 bits . Mayroon bang nakakaalam kung maaari itong talagang patakbuhin sa iba't ibang mga arkitektura (32 at 64 na piraso)?