Kako prikriti ili sakriti kod iz naših bash skripti

Ponekad programiramo skriptu na bash i želimo da kod ovog NE bude vidljiv, odnosno da ne bude običan tekst. Kada govorimo o skrivanju koda, ispravan je izraz zamračiti, u mom slučaju želio sam zamutiti kod scenarij koji sam radio prije nekog vremena, uslužni program koji sam pronašao za ovo zove se: shc

shc Omogućuje nam zamračivanje koda, evo koraka za njegovu upotrebu:

1. Prvo ga moramo preuzeti

Preuzmite SHC v3.8.9

2. Nakon što ga preuzmemo, desnom tipkom miša kliknite komprimiranu datoteku i odaberite opciju koja kaže «Ekstrakt ovdje"ili nešto slično. Ovo će nam omogućiti da vidimo mapu koja se zove shc-3.8.9, ovdje ću vam pokazati snimak zaslona njegovog sadržaja

3. OK, recimo da je mapa na /home/usuario/Downloads/shc-3.8.9 Pa, otvorimo terminal i idemo na tu rutu (cd "/home/usuario/Downloads/shc-3.8.9"), a instalacija započinje ovdje.

 4. U terminalu koji se nalazi (kao što sam vam već rekao) u mapi shc-3.8.9, da bismo instalirali ovu aplikaciju moramo napraviti simboličku poveznicu datoteke shc-3.8.9.c a shc.c pa izvršavamo sljedeće:

ln -s shc-3.8.9.c shc.c

 4. Jednom kada je veza uspostavljena, izvršavamo je napravi instalaciju sa root dozvolama (koristit ćemo sudo):

 sudo make install

 4. Zatražit će od nas lozinku i pričekat će trenutak, čekati ćemo da pritisnemo tipku [I] i pritisnite [unesite], to jest da potvrđujemo da želimo instalirati softver. Nakon što se to učini, instalirat će se bez problema. Ostavljam vam snimak ekrana cijelog postupka pripreme i instalacije:

 


Kao što vidite na kraju, dobivam grešku, greška se odnosi na činjenicu da određena mapa ne postoji na mom sistemu, ako to vidite, jednostavno joj ne pridajte važnost ... čak i tako SHC uspješno instaliran 😉
Tako da mogu trčati sudo make install es POTREBNO instalirajte pakete: gcc y napraviti

5. Gotovo, to je to za instalaciju 😀

Kad ga instaliramo, samo trebamo naučiti kako ga koristiti. Pretpostavimo da u svom domu imamo skriptu koja se zove script.sh i da je njegov sadržaj sljedeći:

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

Prilikom izvršavanja ove skripte očito će nam pokazati poruku u terminalu: «Test skripta za DesdeLinux.net" ili ne? ... Ali, sada ćemo zamutiti taj kod.

U terminal stavljamo sljedeće i pritisnemo [unesite]:

shc -v -f $HOME/script.sh

I bingo !! spremno 😀

Ovo nam je stvorilo dvije nove datoteke zajedno s našom skriptom, sada jesmo script.sh.x y script.sh.xc

script.sh.x - » Ovo je naša zamućena bash skripta, kad izvršimo, učinit će potpuno isto što i prva koju smo stvorili, razlika je u tome što je prva, ako smo je otvorili pomoću uređivača teksta (nano, kate, gedit, itd.), Mogli jasno vidjeti njegov sadržaj, dok ako se otvorimo za script.sh.x jasno ćemo vidjeti da ne vidimo ništa ... LOL !!!, odnosno kod je 'šifriran' 🙂

script.sh.xc - » Ovo je naša skripta, ali na jeziku C ... ovo možemo izbrisati bez brige jer nam zapravo nije potrebno, barem mi uopće ne bi trebalo 🙂

Na tehničkoj strani nema puno toga za dodati, samo da pojasnim da, koliko znam s ovim (skrivanje ili zamagljivanje bash skriptnog koda), to ne krši licence ili nešto slično. To pojašnjavam jer su me prije nekoliko mjeseci na Facebooku, kad sam spomenuo da sam naučio zataškavati bash kod, neki korisnici upozorili da ovo krši licence ili nešto slično ... pa, koliko razumijem, licence se time ne krše 😉

Veliko hvala Matias Gaston jer mi je prije nekog vremena spomenuo ovaj uslužni program

Ništa više za dodati, bilo kakva sumnja ili pitanje, žalba ili prijedlog javite mi.

Pozdrav 😀


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   xykyz rekao je

    Ne radi se o tome da se licence krše, već zbog toga što prestaje biti slobodan softver ...

    1.    KZKG ^ Gaara rekao je

      Da naravno. Poanta je u tome što postoje određene moje lične skripte koje ne želim da drugi vide, na primjer zato što jedna od ovih skripti ima lozinku u običnom tekstu mog lokalnog MySQL-a ili nešto slično.

        1.    KZKG ^ Gaara rekao je

          Zapravo svoje lozinke držim 'skrivenima' koristeći SHA (https://blog.desdelinux.net/como-saber-la-suma-md5-o-sha-de-una-palabra-oracion-o-archivo/), zatim u skripti zadržavam hash lozinke i ono što radim je da uporedim lozinku koju korisnik unese (spremim je sa read), dobijem SHA zbroj i uporedim obje na kraju both

          U svakom slučaju, hvala vam puno na linku, već ga pregledam 😀

          Saludos

        2.    Koristimo Linux rekao je

          Tačno! Upit za ljusku koji traži lozinku je dobra alternativa.
          Živjeli! Paul.

          1.    MSX rekao je

            Ali ne pruža automatsko i bez nadzora izvršenje kao što je to slučaj na drugi način. 🙂

      1.    Willians vivanco rekao je

        Stavljanje lozinki i drugih pristupa ili ugrožavanje podataka u skriptu velika je pogreška. Ove se informacije moraju spremiti u drugu datoteku s odgovarajućim dozvolama, tako da nećete morati zamagljivati ​​bash skriptu. Polako, ha?

        1.    KZKG ^ Gaara rekao je

          Problem s postojanjem podataka (varijable za prijavu, konfiguracije, itd.) U drugoj datoteci je taj što 'sustavu' ili 'aplikaciji' trebaju 2 datoteke da bi funkcionirao, dok ako pohranim što sigurnije sve u jedno jedna datoteka, pa trebala bi mi samo ta ... jedna datoteka.

          1.    Morpheus rekao je

            Dobra je praksa odvojiti aplikaciju od podataka.
            Ili je to užasna praksa tvrdo kodirati podatke!
            http://es.wikipedia.org/wiki/Hard_code
            To nema nikakve veze sa sigurnošću stavljanjem koda i podataka u istu datoteku. I još više, upravo suprotno ako tamo imate svoje lozinke !!

          2.    Willians vivanco rekao je

            Troškovi čitanja osjetljivih podataka iz druge datoteke zanemarivi su pored troškova procesora potrebnih za "poništavanje" vašeg koda.

            S druge strane, rušite čitavu paradigmu modularnog razvoja, kladeći se na monolitni model koji, više nego dokazano, ima više problema nego rješenja.

          3.    MSX rekao je

            A također da ako koristite dozvole koje će nužno uključivati ​​druge grupe / korisnike, trebat će vam i početna lozinka za izvršavanje prve skripte.

          4.    MSX rekao je

            @KZKG gornji komentar je odgovor na vaš komentar
            @morpheus: apsolutno je u odnosu na određenu potrebu.

    2.    Morpheus rekao je

      Ali postoji besplatni softver sastavljen u binarnom obliku (koji je više nego zamagljen). Da je besplatan, znači da je dostupan uz izvor, ali nema nikakve veze sa zamućivanjem (ili kompajliranjem, što je neophodno ako želim, na primjer, pokrenuti C program)

      1.    Willians vivanco rekao je

        U slučaju kompajliranog besplatnog softvera, pitanje je zahtjeva jezika koji se koristi (ako programirate na jeziku C, morate kompajlirati da bi vaša aplikacija radila). I isto, uvijek, ako je to zaista Slobodni softver, izvorni kod će biti dostupan.

  2.   Hyuuga_Neji rekao je

    humm Označujem određeni stupanj apatije da dijelimo kod, hahaha da vidimo koliko ih na kraju počinje "zamagljivati ​​svoje kodove" da bismo postali ovisniji o njihovim rješenjima ...

    1.    KZKG ^ Gaara rekao je

      Ne kažem da bi kôd trebao biti zamračen ili ne ... Dajem alate, svaki da ih koristi u skladu sa svojim potrebama.

      1.    komentator rekao je

        Zamuti kod na ovoj stranici?

        Mislim da je dobra ideja udaljiti čitatelje s obzirom da smatram da su mnogi ljudi koji posjećuju ovaj blog sljedbenici besplatnog softvera, pa stoga ne dijelimo praksu zamagljivanja koda.

        1.    MSX rekao je

          Očito niste pročitali razlog zašto KZKG tvrdi i zašto objašnjava njegovu potrebu da zamuti svoj skript.

          Hvala KZKG što ste podijelili vaše otkriće!

  3.   Gabriel rekao je

    I tako virusi počinju cirkulirati u Linuxu ...

    Lično NIKADA ne bih koristio nikakve skrivene skripte. Ne samo zbog sigurnosnih rizika, već zato što ako je vaša skripta previše dragocjena za dijeljenje, onda je bolje stavite u * ulo; Sigurno mogu naći nekoga ko želi podijeliti svoje znanje.

    1.    KZKG ^ Gaara rekao je

      Da li nikada ne biste koristili skrivenu skriptu? Pa, VRLO dobro za vas, NIKADA ne bih upotrijebio skrivenu skriptu ... detalj je u tome što NIKADA nisam dijelio skrivenu skriptu, daleko od nje, i tu je, dragi prijatelju, mjesto gdje je pogreška 😉

      Kad god nešto radim na Bashu, podijelim to bez da me odvagam ili uznemiravam, što sam već radio u mnogim člancima ovdje

      Dobrodošli na blog, zadovoljstvo vas je pročitati 😉

  4.   Percaff_TI99 rekao je

    Gabriel, KZKG ^ Gaara već dijeli znanje, on ne stvara nijedan linux paket s skrivenim skriptama što bi moglo predstavljati kršenje licence, već samo otkriva aplikacije koje se mogu koristiti ili ne za vlastitu upotrebu, nije potrebno budite nepristojni, jer virusi u linuxu nisu tako jednostavni, evo dobrog članka o tome https://blog.desdelinux.net/virus-en-gnulinux-realidad-o-mito/.
    KZKG ^ Gaara Želio bih da napišete post o encfs-u i kriptografiji pomoću slika, to je tema koja mi se jako sviđa.
    Živjeli !!!

    1.    KZKG ^ Gaara rekao je

      Hvala
      Zapravo nije da imam dovoljno znanja o encfs-u i kriptografiji, barem se ne osjećam dovoljno samouvjereno da objavim post i pretpostavim sumnje koje korisnici mogu imati
      U ovoj temi nije da sam napredni korisnik ...
      Najviše što sam učinio je korištenje GPG-a za šifriranje datoteka, a što se tiče slika, najviše što sam učinio je 'umetanje' ili sakrivanje datoteke unutar slike, čineći očiglednim da se kada se slika otvori preglednikom slika, sve prikazuje tačno, da li na ovo mislite?

      Još jednom, veliko hvala na komentaru 🙂

  5.   ratakruel rekao je

    Ako se dobro sjećam, postoje zamagljena C prvenstva, ali ne vrijedi koristiti "obfuscator", ali oni moraju zamaskirati svoje izvore bez sedla.

    Što se tiče shc-a i vaše skripte s lozinkama ... vrlo loš način rada!

    Zanimljiv članak, kao i uvijek.

    1.    KZKG ^ Gaara rekao je

      Da, više od jednog mi je već reklo LOL !!
      Hvala na komentaru 🙂

  6.   ikada rekao je

    U osnovi, ako dijelite aplikaciju bez dijeljenja vidljive skripte, kršili biste GPL, što zahtijeva da sve što se generira s GPL aplikacijom bude GPL. Zbog toga SHC generira C, jer je to kôd koji možete podijeliti.

    Saludos

  7.   Koristimo Linux rekao je

    Slažem se s komentarima drugih čitatelja: ne samo da nije dobra praksa pohranjivati ​​podatke i skripte zajedno, već nije ni pogodno za razvoj slobodnog softvera.
    Zagrljaj! Paul.

    1.    KZKG ^ Gaara rekao je

      Pozdrav Pablo 🙂
      Imam neku drugu skrivenu skriptu koja interno radi na mom laptopu, zamućujem je, jer jednostavno ne želim da, ako je netko iz nekog razloga uspio kopirati moju skriptu na drugo računalo, jednostavno ne želim da može vidjeti što ona sadrži, to je 'sigurnosna mjera 'Uzimam.

      Međutim, ovdje u DesdeLinux Objavljujem sve ili skoro sve što programiram u Bashu što bi moglo biti zanimljivo.

      Ukratko, nije da sam sada klevetnik SWL-a zbog prikrivanja ličnog skripta, radi toga u lične svrhe 😀

      Pozdrav prijatelju

  8.   codelab rekao je

    Dobre informacije. Osim kontroverzi koje se generiraju u komentarima, čini mi se informacijama da nastavim istraživati ​​još malo.

    Mislim da nam autor ni u jednom trenutku u članku ne govori je li to dobro ili loše učinjeno ili bismo to trebali ili ne bismo trebali, on nam jednostavno kaže alat pomoću kojeg se to može učiniti u slučaju da nekome koristi.

    A pozdrav.

    codelab

    1.    f3niX rekao je

      U Linuxeros blogovima sve je kontroverzno, haha, oduvijek je bilo tako.

      1.    MSX rekao je

        @ F3niX Izrezaću snimak zaslona s vašim komentarom kako bih ga stavio svaki put kad neko glupo spomene temu.

        Napomena: da vidimo kada te mogu naći na forumima irc i Chakra Cha

    2.    KZKG ^ Gaara rekao je

      TOČNO !!
      Jednostavno pokažem / podučim / objasnim nešto novo što sam naučio, na vama je da koristite ovo znanje ili ne, ne prisiljavam vas daleko od toga.

      Koliko znam, dijeljenje znanja je dobra stvar, zar ne? 0_oU

      Hvala vam na komentaru, dobro je znati da postoji više od jednog ili dva koji razumiju pravu svrhu ovog članka.

  9.   Percaff_TI99 rekao je

    Tu ste me stavili u tesno xD, prije nekoliko tjedana pripremam post koji će imati naslov «Instalacija i testiranje Cruxa», i unatoč činjenici da je instalacija uspješno izvedena, ja sam normalan korisnik i ne znam hoću li moći suočiti se s tim sumnje trećih strana, namjera nam je poslužiti kao instrument za raspravu o vrlinama i nedostacima ovog distroa i mogućim rješenjima problema koji mogu nastati pomažući nam među svim korisnicima i čitateljima. Kad ga završim i pošaljem na pregled, vi (administratori) ćete odlučiti. Što se tiče kriptografije u slikama, bilo je isto, hvala KZKG ^ Gaara na odgovoru.

    Pozdrav !!!

    1.    KZKG ^ Gaara rekao je

      Ok sa zadovoljstvom, poslat ću post o tome 😉

  10.   makubex uchiha rekao je

    izvrsno tuto brate Smatrao sam da je vrlo korisno: 3
    za one koji ga žele instalirati u manjaro linux i derivate archlinuxa, paket je u aur s imenom: shc

    Saludos

  11.   Marcos rekao je

    Izvinite, prijatelju, imao sam malu skriptu koja je VELIKA SLOVA pretvorila u mala slova koja su bila u međuspremniku (xclip)

    skripta funkcionira normalno kad nije zamagljena

    #! / bin / bash
    xclip -o> R1.txt
    mačka R1.txt | tr [: gornji:] [: donji:]
    izbacio ""
    rm R1.txt

    ali kada želim pokrenuti skrivenu skriptu
    kaže mi

    ./M2m.sh: Operacija nije dozvoljena
    Završeno (ubijeno)

    Molim vas, pomozite

    1.    KZKG ^ Gaara rekao je

      Da li imate instaliran xclip?

  12.   SynFlag rekao je

    Treba napomenuti da je to zapravo bash kompajler, kao što postoje .bat kompajler ili .php.
    Ne znam je li kod koji proizvodi šifriran i nejasan i ne podnosi li dekompajler, bilo bi potrebno pokušati, jer to nije moje polje, ne kažem da ili ne, ali ono što vidim je da kompajlira bash, u .c to jest Možete vidjeti kôd koji se u zamračenom, vidim da je u redovima koji izgledaju poput eksploatacijske ljuske, ne znam jesu li zaista zamagljeni, jer se ne traži lozinka ili ne znam, master.config gdje je prethodna ključna riječ.

  13.   Juan David rekao je

    prijatelji, dogodi se da kada zamutim skriptu, on kreira novu skriptu s bivšim završetkom, ja je izvedem i čak je savršena. Ali kada ga odnesem na drugo računalo sa linuzom, on se ne pokreće, već ima sve dozvole, kreiram pokretač i kažem mu da je to terminalna aplikacija, ali ne radi, pričekajte brz odgovor

    1.    KZKG ^ Gaara rekao je

      Jeste li ga kompajlirali i pokrećete li ga na sistemu s istom arhitekturom? Odnosno, dat će vam grešku ako ste je kompajlirali da je zamutite na 32-bitnom sistemu, a zatim je pokušate pokrenuti na 64-bitnom sistemu ili obrnuto. Ti razumijes?

      1.    Juan David rekao je

        Ne, ali već sam ponudio formatiranje istog računara, s istim operativnim sistemom i ne radi, čak ni ne šalje grešku.
        Zovem ga putem konzole ovako: sudo /home/operations/script.x i dobivam ovu grešku

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

        cijeli slučaj

        1.    KZKG ^ Gaara rekao je

          Pokušajte ga pokrenuti BEZ kompajliranja kako biste provjerili radi li se o grešci u kodu

    2.    Nick rekao je

      Da biste mogli pokrenuti skrivenu skriptu na drugim računarima, morate je kompajlirati s opcijom «-r Relax security. Napravite distribuiranu binarnu datoteku ', inače će se izvoditi samo na računaru na kojem je skripta skrivena SHC-om.
      Primjer:

      shc -r -f script.sh

  14.   william rekao je

    Pozdrav, imam upit, shc se može instalirati u bilo koju vrstu Linux distribucije?, Na primjer, crveni šešir, kako bi to mogla biti instalacija?
    Hvala!

  15.   ruyzz rekao je

    Pozdrav svima, vaši komentari su mi puno pomogli, ali imam sljedeći problem, kada mi zamagljivanje ne radi u istom sustavu, ali s drugačijom arhitekturom, odnosno ako to napravim u 32 bita, ne može se pokrenuti u 64 bita. Zna li netko može li se stvarno pokretati na različitim arhitekturama (32 i 64 bitne)?