Niekedy programujeme skript tresnúť a chceme, aby kód tohto kódu nebol viditeľný, to znamená, aby to nebol obyčajný text. Keď hovoríme o skrytí kódu, správny výraz je popliesť, v mojom prípade som chcel zameniť kód scenár, ktorý som vytvoril pred časom, nástroj, ktorý som na to našiel, sa volá: SHC
SHC Umožňuje nám to zahmlievať kód, tu je postup, ako ho použiť:
1. Najprv si ju musíme stiahnuť
2. Po stiahnutí kliknite pravým tlačidlom myši na komprimovaný súbor a vyberte možnosť «Extrahujte tu„alebo niečo podobné. Vďaka tomu uvidíme priečinok s názvom shc-3.8.9, tu vám ukážem snímku obrazovky s jeho obsahom
3. Dobre, povedzme, že priečinok je na /home/usuario/Downloads/shc-3.8.9 Otvárame terminál a ideme na túto cestu (cd "/home/usuario/Downloads/shc-3.8.9"), a tu začne inštalácia.
4. V termináli, ktorý sa nachádza (ako som vám už povedal) v priečinku shc-3.8.9, aby sme mohli nainštalovať túto aplikáciu, musíme urobiť symbolický odkaz na súbor shc-3.8.9.c a shc.c takže vykonáme nasledujúce:
ln -s shc-3.8.9.c shc.c
4. Po vytvorení odkazu vykonáme make install s oprávneniami root (použijeme sudo):
sudo make install
4. Požiada nás o heslo a chvíľu počká, bude čakať na stlačenie klávesu [AND] a stlačte [vstúpiť], to znamená, že potvrdíme, že chceme softvér nainštalovať. Po dokončení sa inštaluje bez problémov. Nechám vám screenshot celého procesu prípravy a inštalácie:
sudo make install
es POTREBNÉ mať nainštalované balíčky: gcc y činiť5. Hotovo, toto je pre inštaláciu 😀
Keď ho máme nainštalovaný, musíme sa len naučiť, ako ho používať. Predpokladajme, že máme doma skript s názvom skript.sh a že jeho obsah je nasledovný:
#!/bin/bash
echo "Script de prueba para DesdeLinux.net"
exit
Pri vykonávaní tohto skriptu nám zjavne zobrazí správu v termináli: «Testovací skript pre DesdeLinux.net" alebo nie? ... Teraz však tento kód zamlčíme.
Do terminálu vložíme nasledovné a stlačíme [vstúpiť]:
shc -v -f $HOME/script.sh
A bingo !! pripravený 😀
Týmto sme vytvorili dva nové súbory a náš skript, ktorý sme teraz vytvorili skript.sh.x y script.sh.xc
script.sh.x - » Toto je náš zahmlený bash skript, ktorý keď vykonáme, bude robiť presne to isté ako prvý, ktorý sme vytvorili, rozdiel medzi nimi je ten, že prvý, ak by sme ho otvorili pomocou textového editora (nano, kate, gedit atď.), Mohli by sme jasne vidieť jej obsah, zatiaľ čo ak otvoríme skript.sh.x jasne uvidíme, že nič nevidíme ... LOL !!!, to znamená, že kód je 'šifrovaný' 🙂
script.sh.xc - » Toto je náš skript, ale v jazyku C ... môžeme ho bez obáv vymazať, pretože ho skutočne nepotrebujeme, teda aspoň ja by som ho nepotreboval vôbec 🙂
Po technickej stránke nie je veľa iného, čo by bolo treba skutočne doplniť, len aby sa objasnilo, že pokiaľ viem (skrývanie alebo zahmlievanie kódu bash skriptu), nejde o porušenie licencií ani nič podobné. Objasňujem to, pretože pred niekoľkými mesiacmi na Facebooku, keď som spomenul, že som sa naučil zahmlievať bash kód, ma niektorí používatelia upozornili, že to porušuje licencie alebo niečo podobné ... no, pokiaľ chápem, týmto sa neporušujú licencie 😉
Nie je potrebné dodať nič, akékoľvek pochybnosti alebo otázky, sťažnosti alebo návrhy, dajte mi vedieť.
Zdravím 😀
Nejde o to, že sú porušované licencie, ale o to, že prestáva byť slobodným softvérom ...
Áno, samozrejme. Jedná sa o to, že existujú určité moje osobné skripty, ktoré nechcem, aby ostatní videli, napríklad preto, že jeden z týchto skriptov má heslo v obyčajnom texte z mojej miestnej MySQL alebo niečo podobné.
NIE! Neukladajte svoje heslá do skriptov!
http://technosophos.com/content/dont-script-your-password-add-simple-prompts-shell-scripts
Vlastne svoje heslá „skrývam“ pomocou SHA (https://blog.desdelinux.net/como-saber-la-suma-md5-o-sha-de-una-palabra-oracion-o-archivo/), potom v skripte ponechám hodnotu hash hesla a čo urobím, porovnám heslo, ktoré zadá používateľ (uložím ho s prečítaním), dostanem súčet SHA a na konci oboje porovnám 🙂
Každopádne ďakujem pekne za odkaz, už ho prehodnocujem 😀
pozdravy
Presne! Dobrá výzva na zadanie hesla je dobrou alternatívou.
Na zdravie! Pavla.
Neposkytuje však automatické a bezobslužné vykonávanie, ako je tomu v opačnom prípade. 🙂
Vkladanie hesiel a iného prístupu alebo kompromitovanie údajov do skriptu je veľká chyba. Tieto informácie musia byť uložené v inom súbore so správnymi oprávneniami, takže nebudete musieť zahmlievať svoj bash skript. Ľahké čo?
Problém s tým, že údaje (prihlasovacie premenné, confs, atď.) Sú v inom súbore, je ten, že potom „systém“ alebo „aplikácia“ potrebuje na fungovanie 2 súbory, zatiaľ čo pokiaľ ukladám čo najbezpečnejšie všetko do jedného súboru, no potreboval by som iba ten ... jediný súbor.
Je dobrým zvykom oddeliť aplikáciu od údajov.
Alebo skôr je strašným zvykom dáta napevno kódovať!
http://es.wikipedia.org/wiki/Hard_code
Nemá to nič spoločné s bezpečnostným vkladaním kódu a údajov do rovnakého súboru. A ešte viac, práve naopak, ak tam máte svoje heslá !!
Náklady na čítanie citlivých informácií z iného súboru sú zanedbateľné vedľa nákladov na procesor potrebných na „nezískanie“ vášho kódu.
Na druhej strane búrate celú paradigmu modulárneho vývoja a stavíte na monolitický model, ktorý je viac ako dokázaný a existuje viac problémov ako riešení.
A tiež, že ak používate povolenia, ktoré sa nevyhnutne budú týkať ďalších skupín / používateľov, na vykonanie prvého skriptu budete stále potrebovať počiatočné heslo.
@KZKG vyššie uvedený komentár je odpoveďou na váš komentár
@morpheus: je to absolútne vo vzťahu k konkrétnej potrebe.
Existuje však slobodný softvér kompilovaný v binárnom formáte (ktorý je viac ako zahmlený). To, že je zadarmo, znamená, že má aj zdroj, ale nemá nič spoločné s zahmlievaním (alebo kompiláciou, čo je nevyhnutné, ak chcem napríklad spustiť program C)
V prípade kompilovaného slobodného softvéru ide o požiadavku na jazyk, ktorý sa používa (ak programujete v jazyku C, musíte pre svoju aplikáciu zostaviť kompilát). A to isté, vždy, ak je to skutočne slobodný softvér, bude k dispozícii zdrojový kód.
hučanie Označujem určitú mieru apatie pri zdieľaní kódu lol, aby som zistil, koľko z nich nakoniec začne „zahmlievať svoje kódy“, vďaka čomu budeme závislejší od ich riešení ...
Nehovorím, že by kód mal byť zahmlievaný alebo nie ... Nástroje dávam každému, aby ich použil podľa svojich potrieb.
Popliesť kód na tejto stránke?
Myslím si, že je dobrý nápad dištancovať čitateľov, pretože sa domnievam, že mnoho ľudí, ktorí navštívia tento blog, sú vyznávačmi slobodného softvéru, a preto nezdieľame postup zahmlievania kódu.
Zjavne ste nečítali dôvod, prečo KZKG argumentuje a prečo vysvetľuje potrebu zahmlievať svoj scenár.
Ďakujeme spoločnosti KZKG za zdieľanie vášho nálezu!
A tak v Linuxe začnú cirkulovať vírusy ...
Osobne by som NIKDY nepoužíval žiadne zahmlené skripty. Nielen kvôli súvisiacim bezpečnostným rizikám, ale aj preto, že ak je váš skript príliš vzácny na zdieľanie, radšej ho vložte do súboru * ulo; Určite nájdem niekoho, kto sa chce podeliť o svoje vedomosti.
Použili by ste niekedy skryty skript? No, veľmi dobré pre vás, NIKDY by som nepoužíval skrytej skripty ... detail je taký, že NIKDY nezdielam skryty skript ďaleko od neho a tam je drahý priateľ, kde chyba je prítomný prítomný
Kedykoľvek niečo robím v Bashi, zdieľam to bez toho, aby ma vážili alebo obťažovali, čo som už urobil v mnohých článkoch tu 😀
Vitajte na blogu, rád vás čítam 😉
Gabriel, KZKG ^ Gaara už zdieľa vedomosti, nevytvára žiadny linuxový balík so zahmlenými skriptmi, ktoré by mohli byť porušením licencie, odhaľuje iba aplikácie, ktoré môže alebo nemôže použiť na svoje vlastné použitie, nie je to potrebné buďte drzí, čo sa týka vírusov v linuxe, nie je to také jednoduché, tu je o tom dobrý článok https://blog.desdelinux.net/virus-en-gnulinux-realidad-o-mito/.
KZKG ^ Gaara Bol by som rád, keby ste napísali príspevok o Encfs a kryptografii pomocou obrázkov, je to téma, ktorá sa mi veľmi páči.
Na zdravie !!!
Ďakujem vám
V skutočnosti to nie je tak, že by som mal dostatok vedomostí o Encfs a kryptografii, aspoň sa necítim dosť sebavedomý na to, aby som zverejnil príspevok a vychádzal z pochybností, ktoré môžu mať používatelia 😀
V tejto téme to nie je tak, že by som bol pokročilým používateľom ...
Najviac, čo som urobil, je použitie GPG na šifrovanie súborov a čo sa týka obrázkov, najviac som urobil „vloženie“ alebo skrytie súboru do obrázka, čím je zrejmé, že pri otvorení obrázka v prehliadači obrázkov všetko je zobrazené správne, myslíte to takto?
Ešte raz veľmi pekne ďakujem za komentár 🙂
Ak si dobre pamätám, existujú zmätené majstrovstvá sveta C, ale nestojí za to používať „zahmlievača“, musia však svoje zdroje zahmlievať bez sedla.
Pokiaľ ide o shc a vaše skripty s heslami ... veľmi zlý spôsob práce!
Zaujímavý článok, ako vždy.
Áno, viac ako jeden mi už povedal LOL !!
Ďakujem za komentár 🙂
V zásade platí, že ak zdieľate aplikáciu bez zdieľania viditeľného skriptu, porušujete tým GPL, čo vyžaduje, aby čokoľvek vygenerované pomocou aplikácie GPL bolo GPL. Preto SHC generuje C, pretože to je kód, ktorý môžete zdieľať.
pozdravy
Súhlasím s komentármi ostatných čitateľov: nielenže nie je dobrým zvykom ukladať údaje a skriptové súbory dohromady, nie je to ani prínosom pre vývoj slobodného softvéru.
Objatie! Pavla.
Ahoj Pablo 🙂
Mám nejaký iný zahmlený skript, ktorý interne funguje na mojom notebooku, zahmlievam ho, pretože jednoducho nechcem, aby ak sa niekomu z nejakého dôvodu podarilo skopírovať môj skript na iný počítač, jednoducho nechcem, aby mohol vidieť, čo to je obsahuje, je to „bezpečnostné opatrenie“, ktoré prijímam.
Avšak tu v DesdeLinux Zverejňujem všetko alebo takmer všetko, čo naprogramujem v Bash, čo by mohlo byť zaujímavé.
Nie je to tak, že teraz za to, že som zahmlil osobný scenár, som za to, že to robím pre osobné účely, od toho, čo ho odďaľuje, neodvracajúc SWL
Pozdravujem priateľa
Dobré informácie Okrem kontroverzií, ktoré sa vytvárajú v komentároch, sa mi zdá, že informácie treba naďalej vyšetrovať trochu viac.
Myslím si, že autor v nijakom bode článku nám nehovorí, či je to dobré alebo zlé, alebo či by sme to mali alebo nemali robiť, iba nám povie nástroj, pomocou ktorého to možno urobiť, ak je pre niekoho prospešné.
Pozdrav.
kódové laboratórium
V blogoch Linuxeros je všetko kontroverzné, haha, vždy to tak bolo.
@ F3niX Chystám sa urobiť zostrih obrazovky s tvojím komentárom, aby som to uviedol zakaždým, keď niekto urobí nejakú hlúpu zmienku o tejto téme.
Poznámka: Pozrime sa, kedy vás nájdem na fórach IRC a Chakra 😉
PRESNE !!
Jednoducho ukážem / učím / vysvetľujem niečo nové, čo som sa naučil, je len na vás, či tieto vedomosti využijete alebo nie, nenútim vás od nich ďaleko.
Pokiaľ viem, zdieľanie vedomostí je dobrá vec, nie? 0_oU
Ďakujeme za váš komentár, je dobré vedieť, že existuje viac ako jeden alebo dvaja, ktorí chápu skutočný účel tohto článku.
Tam ste ma dostali do úzkych xD, pred pár týždňami som pripravoval príspevok s názvom «Inštalácia a testovanie Crux» a napriek tomu, že inštalácia prebehla úspešne, som normálny užívateľ a neviem, či sa dokážem vyrovnať s pochybnosťami tretích strán, zámerom je slúžiť ako nástroj na diskusiu o cnostiach a chybách tejto distribúcie a možných riešeniach problémov, ktoré môžu vzniknúť a ktoré nám pomáhajú medzi všetci používatelia a čitatelia. Keď to dokončím a pošlem na kontrolu, vy (správcovia) rozhodnete. Pokiaľ ide o otázku kryptografie v obrazoch, bolo to rovnaké, ďakujem KZKG ^ Gaara za odpoveď.
Zdravím!
Ok s potešením, urobím o tom príspevok 😉
vynikajúci tuto bro považoval som to za veľmi užitočné: 3
pre tých, ktorí si ho chcú nainštalovať do linuxu manjaro a derivátov archlinuxu, je balíček v aur s názvom: shc
pozdravy
prepáč priateľ mal malý skript, ktorý konvertoval VEĽKÉ PÍSMENÁ NA malé písmená, ktoré boli v schránke (xclip)
skript funguje normálne, ak nie je zahmlievaný
#! / Bin / bash
xclip -o> R1.txt
mačka R1.txt | tr [: horný:] [: dolný:]
zahodil ""
rm R1.txt
ale keď chcem spustiť zahmlený skript
Hovorí mi
./M2m.sh: Prevádzka nie je povolená
Dokončené (zabité)
Prosím pomôžte
Máte nainštalovaný xclip?
Je potrebné poznamenať, že je to vlastne kompilátor bash, keďže existujú kompilátor .bat alebo .php.
Neviem, či je kód, ktorý produkuje, šifrovaný a zahmlievaný a nevydrží dekompilátor, bolo by treba vyskúšať, keďže to nie je môj obor, nehovorím áno alebo nie, ale to, čo vidím, že robí, je kompilácia bash, v .c to je Môžete vidieť kód, ktorý v rámci zahmlievania vidím, že je to v riadkoch, ktoré vyzerajú ako exploit shell, neviem, či sú skutočne zahmlievané, pretože žiadne heslo nie je vyžiadané alebo neviem, master.config kde predchádzajúce kľúčové slovo.
priatelia, stane sa, že keď zahmlievam svoj skript, vytvorí nový skript s koncovkou ex, vykonám ho a je dokonca dokonalý. Ale keď ho vezmem na iný počítač s linuz, ktorý sa nespustí, už má všetky oprávnenia, vytvorím spúšťač a poviem mu, že je to terminálová aplikácia, ale nefunguje, počkajte si pohotovú odpoveď
Zostavili ste ho a prevádzkujete ho na systéme s rovnakou architektúrou? To znamená, že vám dá chybu, ak ste ju skompilovali tak, aby ju zahmlievali na 32-bitovom systéme, a potom sa ju pokúsite spustiť na 64-bitovom systéme, alebo naopak. Rozumieš?
Nie, ale už som poskytol formátovanie toho istého počítača, s rovnakým operačným systémom a ten nebeží, dokonca ani neposiela chybu.
Nazývam to konzolou takto: sudo /home/operations/script.x a zobrazuje sa mi táto chyba
/home/operaciones/script.x: e } 8- qq, K
celý prípad
Skúste to spustiť BEZ kompilácie a zistite, či nejde o chybu v kóde
Aby ste mohli skryť skript na iných počítačoch, musíte ho skompilovať s možnosťou «-r Relax security. Vytvorte redistribuovateľný binárny súbor ', inak bude fungovať iba na stroji, kde bol skript zahmlený pomocou SHC.
príklad:
shc -r -f script.sh
Ahojte, mám dotaz, shc je možné nainštalovať na akýkoľvek typ distribúcie Linuxu?, Napríklad red hat, aká by bola inštalácia pre tento?
Vďaka!
Ahojte všetci, vaše komentáre mi veľmi pomohli, ale mám nasledujúci problém, keď mi zahmlievanie nefunguje v rovnakom systéme, ale s inou architektúrou, to znamená, že ak to urobím za 32 bitov, nemôže bežať za 64 bitov . Vie niekto, či sa dá skutočne spustiť na rôznych architektúrach (32 a 64 bitov)?