Včasih programiramo scenarij v jeziku Bash in želimo, da koda tega NI vidna, torej ne golo besedilo. Ko govorimo o skrivanju kode, je pravilen izraz prikriti, v mojem primeru sem hotel zamegliti kodo scenarij, ki sem ga naredil pred časom, pripomoček, ki sem ga našel za to, se imenuje: šc
šc Omogoča nam zakrivanje kode, tukaj so koraki za njeno uporabo:
1. Najprej ga moramo prenesti
2. Ko jo prenesemo, z desno miškino tipko kliknemo stisnjeno datoteko in izberemo možnost, v kateri piše «Izvleči tukaj"ali kaj podobnega. Tako bomo videli mapo z imenom shc-3.8.9, tukaj vam pokažem posnetek zaslona njegove vsebine
3. V redu, recimo, da je mapa na /home/usuario/Downloads/shc-3.8.9 No, odpremo terminal in gremo na to pot (cd "/home/usuario/Downloads/shc-3.8.9"), in tukaj se namestitev začne.
4. V terminalu, ki se nahaja (kot sem vam že povedal) v mapi shc-3.8.9, če želimo namestiti to aplikacijo, moramo narediti simbolično povezavo do datoteke shc-3.8.9.c a shc.c tako izvedemo naslednje:
ln -s shc-3.8.9.c shc.c
4. Ko je povezava vzpostavljena, jo izvedemo make install z root dovoljenji (uporabili bomo sudo):
sudo make install
4. Vprašal nas bo za geslo in počakal trenutek, čakal bo, da pritisnemo tipko [IN] in pritisnite [vnesite], to pomeni, da potrdimo, da želimo namestiti programsko opremo. Ko je to storjeno, se bo namestilo brez težav. Pustim vam posnetek zaslona celotnega postopka priprave in namestitve:
sudo make install
es POTREBNO namestite pakete: GCC y Znamka5. Končano, to je to za namestitev 😀
Ko ga namestimo, se moramo le naučiti, kako ga uporabljati. Recimo, da imamo v svojem domu skript skripta.sh in da je njegova vsebina naslednja:
#!/bin/bash
echo "Script de prueba para DesdeLinux.net"
exit
Pri izvajanju tega skripta nam bo v terminalu očitno prikazal sporočilo: «Testni skript za DesdeLinux.net"ali ne? ... Ampak, zdaj bomo to kodo zameglili.
V terminal vstavimo naslednje in pritisnemo [vnesite]:
shc -v -f $HOME/script.sh
In bingo !! pripravljen 😀
Tako smo skupaj z našim skriptom ustvarili dve novi datoteki, zdaj že imamo script.sh.x y script.sh.xc
script.sh.x - » To je naš zamegljeni bash skript, to bo, ko ga bomo izvedli, popolnoma enako kot prvi, ki smo ga ustvarili, razlika med njimi je v tem, da je prvi, če smo ga odprli z urejevalnikom besedil (nano, kate, gedit itd.) bi lahko jasno videli njegovo vsebino, čeprav bi se odprli za script.sh.x jasno bomo videli, da ne vidimo ničesar ... LOL !!!, to pomeni, da je koda "šifrirana" 🙂
script.sh.xc - » To je naša skripta, vendar v jeziku C ... to lahko brez skrbi izbrišemo, ker je v resnici ne potrebujemo, no, vsaj je sploh ne bi potreboval 🙂
S tehnične strani dejansko ni treba dodati kaj drugega, samo da pojasnim, da kolikor vem s tem (skrivanje ali zamegljevanje bash skriptne kode) ne krši licenc ali kaj podobnega. To pojasnjujem, ker so me pred nekaj meseci na Facebooku, ko sem omenil, da sem se naučil zakrivati bash kodo, nekateri uporabniki opozorili, da to krši licence ali kaj podobnega ... no, kolikor razumem, licence niso kršene s tem 😉
Nič več za dodati, kakršen koli dvom ali vprašanje, pritožba ali predlog mi sporočite.
Lep pozdrav 😀
Ne gre za kršitev licenc, ampak za to, da preneha biti prosta programska oprema ...
Seveda. Bistvo je v tem, da obstajajo nekatere moje osebne skripte, ki jih nočem, da jih vidijo drugi, na primer zato, ker ima eden od teh skriptov geslo v navadnem besedilu mojega lokalnega MySQL ali kaj podobnega.
NE! Ne shranjujte svojih gesel v skripte!
http://technosophos.com/content/dont-script-your-password-add-simple-prompts-shell-scripts
Pravzaprav držim svoja gesla "skrita" z uporabo SHA (https://blog.desdelinux.net/como-saber-la-suma-md5-o-sha-de-una-palabra-oracion-o-archivo/), nato v skriptu obdržim zgoščeno geslo in kar storim, primerjam geslo, ki ga vnese uporabnik (shranim ga z branjem), dobim vsoto SHA in primerjam oba na koncu 🙂
Kakorkoli, najlepša hvala za povezavo, že jo pregledam 😀
pozdrav
Natančno! Ukaz lupine, ki zahteva geslo, je dobra alternativa.
Na zdravje! Paul.
Vendar ne zagotavlja samodejne in nenadzorovane izvedbe, kot drugače. 🙂
Vpis gesla in drugih podatkov o dostopu ali ogrožanju podatkov v skriptu je velika napaka. Te podatke je treba shraniti v drugo datoteko z ustreznimi dovoljenji, zato vam skripta bash ne bo treba zamegliti. Preprosto kaj?
Težava s tem, da so podatki (prijavne spremenljivke, konfiguracije itd.) V drugi datoteki, je, da potem sistem in aplikacija potrebuje dve datoteki, da delujeta, če pa vse shranim na "varen način", lahko eno datoteko , no, rabil bi samo to ... eno datoteko.
Dobra praksa je, da aplikacijo ločite od podatkov.
Oziroma je strašna praksa, če podatke težko kodirate!
http://es.wikipedia.org/wiki/Hard_code
To nima nobene zveze z varnostjo, ki kodo in podatke shrani v isto datoteko. In še več, ravno nasprotno, če imate tam svoja gesla !!
Stroški branja občutljivih podatkov iz druge datoteke so zanemarljivi poleg stroškov procesorja, ki so potrebni za "odstranitev" vaše kode.
Po drugi strani pa zavržete celotno paradigmo modularnega razvoja in stavite na monolitni model, ki ima več kot dokazano več težav kot rešitev.
In tudi, da če uporabljate dovoljenja, ki bodo nujno vključevala druge skupine / uporabnike, boste za izvedbo prvega skripta potrebovali tudi začetno geslo.
@KZKG je zgornji komentar odgovor na vaš komentar
@morpheus: popolnoma je odvisen od posebne potrebe.
Vendar obstaja brezplačna programska oprema, sestavljena v binarni obliki (ki je več kot nejasna). Dejstvo, da je brezplačna, pomeni, da ima tudi vir, vendar nima nič skupnega z zamegljevanjem (ali prevajanjem, kar je nujno, če želim na primer zagnati program C)
Pri prevedeni brezplačni programski opremi gre za zahtevo po jeziku, ki se uporablja (če programirate v jeziku C, morate prevesti, da bo vaša aplikacija delovala). In enako, vedno, če gre res za Prosto programsko opremo, bo na voljo izvorna koda.
humm označujem določeno stopnjo apatije, da delimo kodo lol, da vidimo, koliko jih na koncu začne "zamegljevati svoje kode", da postanemo bolj odvisni od njihovih rešitev ...
Ne pravim, da bi bilo treba kodo zamegliti ali ne ... Dajem orodja, vsaka naj jih uporabi glede na svoje potrebe.
Moti kodo na tej strani?
Mislim, da je dobro oddaljiti bralce, saj menim, da je veliko ljudi, ki obiščejo ta spletni dnevnik, privržencev brezplačne programske opreme, zato ne delimo prakse zamegljevanja kode.
Očitno niste prebrali razloga, zakaj je KZKG pojasnil, da mora skrivati skript.
Hvala KZKG, ker ste delili svojo najdbo!
In tako virusi začnejo krožiti v Linuxu ...
Osebno NIKOLI ne bi uporabljal zamegljenih skriptov. Ne samo zaradi varnostnih tveganj, ampak zato, ker če je vaš skript preveč dragocen za skupno rabo, ga bolje postavite v * ulo; Zagotovo lahko najdem nekoga, ki si želi deliti svoje znanje.
Bi kdaj uporabili zamegljen skript? No, ZELO dobro zate, NIKOLI ne bi uporabil zamegljenega skripta ... podrobnost je v tem, da NIKOLI nisem delil zamegljenega skripta, daleč od njega in tam je dragi prijatelj, kjer je napaka je prisotna
Kadar koli nekaj naredim v Bashu, ga dam v skupno rabo, ne da bi ga pretehtal ali motil, kar sem že storil v mnogih člankih tukaj
Dobrodošli v blogu, z veseljem vas preberem 😉
Gabriel, KZKG ^ Gaara že deli znanje, ne ustvarja nobenega paketa linux z zamegljenimi skripti, kar bi lahko pomenilo kršitev licence, razkriva le programe, ki jih lahko uporabimo ali ne za lastno uporabo, ni treba biti nesramni, saj za viruse v Linuxu ni tako preprosto, tukaj je dober članek o tem https://blog.desdelinux.net/virus-en-gnulinux-realidad-o-mito/.
KZKG ^ Gaara Želel bi, da napišete prispevek o encfs in kriptografiji s pomočjo slik, to je tema, ki mi je zelo všeč.
Na zdravje !!!
Hvala
Pravzaprav ne, da bi imel dovolj znanja o encfs in kriptografiji, vsaj ne počutim se dovolj samozavestnega, da bi objavil objavo in prevzel dvome, ki jih imajo uporabniki 😀
V tej temi ne gre za to, da sem napreden uporabnik ...
Največ, kar sem naredil, je, da za šifriranje datotek uporabljam GPG, kar zadeva slike, pa je največ, da "vstavim" ali skrijem datoteko v sliko, kar jasno kaže, da ko se slika odpre s pregledovalnikom slik, vse je pravilno prikazano, ali to mislite?
Še enkrat najlepša hvala za vaš komentar 🙂
Če se prav spomnim, obstajajo zamegljena prvenstva C, vendar se ne splača uporabljati "obfuscatorja", ampak morajo brez virov zamegliti svoje vire.
Kar zadeva shc in vaš skript z gesli ... zelo slab način dela!
Zanimiv članek, kot vedno.
Ja, več kot mi je že reklo LOL !!
Hvala za vaš komentar 🙂
V bistvu, če aplikacijo delite brez skupne rabe vidnega skripta, kršite GPL, ki zahteva, da je vse, kar ustvari aplikacija GPL, GPL. Zato SHC generira C, ker je to koda, ki jo lahko delite.
pozdrav
Strinjam se s pripombami drugih bralcev: ne samo, da ni dobro shranjevati podatkov in skriptov skupaj, ampak tudi ne spodbuja razvoja brezplačne programske opreme.
Objem! Paul.
Pozdravljeni Pablo 🙂
Imam še en zamegljen skript, ki deluje interno na mojem prenosnem računalniku, ga zameglim, ker preprosto ne želim, da če je nekomu iz nekega razloga uspelo kopirati moj skript v drug računalnik, preprosto ne želim, da bi lahko videl, kaj vsebuje, gre za "varnostni ukrep", ki ga sprejmem.
Vendar tukaj v DesdeLinux Javno objavim vse ali skoraj vse, kar programiram v Bashu in bi lahko bilo zanimivo.
Skratka, zdaj nisem slabšalec SWL-a zaradi zamegljevanja osebnega skripta, ker to počnem v osebne namene 😀
Lep pozdrav prijatelj
Dobre informacije. Poleg polemik, ki se pojavljajo v komentarjih, se mi zdijo informacije, da še malo preiskujem.
Mislim, da nam avtor na nobenem mestu v članku ne pove, ali je to dobro ali slabo narejeno ali če bi to morali ali ne, preprosto nam pove, s katerim orodjem je to mogoče, če je komu v korist .
Pozdrav.
codelab
V blogih Linuxeros je vse kontroverzno, haha, vedno je bilo tako.
@ F3niX Izrezal bom posnetek zaslona z vašim komentarjem, da ga bom postavil vsakič, ko bo nekdo neumno omenil zadevo.
Opomba: poglejmo, kdaj vas najdem na forumih irc in Chakra 😉
TOČNO !!
Preprosto pokažem / učim / razlagam nekaj novega, kar sem se naučil, vaša odločitev je, da to znanje uporabite ali ne, ne silim vas, še manj.
Kolikor vem, je izmenjava znanja dobra stvar, kajne? 0_oU
Zahvaljujemo se vam za komentar, dobro je vedeti, da obstaja več kot en ali dva, ki razumeta pravi namen tega članka.
Tam ste me postavili v tesno točko xD, pred nekaj tedni pripravljam prispevek z naslovom »Namestitev in testiranje Cruxa« in kljub temu, da je bila namestitev uspešno izvedena, sem običajen uporabnik in ne vem, ali se bom lahko spopadel z dvomi tretjih oseb, namen je, da služi kot instrument za razpravo o vrlinah in pomanjkljivostih tega distro ter o možnih rešitvah težav, ki bi nam lahko pomagale med vsemi uporabniki in bralci. Ko ga končam in ga pošljem v pregled, se boste (skrbniki) odločili. Glede vprašanja kriptografije na slikah je bilo enako, hvala KZKG ^ Gaara za odgovor.
Lep pozdrav!
Ok z veseljem, o tem bom objavil prispevek
odlično tuto bratec Zdelo se mi je zelo koristno: 3
za tiste, ki ga želite namestiti v manjaro linux in derivate archlinux, je paket v aur z imenom: shc
pozdrav
Oprostite, prijatelj je imel majhen skript, ki je VELIKE ČRKE pretvoril v male črke, ki so bile v odložišču (xclip)
skript deluje normalno, če ni zamegljen
#! / Bin / bash
xclip -o> R1.txt
mačka R1.txt | tr [: zgornji:] [: spodnji:]
vrgel ven ""
rm R1.txt
ko pa želim zagnati zamegljen skript
mi pove
./M2m.sh: Delovanje ni dovoljeno
Dokončano (umorjeno)
Prosim pomagajte
Ali imate nameščen xclip?
Treba je opozoriti, da gre dejansko za prevajalnik bash, saj obstaja prevajalnik .bat ali .php.
Ne vem, ali je koda, ki proizvaja, šifrirana in nejasna in se ne upira dekompilatorju, bi moral poskusiti, saj to ni moje polje, ne rečem da ali ne, toda to, kar vidim, je, da sestavi bash , v .c je To lahko vidite kodo, ki je v zamegljenem vidim, da je v vrsticah, ki izgledajo kot lupina exploit, ne vem, ali so resnično zamegljene, ker ni zahtevano geslo oz. a ne vem, master.config, kje prejšnja ključna beseda.
prijatelji, zgodi se, da ko zameglim skript, ustvari nov scenarij z ex koncem, ga izvedem in je celo popoln. Ko pa ga odnesem v drug računalnik z linuz, se ne zažene, ima že vsa dovoljenja, ustvarim zaganjalnik in mu povem, da gre za terminalsko aplikacijo, vendar ne deluje, počakajte na hiter odgovor
Ste ga prevedli in ga izvajate v sistemu z enako arhitekturo? Z drugimi besedami, prišlo bo do napake, če ste jo prevedli, da jo zatemnite v 32-bitnem sistemu, nato pa jo poskusite zagnati v 64-bitnem sistemu ali obratno. Ti razumeš?
Ne, vendar sem že zagotovil formatiranje istega računalnika z istim operacijskim sistemom in se ne zažene, niti ne pošlje napake.
Kličem ga s konzolo tako: sudo /home/operations/script.x in dobim to napako
/home/operaciones/script.x: e } 8- q , K
cel primer
Poskusite ga zagnati BREZ sestavljanja, da preverite, ali gre za napako v kodi
Če želite skrivnostni skript zagnati v drugih računalnikih, ga morate sestaviti z možnostjo «-r Sprostite varnost. Naredite redistributable binary ', sicer se bo zagnal samo na računalniku, kjer je bil skript zamegljen s SHC.
Primer:
shc -r -f script.sh
Pozdravljeni, imam poizvedbo, shc je mogoče namestiti v katero koli vrsto distribucije Linuxa? Na primer rdeča kapa, kako bi bila namestitev za to?
Hvala!
Pozdravljeni vsi, vaši komentarji so mi zelo pomagali, vendar imam naslednjo težavo, ko zameglitev zame ne deluje v istem sistemu, ampak z drugačno arhitekturo, to pomeni, da če to naredim v 32 bitih, ne more teči v 64 bitih . Ali kdo ve, ali lahko res deluje na različnih arhitekturah (32 in 64 bitnih)?