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
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:
sudo make install
es NECESA ĉu la pakaĵoj estas instalitaj: gcc y fari5. 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 😉
Nenio pli aldonebla, ajna dubo aŭ demando, plendo aŭ sugesto sciigu min.
Salutojn 😀
44 komentoj, lasu la viajn
Ĝi ne malpermesas licencojn, sed ĝi ĉesas esti libera programaro ...
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.
NE! Ne konservu viajn pasvortojn en skriptoj!
http://technosophos.com/content/dont-script-your-password-add-simple-prompts-shell-scripts
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
Precize! Ŝela instigo petanta la pasvorton estas bona alternativo.
Saluton! Paŭlo.
Sed ĝi ne provizas aŭtomatan kaj neakompanatan ekzekuton kiel ĝi faras alimaniere. 🙂
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?
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.
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 !!
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.
Kaj ankaŭ ke se vi uzas permesojn, kiuj nepre implikos aliajn grupojn / uzantojn, vi ankaŭ bezonos komencan pasvorton por ekzekuti la unuan skripton.
@KZKG la supre komento respondas al via komento
@morpheus: ĝi absolute rilatas al la aparta bezono.
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)
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.
humm indikas certan apation dividi kodon hehehe por vidi kiom multaj komencas "malklarigi siajn kodojn" por fari nin pli dependaj de iliaj solvoj ...
Mi ne diras, ke kodo estu malklarigita aŭ ne ... Mi donas la ilojn, ĉiu por uzi ilin laŭ siaj bezonoj.
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.
Vi evidente ne legis la kialon de KZKG por klarigi ĝian bezonon malklarigi ĝian manuskripton.
Dankon KZKG pro dividi vian trovon!
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.
Ĉ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 😉
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 !!!
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 🙂
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.
Jes, pli ol unu jam diris al mi LOL !!
Dankon pro via komento 🙂
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
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.
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
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
En Linuxeros-blogoj ĉio estas polemika, haha, tiel estis ĉiam.
@ 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 😉
Ĝ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.
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 !!!
Bone kun plezuro, mi publikigos afiŝon pri tio 😉
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
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
Ĉu vi havas xclip instalita?
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.
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.
Ĉ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?
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
Provu ruli ĝin SEN kompilante por vidi ĉu ĝi estas eraro en la kodo
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
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!
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)?