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
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:
sudo make install
es POTREBNO instalirajte pakete: gcc y napraviti5. 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 😉
Ništa više za dodati, bilo kakva sumnja ili pitanje, žalba ili prijedlog javite mi.
Pozdrav 😀
Ne radi se o tome da se licence krše, već zbog toga što prestaje biti slobodan softver ...
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.
NE! Ne spremajte lozinke u skripte!
http://technosophos.com/content/dont-script-your-password-add-simple-prompts-shell-scripts
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
Tačno! Upit za ljusku koji traži lozinku je dobra alternativa.
Živjeli! Paul.
Ali ne pruža automatsko i bez nadzora izvršenje kao što je to slučaj na drugi način. 🙂
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?
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.
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 !!
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.
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.
@KZKG gornji komentar je odgovor na vaš komentar
@morpheus: apsolutno je u odnosu na određenu potrebu.
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)
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.
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 ...
Ne kažem da bi kôd trebao biti zamračen ili ne ... Dajem alate, svaki da ih koristi u skladu sa svojim potrebama.
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.
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!
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.
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 😉
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 !!!
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 🙂
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.
Da, više od jednog mi je već reklo LOL !!
Hvala na komentaru 🙂
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
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.
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
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
U Linuxeros blogovima sve je kontroverzno, haha, oduvijek je bilo tako.
@ 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
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.
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 !!!
Ok sa zadovoljstvom, poslat ću post o tome 😉
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
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
Da li imate instaliran xclip?
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č.
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
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?
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
Pokušajte ga pokrenuti BEZ kompajliranja kako biste provjerili radi li se o grešci u kodu
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
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!
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)?