Hvordan skjule eller skjule kode fra bash-skriptene våre

Noen ganger programmerer vi et skript i Bash og vi vil at koden til dette IKKE skal være synlig, det vil si ikke være ren tekst. Når vi snakker om å skjule kode, er det riktige begrepet tilslørt, i mitt tilfelle ønsket jeg å tilsløre koden for et manus jeg laget for en tid tilbake, verktøyet jeg fant for dette heter: shc

shc Det tillater oss å forvirre koden, her er trinnene for å bruke den:

1. Først må vi laste den ned

Last ned SHC v3.8.9

2. Når vi har lastet den ned, høyreklikker vi på den komprimerte filen og velger alternativet som sier «Trekk ut her"eller noe lignende. Dette får oss til å se en mappe som heter shc-3.8.9, her viser jeg deg et skjermbilde av innholdet

3. OK, la oss si at mappen er på /home/usuario/Downloads/shc-3.8.9 Vel, vi åpner en terminal og går til den ruten (cd "/home/usuario/Downloads/shc-3.8.9"), og installasjonen begynner her.

 4. I terminalen som ligger (som jeg allerede har fortalt deg) i mappen shc-3.8.9, for å installere dette programmet må vi lage en symbolsk lenke til filen shc-3.8.9.c a shc.c så vi utfører følgende:

ln -s shc-3.8.9.c shc.c

 4. Når lenken er opprettet, utfører vi make install med rottillatelser (vi vil bruke sudo):

 sudo make install

 4. Det vil be oss om passordet vårt, og det vil vente et øyeblikk, det vil vente på at vi skal trykke på tasten [OG] og trykk [Tast inn], det vil si at vi bekrefter at vi ønsker å installere programvaren. Når dette er gjort vil det installeres uten problemer. Jeg gir deg et skjermbilde av hele klargjørings- og installasjonsprosessen:

 


Som du ser på slutten får jeg en feil, feilen refererer til det faktum at en bestemt mappe ikke eksisterer på systemet mitt, hvis du ser dette bare ikke gi det betydning ... SHC installert vellykket 😉
Så de kan løpe sudo make install es NØDVENDIG ha pakkene installert: gcc y gjøre

5. Ferdig, dette er det for installasjonen 😀

Når vi har den installert, trenger vi bare å lære å bruke den. Anta at vi har et manus som heter script.sh og at innholdet er som følger:

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

Når du utfører dette skriptet, vil det åpenbart vise oss meldingen i terminalen: «Testskript for DesdeLinux. Net" eller ikke? ... Men nå skal vi tilsløre koden.

I en terminal setter vi følgende og trykker [Tast inn]:

shc -v -f $HOME/script.sh

Og bingo !! klar 😀

Dette skapte oss to nye filer sammen med skriptet vårt, nå har vi gjort det script.sh.x y script.sh.xc

script.sh.x - » Dette er vårt forvirrede bash-skript, dette når vi utfører det vil gjøre nøyaktig det samme som det første vi opprettet, forskjellen mellom disse er at den første hvis vi åpnet den med en tekstredigerer (nano, kate, gedit, etc) vi kunne tydelig se innholdet, mens hvis vi åpner for script.sh.x vi vil se tydelig at vi ikke ser noe ... LOL !!!, det vil si at koden er 'kryptert' 🙂

script.sh.xc - » Dette er skriptet vårt, men på C-språk ... vi kan slette dette uten å bekymre oss fordi vi egentlig ikke trenger det, vel, i det minste trenger jeg det ikke i det hele tatt 🙂

Det er ikke mye annet å legge til faktisk på den tekniske siden, bare avklar at så vidt jeg vet med dette (skjuler eller tilslører bash-skriptkode) bryter det ikke lisenser eller noe sånt. Jeg avklarer dette fordi for noen måneder siden på Facebook da jeg nevnte at jeg hadde lært å tilsløre baskode, varslet noen brukere meg om at dette var i strid med lisenser eller noe sånt ... vel, så vidt jeg forstår er ikke lisenser brutt med dette 😉

Tusen takk til Matias Gaston for å ha nevnt dette verktøyet for meg for en tid tilbake

Ikke noe mer å legge til, tvil eller spørsmål, klage eller forslag, gi meg beskjed.

Hilsen 😀


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   xykyz sa

    Det er ikke slik at lisenser brytes, det er at det slutter å være gratis programvare ...

    1.    KZKG ^ Gaara sa

      Ja, selvfølgelig. Poenget er at det er visse personlige skript av meg som jeg ikke vil at andre skal se, for eksempel fordi et av disse skriptene har et passord for ren tekst fra min lokale MySQL, eller noe lignende.

        1.    KZKG ^ Gaara sa

          Egentlig holder jeg passordene mine 'skjulte' ved hjelp av SHA (https://blog.desdelinux.net/como-saber-la-suma-md5-o-sha-de-una-palabra-oracion-o-archivo/), så holder jeg i skriptet passordhash og det jeg gjør er å sammenligne passordet som brukeren skriver inn (jeg lagrer det med lese), jeg får SHA-summen og sammenligner begge på slutten 🙂

          Uansett, tusen takk for lenken, jeg gjennomgår den allerede 😀

          Hilsen

        2.    La oss bruke Linux sa

          Nøyaktig! En shell-spørsmål som ber om passordet er et godt alternativ.
          Jubel! Paul.

          1.    MSX sa

            Men det gir ikke en automatisk og uten tilsyn som den andre veien. 🙂

      1.    Willians vivanco sa

        Å sette passord og annen tilgang eller kompromittere data i skriptet er en stor feil. Denne informasjonen må lagres i en annen fil, med de riktige tillatelsene, slik at du ikke trenger å skjule ditt bash-skript. Lett, ikke sant?

        1.    KZKG ^ Gaara sa

          Problemet med å ha dataene (påloggingsvariabler, confs, etc) i en annen fil er at da trenger systemet eller applikasjonen to filer for å fungere, mens hvis jeg lagrer så 'sikkert' som mulig, alt i en enkelt fil, vel, jeg trenger bare det ... en enkelt fil.

          1.    Morfeus sa

            Det er god praksis å skille søknaden fra dataene.
            Eller rettere sagt er det en forferdelig praksis å hardkode dataene!
            http://es.wikipedia.org/wiki/Hard_code
            Det har ingenting å gjøre med sikkerhet å legge kode og data i samme fil. Og enda mer, tvert imot hvis du har passordene dine der !!

          2.    Willians vivanco sa

            Kostnaden for å lese sensitiv informasjon fra en annen fil er ubetydelig ved siden av prosessorkostnaden som er nødvendig for å "avhente" koden din.

            På den annen side ødelegger du et helt paradigme for modulær utvikling, ved å satse på en monolitisk modell som mer enn bevist er at det er flere problemer enn løsninger.

          3.    MSX sa

            Og også at hvis du bruker tillatelser som nødvendigvis vil involvere andre grupper / brukere, vil du også trenge et første passord for å utføre det første skriptet.

          4.    MSX sa

            @KZKG kommentaren ovenfor er som svar på kommentaren din
            @morpheus: det er absolutt relativt til det spesielle behovet.

    2.    Morfeus sa

      Men det er gratis programvare samlet i binær (som er mer enn tilstøtende). Det faktum at det er gratis innebærer at det også har kilden, men det har ingenting å gjøre med å forvirre (eller kompilering, noe som er viktig hvis jeg for eksempel vil kjøre et C-program)

      1.    Willians vivanco sa

        Når det gjelder kompilert fri programvare, er det et spørsmål om kravet til språket som brukes (hvis du programmerer i C, må du kompilere for at applikasjonen skal fungere). Og det samme, alltid, hvis det virkelig er fri programvare, vil kildekoden være tilgjengelig.

  2.   Hyuuga_Neji sa

    humm Jeg betegner en viss grad av apati for å dele kode lol for å se hvor mange som ender opp med å "tilsløre kodene sine" for å gjøre oss mer avhengige av deres løsninger ...

    1.    KZKG ^ Gaara sa

      Jeg sier ikke at koden skal være tilslørt eller ikke ... Jeg gir verktøyene, hver og en for å bruke dem i henhold til deres behov.

      1.    kommentator sa

        Forvirret kode på denne siden?

        Jeg synes det er en god idé å distansere leserne, siden jeg anser at mange av menneskene som besøker denne bloggen er tilhengere av gratis programvare, og derfor deler vi ikke praksisen med å forvirre koden.

        1.    MSX sa

          Du leste tydeligvis ikke grunnen til at KZKG argumenterer og hvorfor det forklarer behovet for å skjule skriptet.

          Takk KZKG for at du delte funnet!

  3.   Gabriel sa

    Og så begynner virus å sirkulere i Linux ...

    Personlig vil jeg ALDRI bruke forvirrede skript. Ikke bare på grunn av sikkerhetsrisikoen som er involvert, men fordi hvis skriptet ditt er for verdifullt til å dele, bør du sette det i * ulo; Jeg kan sikkert finne noen som ønsker å dele sin kunnskap.

    1.    KZKG ^ Gaara sa

      Vil du noen gang bruke et forvirret skript?, Vel, VELDIG bra for deg, jeg ville ALDRI bruke et forvirret skript ... detaljene er at jeg ALDRI har delt et forvirret skript, langt fra det, og det er kjære vennen der feil er til stede

      Når jeg gjør noe i Bash, deler jeg det uten å veie eller plage meg, noe jeg allerede har gjort i mange artikler her 😀

      Velkommen til bloggen, en glede å lese deg 😉

  4.   Percaff_TI99 sa

    Gabriel, KZKG ^ Gaara deler allerede kunnskap, han lager ikke noen Linux-pakke med forvirrede skript som kan være lisensbrudd, det avslører bare applikasjoner som man kan bruke eller ikke til eget bruk, det er ikke nødvendig å være frekk, da for virus i linux er ikke så enkelt, her er en god artikkel om det https://blog.desdelinux.net/virus-en-gnulinux-realidad-o-mito/.
    KZKG ^ Gaara Jeg vil at du skal skrive et innlegg om encfs og kryptografi ved hjelp av bilder, det er et emne jeg virkelig liker.
    Jubel !!!

    1.    KZKG ^ Gaara sa

      Takk
      Egentlig er det ikke det at jeg har nok kunnskap om encfs og kryptografi, i det minste føler jeg meg ikke trygg nok til å lage et innlegg og antar den tvilen brukerne kan ha 😀
      I dette emnet er det ikke det at jeg er en avansert bruker ...
      Det meste jeg har gjort er å bruke GPG til å kryptere filer, og når det gjelder bilder, er det mest jeg har gjort å 'sette inn' eller skjule en fil i et bilde, noe som gjør det åpenbart at når bildet åpnes med en bildeviser, alt vises riktig, er dette det du mener?

      Nok en gang, tusen takk for kommentaren din 🙂

  5.   ratakruel sa

    Hvis jeg ikke husker riktig, er det tilstoppede C-mesterskap, men det er ikke verdt å bruke en "obfuscator", men de må tilsløre kildene bareback.

    Når det gjelder shc og skriptet ditt med passord ... veldig dårlig måte å jobbe på!

    Interessant artikkel, som alltid.

    1.    KZKG ^ Gaara sa

      Ja, mer enn en har allerede fortalt meg LOL !!
      Takk for kommentaren din 🙂

  6.   noensinne sa

    I utgangspunktet, hvis du deler applikasjonen uten å dele det synlige skriptet, bryter du GPL, noe som krever at alt som genereres med et GPL-program, er GPL. Derfor genererer SHC C, fordi det er koden du kan dele.

    Hilsen

  7.   La oss bruke Linux sa

    Jeg er enig med kommentarene til andre lesere: ikke bare er det ikke god praksis å lagre data og skripter alt sammen, men det er heller ikke bidrar til utvikling av gratis programvare.
    En klem! Paul.

    1.    KZKG ^ Gaara sa

      Hei Pablo 🙂
      Jeg har et annet forvirret skript som fungerer internt på den bærbare datamaskinen min, jeg tilslører det fordi jeg rett og slett ikke vil at hvis noen av en eller annen grunn klarte å kopiere skriptet mitt til en annen datamaskin, vil jeg rett og slett ikke at de skal se hva det inneholder, det er et "sikkerhetstiltak" jeg tar.

      Imidlertid her inne DesdeLinux Jeg offentliggjør alt eller nesten alt jeg programmerer i Bash som kan være interessant.

      Kort sagt, det er ikke det at jeg nå er en forstyrrer av SWL for å skjule et personlig skript, for å gjøre dette for personlige formål 😀

      Hilsen venn

  8.   kodelab sa

    God informasjon. Bortsett fra kontroversene som genereres i kommentarene, virker det for meg informasjon å fortsette å undersøke litt mer.

    Jeg tror at forfatteren ikke på noe tidspunkt i artikkelen forteller oss om det er bra eller dårlig gjort, eller om vi skulle eller ikke burde gjøre det, han forteller oss ganske enkelt verktøyet det kan gjøres i tilfelle det er nyttig for noen.

    En hilsen.

    kodelab

    1.    f3niX sa

      I Linuxeros-blogger er alt kontroversielt, haha ​​det har alltid vært slik.

      1.    MSX sa

        @ F3niX Jeg skal kutte et skjermbilde med kommentaren din for å si det hver gang noen nevner emnet dumt.

        Merk: la oss se når jeg kan finne deg på irc og Chakra forumet 😉

    2.    KZKG ^ Gaara sa

      NØYAKTIG!!
      Jeg viser / underviser / forklarer ganske enkelt noe nytt jeg har lært, det er opp til deg å bruke denne kunnskapen eller ikke, jeg tvinger deg ikke langt fra den.

      Så vidt jeg vet er det å dele kunnskap en positiv ting, ikke sant? 0_oU

      Takk for kommentaren din, det er godt å vite at det er mer enn en eller to som forstår den virkelige hensikten med denne artikkelen.

  9.   Percaff_TI99 sa

    Der satte du meg i et tett sted xD, for noen uker siden har jeg forberedt et innlegg som skulle hetes «Installasjon og testing av Crux» og til tross for at installasjonen ble gjennomført med hell, er jeg en normal bruker og jeg vet ikke om jeg vil være i stand til å takle tvilen fra tredjeparter, intensjonen er at den fungerer som et diskusjonsinstrument om dyder og mangler ved denne distro og mulige løsninger på problemer som kan oppstå som hjelper oss blant alle brukere og lesere. Når jeg er ferdig med den og sender den til gjennomgang, bestemmer du (administratorer). Når det gjelder problemet med kryptografi i bilder, var det det samme, takk KZKG ^ Gaara for svaret.

    Greetings!

    1.    KZKG ^ Gaara sa

      Ok med glede, jeg skal lage et innlegg om det 😉

  10.   makubex uchiha sa

    utmerket tuto bro jeg syntes det var veldig nyttig: 3
    for de som ønsker å installere den i manjaro linux og derivater av archlinux er pakken i aur med navnet: shc

    Hilsen

  11.   rammeverk sa

    Unnskyld meg, venn, jeg hadde et lite skript som konverterte STORBREV TIL små bokstaver som var i utklippstavlen

    skriptet fungerer normalt når det ikke er tilslørt

    #! / Bin / bash
    xclip -o> R1.txt
    katt R1.txt | tr [: øvre:] [: nedre:]
    kastet ut ""
    rm R1.txt

    men når jeg vil kjøre det forvirrede skriptet
    meg terning

    ./M2m.sh: Drift ikke tillatt
    Fullført (drept)

    Vennligst hjelp

    1.    KZKG ^ Gaara sa

      Har du installert xclip?

  12.   SynFlag sa

    Det skal bemerkes at det faktisk er en bash-kompilator, da det er .bat-kompilatorer eller .php.
    Jeg vet ikke om koden som produserer er kryptert og forvirret og ikke tåler en dekompilator, ville det være nødvendig å prøve, siden det ikke er mitt felt, sier jeg ikke ja eller nei, men det jeg ser at det gjør er å kompilere en bash, i .c det er Du kan se koden, som, i det forvirrede, ser jeg at det er i linjer som ser ut som et utnyttelsesskall, jeg vet ikke om de virkelig er tilslørt, siden det ikke er noe passord bedt om eller en jeg vet ikke, master.config hvor et tidligere nøkkelord.

  13.   Juan David sa

    venner det skjer at når jeg tilslører skriptet mitt, oppretter han det nye skriptet med ex-slutt, jeg utfører det, og det er til og med perfekt. Men når jeg tar den til en annen datamaskin med linuz, kjører den ikke, den har allerede alle tillatelser, jeg oppretter en bærerakett og forteller den at det er et terminalprogram, men det fungerer ikke, vent på et raskt svar

    1.    KZKG ^ Gaara sa

      Har du kompilert det og kjører du det på et system med samme arkitektur? Med andre ord vil det gi deg en feil hvis du kompilerte den for å skjule den på et 32-biters system, og deretter prøver du å kjøre den på et 64-biters system, eller omvendt. Du forstår?

      1.    Juan David sa

        Nei, men jeg har allerede gitt formatering av samme datamaskin, med samme operativsystem og den kjører ikke, den sender ikke en gang en feil.
        Jeg kaller det på konsoll slik: sudo /home/operations/script.x og jeg får denne feilen

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

        en hel sak

        1.    KZKG ^ Gaara sa

          Prøv å kjøre den UTEN kompilering for å se om det er en feil i koden

    2.    Nick sa

      For at du skal kunne kjøre det forvirrede skriptet på andre datamaskiner, må du kompilere det med alternativet «-r Relax security. Lag en omfordelbar binær ', ellers kjører den bare på maskinen der skriptet ble tilslørt med SHC.
      Eksempel:

      shc -r -f script.sh

  14.   william sa

    Hei, jeg har et spørsmål, shc kan installeres i alle typer Linux-distribusjoner?, For eksempel red hat, hvordan ville installasjonen vært for denne?
    Takk!

  15.   ruyzz sa

    Hei alle sammen, kommentarene dine har hjulpet meg veldig mye, men jeg har følgende problem, når forvirring ikke fungerer for meg i samme system, men med annen arkitektur, det vil si at hvis jeg gjør det på 32 biter, kan det ikke kjøres på 64 biter . Er det noen som vet om den virkelig kan kjøres på forskjellige arkitekturer (32 og 64 bit)?