Kiel kaŝi aŭ kaŝi kodon de niaj bash-skriptoj

Foje ni programas skripton en Bash kaj ni volas, ke la kodo de ĉi tio NE estu videbla, tio estas ne estu simpla teksto. Kiam ni parolas pri kaŝa kodo la ĝusta termino estas malklarigi, en mia kazo mi volis malklarigi la kodon skripto, kiun mi faris antaŭ iom da tempo, la utileco, kiun mi trovis por ĉi tio, nomiĝas: ŝc

ŝc Ĝi permesas al ni malklarigi kodon, jen la paŝoj por uzi ĝin:

1. Unue ni devas elŝuti ĝin

Elŝutu SHC v3.8.9

2. Post kiam ni elŝutis ĝin, ni dekstre alklakas la kunpremitan dosieron kaj elektas la opcion, kiu diras «Ĉerpu ĉi tie"aŭ io simila. Ĉi tio igos nin vidi dosierujon nomatan shc-3.8.9, ĉi tie mi montras al vi ekrankopion de ĝia enhavo

3. Bone, ni diru, ke la dosierujo estas /home/usuario/Downloads/shc-3.8.9 Nu, ni malfermas terminalon kaj iras al tiu vojo (cd "/home/usuario/Downloads/shc-3.8.9"), kaj la instalado komenciĝas ĉi tie.

 4. En la fina stacio situanta (kiel mi jam diris al vi) en la dosierujo shc-3.8.9, por instali ĉi tiun programon ni bezonas fari simbolan ligon de la dosiero shc-3.8.9.c a ŝc.c do ni plenumas la jenon:

ln -s shc-3.8.9.c shc.c

 4. Post kiam la ligo estas farita, ni ekzekutas fari instali kun radikaj permesoj (ni uzos sudon):

 sudo make install

 4. Ĝi petos al ni nian pasvorton kaj ĝi atendos momenton, ĝi atendos, ke ni premu la klavon [KAJ] kaj premu [Eniru], tio estas, ke ni konfirmas, ke ni volas instali la programon. Post kiam ĉi tio estos farita, ĝi instalos senprobleme. Mi lasas al vi ekranfoton de la tuta procezo de preparado kaj instalado:

 

Kiel vi povas vidi fine mi ricevas eraron, la eraro rilatas al tio, ke certa dosierujo ne ekzistas en mia sistemo, se vi vidas ĉi tion, simple ne donu al ĝi gravecon ... malgraŭ tio SHC instalita sukcese 😉
Do ili povas kuri sudo make install es NECESA ĉu la pakaĵoj estas instalitaj: gcc y fari

5. Finita, jen por la instalado 😀

Kiam ni instalos ĝin, ni nur bezonas lerni kiel uzi ĝin. Supozu, ke ni havas skripton en nia hejmo nomatan skripto.sh kaj ke ĝia enhavo estas jena:

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

Ekzekutante ĉi tiun skripton, ĝi evidente montros al ni en la fina stacio la mesaĝon: «Testoskripto por FromLinux.net" aŭ ne? ... Sed nun ni malklarigos tiun kodon.

En fina stacio ni metas la jenon kaj premas [Eniru]:

shc -v -f $HOME/script.sh

Kaj bingo !! preta 😀

Ĉi tio kreis al ni du novajn dosierojn kune kun nia skripto, nun ni havas skripto.sh.x y skripto.sh.xc

script.sh.x - » Ĉi tiu estas nia malklarigita bash-skripto, kiam ni ekzekutos ĝin, faros tute same kiel la unua kreita de ni, la diferenco inter ĉi tiuj estas, ke la unua, se ni malfermis ĝin per tekstredaktilo (nano, kate, gedit, ktp.) ) ni povus vidi klare ĝian enhavon, kvankam se ni malfermas al skripto.sh.x ni klare vidos, ke ni vidas nenion ... LOL !!!, tio estas, la kodo estas 'ĉifrita' 🙂

script.sh.xc - » Ĉi tiu estas nia skripto sed en C-lingvo ... ni povas forigi ĉi tion sen zorgo, ĉar ni ne vere bezonas ĝin, nu, almenaŭ mi tute ne bezonus ĝin 🙂

Ne multe aldoniĝas efektive ĉe la teknika flanko, nur por klarigi, ke laŭ mia scio per ĉi tio (kaŝi aŭ malklarigi bash-skriptan kodon) ĝi ne malobservas permesilojn aŭ ion tian. Mi klarigas ĉi tion, ĉar antaŭ kelkaj monatoj ĉe Facebook, kiam mi menciis, ke mi lernis kaŝi bash-kodon, iuj uzantoj avertis min, ke tio malobservas licencojn aŭ ion tian ... nu, laŭ mia kompreno, licencoj ne estas malobservitaj. kun ĉi tiu 😉

Koran dankon al Matias Gaston ĉar mi menciis ĉi tiun servaĵon al mi antaŭ iom da tempo

Nenio pli aldonebla, ajna dubo aŭ demando, plendo aŭ sugesto sciigu min.

Salutojn 😀


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

44 komentoj, lasu la viajn

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita. Postulita kampojn estas markita per *

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.

  1.   xykyz diris

    Ĝi ne malpermesas licencojn, sed ĝi ĉesas esti libera programaro ...

    1.    KZKG ^ Gaara diris

      Jes kompreneble. La afero estas, ke estas iuj personaj skriptoj miaj, kiujn mi ne volas, ke aliaj vidu, ekzemple ĉar unu el ĉi tiuj skriptoj havas simplan tekstan pasvorton de mia loka MySQL, aŭ io simila.

        1.    KZKG ^ Gaara diris

          Fakte mi konservas miajn pasvortojn "kaŝitaj" per SHA (https://blog.desdelinux.net/como-saber-la-suma-md5-o-sha-de-una-palabra-oracion-o-archivo/), tiam en la skripto mi konservas la pasvortan hash kaj kion mi faras estas kompari la pasvorton, kiun la uzanto enigas (mi konservas ĝin per legado), mi ricevas la sumon SHA kaj komparas ambaŭ fine 🙂

          Ĉiuokaze, mi tre dankas pro la ligo, mi jam recenzas ĝin 😀

          salutoj

        2.    Ni uzu Linukso diris

          Precize! Ŝela instigo petanta la pasvorton estas bona alternativo.
          Saluton! Paŭlo.

          1.    MSX diris

            Sed ĝi ne provizas aŭtomatan kaj neakompanatan ekzekuton kiel ĝi faras alimaniere. 🙂

      1.    Willians vivanco diris

        Enmeti pasvortojn kaj aliajn alirojn aŭ kompromiti datumojn en la skripton estas granda eraro. Ĉi tiuj informoj devas esti konservitaj en alia dosiero, kun ĝiaj taŭgaj permesoj, do vi ne devos malklarigi vian bash-skripton. Facila ĉu?

        1.    KZKG ^ Gaara diris

          La problemo pri tio, ke la datumoj (ensalutaj variabloj, konf. Ktp) en alia dosiero estas, ke tiam la 'sistemo' aŭ 'aplikaĵo' bezonas 2 dosierojn por funkcii, dum se mi konservas kiel eble plej 'sekuran' ĉion en unu sola dosiero, nu mi bezonus nur tion ... unu dosieron.

          1.    Morfeo diris

            Estas bona praktiko apartigi la aplikaĵon de la datumoj.
            Aŭ pli ĝuste estas terura praktiko malfacile kodigi la datumojn!
            http://es.wikipedia.org/wiki/Hard_code
            Ĝi neniel rilatas al sekureco meti kodon kaj datumojn en la saman dosieron. Kaj eĉ pli, tute male se vi havas viajn pasvortojn tie !!

          2.    Willians vivanco diris

            La kosto por legi sentemajn informojn de alia dosiero estas nekonsiderinda apud la procesora kosto necesa por "malhavi" vian kodon.

            Aliflanke, vi forĵetas tutan paradigmon de modula disvolviĝo, vetante je monolita modelo, kiu, pli ol pruvite, estas pli da problemoj ol solvoj.

          3.    MSX diris

            Kaj ankaŭ ke se vi uzas permesojn, kiuj nepre implikos aliajn grupojn / uzantojn, vi ankaŭ bezonos komencan pasvorton por ekzekuti la unuan skripton.

          4.    MSX diris

            @KZKG la supre komento respondas al via komento
            @morpheus: ĝi absolute rilatas al la aparta bezono.

    2.    Morfeo diris

      Sed estas libera programaro kompilita en duuma (kiu estas pli ol malklara). Ke ĝi estas senpaga, tio implicas, ke ĝi haveblas krom la fonto, sed ĝi neniel rilatas al malklarigado (aŭ kompilado, kio estas esenca se mi volas ekzekuti programon C, ekzemple)

      1.    Willians vivanco diris

        Kaze de kompilita libera programaro, temas pri la postulo de la uzata lingvo (se vi programas en C, vi devas kompili por ke via apliko funkciu). Kaj same, ĉiam, se ĝi vere estas Libera Programaro, la fontkodo estos disponebla.

  2.   Hyuuga_Neji diris

    humm indikas certan apation dividi kodon hehehe por vidi kiom multaj komencas "malklarigi siajn kodojn" por fari nin pli dependaj de iliaj solvoj ...

    1.    KZKG ^ Gaara diris

      Mi ne diras, ke kodo estu malklarigita aŭ ne ... Mi donas la ilojn, ĉiu por uzi ilin laŭ siaj bezonoj.

      1.    komentisto diris

        Malklara kodo en ĉi tiu paĝo?

        Mi pensas, ke estas bona ideo distancigi legantojn, ĉar mi konsideras, ke multaj el la homoj, kiuj vizitas ĉi tiun blogon, estas sekvantoj de libera programaro, kaj tial ni ne dividas la praktikon malklarigi kodon.

        1.    MSX diris

          Vi evidente ne legis la kialon de KZKG por klarigi ĝian bezonon malklarigi ĝian manuskripton.

          Dankon KZKG pro dividi vian trovon!

  3.   gabriel diris

    Kaj do virusoj cirkulas en Linukso ...

    Persone mi NENIAM uzus iujn malklarajn skriptojn. Ne nur pro la sekurecaj riskoj, sed ĉar se via skripto estas tro valora por vi por dividi, pli bone metu ĝin en la * ulo; Mi certe povas trovi iun, kiu ja volas dividi siajn sciojn.

    1.    KZKG ^ Gaara diris

      Ĉu vi iam uzus malklaran skribon?, Nu, TRE bone por vi, mi NENIAM uzus malklaran skribon ... la detalo estas tio, ke mi NENIAM dividis malklaran skribon, malproksime de ĝi, kaj tie kara amiko estas kie la eraro ĉeestas presente

      Ĉiam, kiam mi faras ion en Bash, mi dividas ĝin sen pesi aŭ ĝeni min, kion mi jam faris en multaj artikoloj ĉi tie 😀

      Bonvenon al la blogo, plezure legi vin 😉

  4.   Percaff_TI99 diris

    Gabriel, KZKG ^ Gaara jam dividas sciojn, li ne kreas linukso-pakon kun malklaraj skriptoj, kiuj povus esti permesilo-malobservo, ĝi nur malkaŝas aplikojn, kiuj povas aŭ ne esti utilaj por propra uzo, ne necesas esti malĝentila, pri virusoj en linukso ne estas tiel simpla, jen bona artikolo pri ĝi https://blog.desdelinux.net/virus-en-gnulinux-realidad-o-mito/.
    KZKG ^ Gaara Mi ŝatus, ke vi verku afiŝon pri kodoj kaj kriptografio per bildoj, ĝi estas temo, kiu tre plaĉas al mi.
    Saluton !!!

    1.    KZKG ^ Gaara diris

      Dankon 🙂
      Fakte ne temas pri tio, ke mi havas sufiĉe da scioj pri kodoj kaj kriptografio, almenaŭ mi ne sentas min sufiĉe certa por fari afiŝon kaj supozi la dubojn, kiujn uzantoj povas havi.
      En ĉi tiu temo ne temas pri tio, ke mi estas progresinta uzanto ...
      Plej multe mi faris estas uzi GPG por ĉifri dosierojn, kaj koncerne bildojn, plej multe mi faris estas "enmeti" aŭ kaŝi dosieron ene de bildo, evidentigante, ke kiam la bildo estas malfermita per bilda vidilo, ĉio montriĝas ĝuste, ĉu ĉi tion vi celas?

      Denove mi tre dankas vian komenton 🙂

  5.   ratakruel diris

    Se mi bone memoras, ekzistas malklaraj C-ĉampionecoj, sed ne indas uzi "malklarigilon" sed ili devas malklarigi siajn fontojn senĉese.

    Pri shc kaj via skripto kun pasvortoj ... tre malbona maniero labori!

    Interesa artikolo, kiel ĉiam.

    1.    KZKG ^ Gaara diris

      Jes, pli ol unu jam diris al mi LOL !!
      Dankon pro via komento 🙂

  6.   iam ajn diris

    Esence, se vi dividas la aplikaĵon sen dividi la videblan skripton, vi malobservus la GPL, kio postulas, ke io ajn generita per GPL-aplikaĵo estu GPL. Tial SHC generas la C, ĉar tio estas la kodo, kiun vi povas dividi.

    salutoj

  7.   Ni uzu Linukso diris

    Mi konsentas kun la komentoj de aliaj legantoj: ne nur ne estas bona praktiko konservi datumojn kaj skriptojn kune, sed ĝi ankaŭ ne favoras la disvolviĝon de libera programaro.
    Brakumon! Paŭlo.

    1.    KZKG ^ Gaara diris

      Saluton Pablo 🙂
      Mi havas iun alian malklaran skripton, kiu funkcias interne sur mia tekkomputilo, mi malklarigas ĝin, ĉar mi simple ne volas, ke se iu ial sukcesis kopii mian skripton al alia komputilo, mi simple ne volas, ke ili povu vidi, kio ĝi estas enhavas, ĝi estas 'sekureca mezuro', kiun mi prenas.

      Tamen ĉi tie en DesdeLinux mi publikigas ĉion aŭ preskaŭ ĉion, kion mi programas en Bash, kiu povas esti interesa.

      Ĉiuokaze ne estas nun, ke mi malklarigas personan skripton, ĉar mi faras ĉi tion por personaj celoj, mi malprofitas la SWL malproksime de ĝi 😀

      Salutojn amiko

  8.   kodelab diris

    Bonaj informoj. Krom la polemikoj, kiuj generiĝas en la komentoj, ŝajnas al mi informo daŭre esplori iom pli.

    Mi pensas, ke la aŭtoro en neniu momento de la artikolo diras al ni, ĉu ĝi estas bone aŭ malbone farita aŭ ĉu ni devas aŭ ne fari ĝin, li simple diras al ni la ilon, per kiu ĝi povas esti farita, se ĝi helpos al iu.

    Un saluto.

    kodelab

    1.    f3niX diris

      En Linuxeros-blogoj ĉio estas polemika, haha, tiel estis ĉiam.

      1.    MSX diris

        @ F3niX Mi tranĉos ekrankopion kun via komento por diri ĝin ĉiufoje, kiam iu faras stultan mencion pri la temo.

        Noto: ni vidu, kiam mi trovos vin en la forumoj irc kaj Chakra 😉

    2.    KZKG ^ Gaara diris

      ĜUSTA !!
      Mi simple montras / instruas / klarigas ion novan, kion mi lernis, dependas de vi uzi ĉi tiujn sciojn aŭ ne, mi ne devigas vin malproksime de ĝi.

      Laŭ mia scio, dividi sciojn estas bona afero, ĉu ne? 0_oU

      Dankon pro via komento, estas bone scii, ke estas pli ol unu aŭ du, kiuj komprenas la veran celon de ĉi tiu artikolo.

  9.   Percaff_TI99 diris

    Tie vi metis min en streĉan lokon xD, antaŭ kelkaj semajnoj mi preparis afiŝon, kiu nomiĝos «Instalado kaj testado de Crux» kaj malgraŭ tio, ke la instalado sukcesis, mi estas normala uzanto. kaj mi ne scias, ĉu mi povos trakti la dubojn de triaj, la intenco estas servi kiel instrumento por diskuto pri la virtoj kaj difektoj de ĉi tiu distro kaj la eblaj solvoj al problemoj, kiuj povas aperi, helpante nin inter ĉiuj uzantoj kaj legantoj. Kiam mi finos ĝin kaj sendos ĝin por revizio, vi (Administrantoj) decidos. Koncerne la numeron pri kriptografio en bildoj, same estis, dankon KZKG ^ Gaara pro respondo.

    Saluton !!!

    1.    KZKG ^ Gaara diris

      Bone kun plezuro, mi publikigos afiŝon pri tio 😉

  10.   makubex uchiha diris

    bonega tuto frato, mi trovis ĝin tre utila: 3
    por tiuj, kiuj volas instali ĝin en manjaro linux kaj derivaĵoj de archlinux, la pakaĵo estas en aur kun la nomo: shc

    salutoj

  11.   Marcos diris

    pardonu amiko havis malgrandan skripton, kiu transformis MAJusklojn al minuskloj, kiuj estis en la tondejo (xclip)

    la skripto funkcias normale kiam ne malklarigita

    #! / bin / bash
    xclip -o> R1.txt
    kato R1.txt | tr [: supra:] [: malsupra:]
    forĵetis ""
    rm R1.txt

    sed kiam mi volas lanĉi la malklaran skripton
    diras al mi

    ./M2m.sh: Operacio ne permesita
    Kompletigita (mortigita)

    Bonvolu helpi

    1.    KZKG ^ Gaara diris

      Ĉu vi havas xclip instalita?

  12.   SynFlag diris

    Oni notu, ke ĝi efektive estas bash-kompililo, ĉar ekzistas .bat-kompililoj aŭ .php.
    Mi ne scias, ĉu la kodo, kiu produktas, estas ĉifrita kaj malklarigita kaj ne eltenas malkompililon, necesus provi, ĉar ĝi ne estas mia kampo, mi ne diras jes aŭ ne, sed mi vidas, ke ĝi faras, estas kompili. bash, en la .c ĝi estas Vi povas vidi la kodon, kiu, ene de la malklarigita, mi vidas, ke ĝi estas en linioj, kiuj aspektas kiel ekspluata ŝelo, mi ne scias, ĉu ili estas vere malklarigitaj, ĉar, neniu pasvorto estas petita aŭ mi ne scias, master.config kie antaŭa ŝlosilvorto.

  13.   Juan David diris

    amikoj okazas, ke kiam mi malklarigas mian skripton, li kreas la novan skripton kun eksfinaĵo, mi ekzekutas ĝin kaj eĉ estas perfekta. Sed kiam mi prenas ĝin al alia komputilo kun linuz ĝi ne funkcias, ĝi jam havas ĉiujn permesojn, mi kreas lanĉilon kaj diras al ĝi, ke ĝi estas fina programo, sed ĝi ne funkcias, bonvolu atendi rapidan respondon.

    1.    KZKG ^ Gaara diris

      Ĉu vi kompilis ĝin kaj ĉu vi funkcias per sistemo kun la sama arkitekturo? Alivorte, ĝi donos al vi eraron se vi kompilis ĝin por malklarigi ĝin sur 32-bita sistemo, kaj tiam vi provas funkciigi ĝin sur 64-bita sistemo, aŭ inverse. Vi komprenas?

      1.    Juan David diris

        Ne, sed mi jam provizis formatadon de la sama komputilo, kun la sama operaciumo kaj ĝi ne funkcias, ĝi eĉ ne sendas eraron.
        Mi nomas ĝin per konzolo tiel: sudo /home/operations/script.x kaj mi ricevas ĉi tiun eraron

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

        tuta kazo

        1.    KZKG ^ Gaara diris

          Provu ruli ĝin SEN kompilante por vidi ĉu ĝi estas eraro en la kodo

    2.    nick diris

      Por ke vi funkciigu la malklaran skripton sur aliaj komputiloj, vi devas kompili ĝin per la opcio «-r Malstreĉu sekurecon. Faru redistribueblan duuma ', alie ĝi nur ruliĝos sur la maŝino kie la skripto estis malklarigita per SHC.
      Ekzemplo:

      shc -r -f script.sh

  14.   william diris

    Saluton, mi havas demandon, la shc povas esti instalita en ia ajn Linuksa distribuo?, Ekzemple ruĝa ĉapelo, kiel la instalado estus por ĝi?
    Gracias!

  15.   ruyzz diris

    Saluton al ĉiuj, viaj komentoj multe helpis min, sed mi havas la jenan problemon, kiam malklarigo ne funkcias por mi en la sama sistemo sed kun malsama arkitekturo, tio estas, se mi faras ĝin en 32 bitoj, ĝi ne povas funkcii en 64 bitoj . Ĉu iu scias, ĉu ĝi vere povas funkcii per malsamaj arkitekturoj (32 kaj 64 bitoj)?