Soms programmeer ons 'n script in Bash en ons wil hê dat die kode hiervan NIE sigbaar moet wees nie, dit wil sê dat dit nie gewone teks moet wees nie. As ons oor die wegsteek van kode praat, is die korrekte term verdoesel, in my geval wou ek die kode verdoesel 'n skrif wat ek 'n tyd gelede gedoen het, die nut wat ek hiervoor gevind het, heet: shc
shc Dit stel ons in staat om kode te verduister, hier is die stappe om dit te gebruik:
1. Eerstens moet ons dit aflaai
2. Nadat ons dit afgelaai het, klik ons regs op die saamgeperste lêer en kies die opsie wat sê:Onttrek hier"of iets soortgelyks. Dit sal ons 'n lêergids laat sien shc-3.8.9, hier wys ek u 'n kiekie van die inhoud daarvan
3. OK, kom ons sê die gids is op /home/usuario/Downloads/shc-3.8.9 Nou ja, ons maak 'n terminale oop en gaan na daardie roete (cd "/home/usuario/Downloads/shc-3.8.9"), en die installasie begin hier.
4. In die terminaal is dit (soos ek al gesê het) in die lêergids shc-3.8.9, om hierdie toepassing te installeer, moet ons 'n simboliese skakel van die lêer maak shc-3.8.9.c a shc.c daarom voer ons die volgende uit:
ln -s shc-3.8.9.c shc.c
4. Sodra die skakel gemaak is, voer ons dit uit maak installeer met worteltoestemmings (ons sal sudo gebruik):
sudo make install
4. Dit sal ons wagwoord vra en dit sal 'n rukkie wag, en ons sal wag om op die sleutel te druk [EN] en druk [Tik], dit wil sê dat ons bevestig dat ons die sagteware wil installeer. Sodra dit gedoen is, sal dit sonder probleme geïnstalleer word. Ek laat u 'n kiekie van die hele voorbereidings- en installasieproses:
sudo make install
es NODIG laat die pakkette installeer: gcc y maak5. Klaar, dit is vir die installasie 😀
As ons dit installeer, moet ons net leer hoe om dit te gebruik. Gestel ons het 'n teks in ons huis wat genoem word skrif.sh en dat die inhoud daarvan soos volg is:
#!/bin/bash
echo "Script de prueba para DesdeLinux.net"
exit
Wanneer u hierdie script uitvoer, sal dit uiteraard die boodskap in die terminale wys: «Toetsskrif vir FromLinux.net" of nie? ... Maar nou gaan ons die kode verdoesel.
In 'n terminale sit ons die volgende en druk [Tik]:
shc -v -f $HOME/script.sh
En bingo !! gereed 😀
Dit het vir ons twee nuwe lêers tesame met ons script geskep, nou het ons skrif.sh.x y skrif.sh.xc
script.sh.x - » Dit is ons verduisterde bash-skrif, dit sal, wanneer ons dit uitvoer, presies dieselfde doen as die eerste wat ons geskep het. Die verskil tussen hierdie is dat die eerste een as ons dit oopmaak met 'n teksredakteur (nano, kate, gedit, ens.) Ons duidelik kon sien die inhoud daarvan, terwyl ons oopmaak vir skrif.sh.x ons sal duidelik sien dat ons niks sien nie ... LOL !!!, dit wil sê die kode is 'geënkripteer' 🙂
script.sh.xc - » Dit is ons skrif, maar in C-taal ... ons kan dit sonder bekommernis uitvee, want ons het dit nie regtig nodig nie, nou ja, ten minste sou ek dit glad nie nodig hê nie 🙂
Daar is nie veel anders om aan die tegniese kant regtig by te voeg nie, net om te verduidelik dat dit, sover ek weet, hiermee (die wegsteek of verduistering van bash-scriptkode) nie lisensies of iets dergeliks oortree nie. Ek stel dit duidelik, omdat 'n paar maande gelede op Facebook, toe ek noem dat ek geleer het om baskode te verdoesel, sommige gebruikers my gewaarsku het dat dit lisensies oortree of iets dergeliks ... goed, sover ek verstaan, word lisensies nie hiermee oortree nie 😉
Niks meer om by te voeg nie, enige twyfel of vraag, klagte of voorstel laat my weet.
Groete 😀
44 kommentaar, los joune
Dit is nie dat lisensies geskend word nie, maar dat dit nie meer sagteware is nie ...
Ja natuurlik. Die punt is dat daar sekere persoonlike skrifte van my is wat ek nie wil hê ander moet sien nie, byvoorbeeld omdat een van hierdie skripte 'n wagwoord in gewone teks van my plaaslike MySQL of iets soortgelyks het.
GEEN! Moenie u wagwoorde in skrifte stoor nie!
http://technosophos.com/content/dont-script-your-password-add-simple-prompts-shell-scripts
Eintlik hou ek my wagwoorde 'verborge' met behulp van SHA (https://blog.desdelinux.net/como-saber-la-suma-md5-o-sha-de-una-palabra-oracion-o-archivo/), dan hou ek in die script die wagwoordhash en wat ek doen is om die wagwoord wat die gebruiker invoer, te vergelyk (ek stoor dit met lees), ek kry die SHA-som en vergelyk albei aan die einde 🙂
In elk geval, baie dankie vir die skakel, ek hersien dit al 😀
Groete
Presies! 'N Skilprompt wat die wagwoord vra, is 'n goeie alternatief.
Cheers! Paul.
Maar dit bied nie 'n outomatiese en onbewaakte uitvoering soos andersom nie. 🙂
Dit is 'n groot fout om wagwoorde en ander toegang of data in die script in te stel. Hierdie inligting moet in 'n ander lêer gestoor word, met die regte regte, sodat u u bash-script nie hoef te verduister nie. Maklik, nè?
Die probleem met die data (aanmeldveranderlikes, confs, ens.) In 'n ander lêer is dat die 'stelsel' of 'toepassing' twee lêers nodig het om te funksioneer, terwyl ek alles so veilig as moontlik kan stoor. enkele lêer, wel, ek sal dit net nodig hê ... 'n enkele lêer.
Dit is goeie praktyk om die toepassing van die data te skei.
Of eerder, dit is 'n verskriklike gebruik om die data te hardkode!
http://es.wikipedia.org/wiki/Hard_code
Dit het niks te doen met die beveiliging van kode en data in dieselfde lêer nie. En nog meer, inteendeel as u u wagwoorde daar het !!
Die koste om sensitiewe inligting uit 'n ander lêer te lees, is weglaatbaar naas die verwerkingskoste wat benodig word om u kode te "ophaal".
Aan die ander kant gooi jy 'n hele paradigma van modulêre ontwikkeling weg en wed op 'n monolitiese model dat daar meer as bewys is dat daar meer probleme is as die oplossings wat dit bied.
En ook dat as u toestemmings gebruik wat noodwendig ander groepe / gebruikers gaan betrek, u ook 'n aanvanklike wagwoord benodig om die eerste script uit te voer.
@KZKG die opmerking hierbo reageer op u opmerking
@morpheus: dit is absoluut relatief tot die spesifieke behoefte.
Maar daar is gratis sagteware in binêre opgestel (wat meer as verduister is). Die feit dat dit gratis is, impliseer dat dit ook die bron het, maar dit het niks te make met verduistering nie (of saamstel, wat noodsaaklik is as ek byvoorbeeld 'n C-program wil uitvoer)
In die geval van saamgestelde gratis sagteware, is dit 'n vraag oor die taal wat gebruik word (as u in C programmeer, moet u opstel sodat u aansoek kan werk). En dieselfde, as die regte sagteware regtig is, sal die bronkode beskikbaar wees.
humm dui op 'n sekere mate van apatie om kode te deel hehehe om te sien hoeveel uiteindelik hul kodes begin verdoesel om ons meer afhanklik van hul oplossings te maak ...
Ek sê nie dat kode verduister moet word of nie ... Ek gee die gereedskap, elkeen om dit volgens hul behoeftes te gebruik.
Verduister kode op hierdie bladsy?
Ek dink dit is 'n goeie idee om lesers te distansieer, aangesien ek van mening is dat baie van die mense wat hierdie blog besoek aanhangers van gratis sagteware is, en daarom deel ons nie die gebruik van verduisterende kode nie.
U het natuurlik nie die rede van KZKG gelees om sy behoefte om die teks te verduister nie, uit te lê.
Dankie KZKG vir die deel van u vonds!
En so begin virusse in Linux versprei ...
Persoonlik sal ek NOOIT enige verduisterde skrifte gebruik nie. Nie net as gevolg van die betrokke veiligheidsrisiko's nie, maar ook as u teks te kosbaar is om te deel, moet u dit beter in die * ulo plaas; Ek kan sekerlik iemand kry wat wel hul kennis wil deel.
Sou u ooit 'n verduisterde skrif gebruik?, Wel, BAIE goed vir u, ek sou NOOIT 'n verduisterde skrif gebruik nie ... die detail is dat ek NOOIT 'n verduisterde skrif gedeel het nie, ver daarvandaan, en daar is die beste vriend waar die fout voorkom
As ek iets in Bash doen, deel ek dit sonder om my te weeg of te pla, wat ek al in baie artikels hier gedoen het 😀
Welkom by die blog, 'n plesier om u te lees 😉
Gabriel, KZKG ^ Gaara deel al kennis, hy skep geen Linux pakket met verduisterde skrifte wat 'n lisensie oortreding kan wees nie, dit onthul slegs toepassings wat 'n mens kan gebruik of nie vir eie gebruik nie, dit is nie nodig nie wees onbeskof, aangesien virusse in Linux nie so eenvoudig is nie, hier is 'n goeie artikel daaroor https://blog.desdelinux.net/virus-en-gnulinux-realidad-o-mito/.
KZKG ^ Gaara Ek wil hê dat u 'n berig moet skryf oor encfs en kriptografie met behulp van beelde, dit is 'n onderwerp waarvan ek baie hou.
Cheers !!!
Dankie
Eintlik is dit nie dat ek genoeg kennis het oor encfs en kriptografie nie, ek voel ten minste nie selfversekerd om 'n boodskap te maak nie en neem die twyfel aan wat gebruikers mag hê 😀
In hierdie onderwerp is dit nie dat ek 'n gevorderde gebruiker is nie ...
Die meeste wat ek gedoen het, is om GPG te gebruik om lêers te enkripteer, en wat beelde betref, is die beste wat ek gedoen het ''n lêer in 'n prentjie' invoeg 'of wegsteek, wat dit duidelik maak dat alles getoon word korrek, is dit wat u bedoel?
Weereens baie dankie vir u opmerking 🙂
As ek reg onthou, is daar verduisterde C-kampioenskappe, maar dit is nie die moeite werd om 'n "verduistering" te gebruik nie, maar hulle moet hul bronne weerhou.
Wat shc en u script met wagwoorde betref ... baie slegte manier om te werk!
Interessante artikel, soos altyd.
Ja, meer as een het my al vertel LOL !!
Dankie vir u opmerking 🙂
As u die toepassing deel sonder om die sigbare script te deel, oortree u die GPL, wat vereis dat alles wat met 'n GPL-toepassing gegenereer word, GPL is. Daarom genereer SHC die C, want dit is die kode wat u kan deel.
Groete
Ek stem saam met die kommentaar van ander lesers: dit is nie net 'n goeie praktyk om data en skripsies saam te stoor nie, maar ook nie bevorderlik vir die ontwikkeling van gratis sagteware nie.
N drukkie! Paul.
Hallo Pablo 🙂
Ek het 'n ander verduisterde skrif wat intern op my skootrekenaar werk, ek verdoesel dit omdat ek eenvoudig nie wil hê dat as iemand om een of ander rede daarin slaag om my script na 'n ander rekenaar te kopieer nie, wil ek eenvoudig nie hê dat hulle kan sien wat dit bevat nie; 'Ek neem.
Hier in DesdeLinux maak ek egter alles of amper alles wat ek in Bash programmeer, wat interessant kan wees, openbaar.
Kortom, dit is nie dat ek nou die SWL benadeel omdat ek 'n persoonlike teks verduister het nie, omdat ek dit vir persoonlike doeleindes gedoen het 😀
Groete vriend
Goeie inligting. Afgesien van die kontroversies wat in die kommentaar gegenereer word, lyk dit vir my inligting om 'n bietjie verder te ondersoek.
Ek dink dat die outeur ons op geen stadium in die artikel vertel of dit goed of sleg gedoen word nie, of dat ons dit moet doen of nie, hy vertel ons eenvoudig die instrument waarmee dit gedoen kan word as dit vir iemand tot voordeel is.
'N groet.
kodelab
In Linuxeros-blogs is alles kontroversieel, haha, dit was nog altyd so.
@ F3niX Ek gaan 'n kiekie maak met u opmerking om dit te stel elke keer as iemand die onderwerp dom noem.
Let wel: kom ons kyk wanneer ek u op die irc- en Chakra-forums kan vind 😉
PRESIES !!
Ek wys / leer eenvoudig iets nuuts wat ek geleer het, dit hang van u af om hierdie kennis te gebruik of nie, ek dwing u nie ver daarvandaan nie.
Sover ek weet is die deel van kennis 'n goeie ding, nie waar nie? 0_oU
Dankie vir u opmerking. Dit is goed om te weet dat daar meer as een of twee is wat die ware doel van hierdie artikel verstaan.
Daar het u my op 'n noue plek geplaas xD, 'n paar weke gelede het ek 'n boodskap voorberei wat getiteld was "Installasie en toetsing van Crux" en ondanks die feit dat die installasie suksesvol uitgevoer is, is ek 'n normale gebruiker en ek weet nie of ek die twyfel van derdepartye, is die bedoeling dat dit dien as 'n besprekingsinstrument oor die deugde en gebreke van hierdie distro en die moontlike oplossings vir probleme wat kan ontstaan om ons te help onder alle gebruikers en lesers. As ek dit klaarmaak en vir hersiening stuur, sal u (administrateurs) besluit. Wat die uitreiking van kriptografie in beelde betref, was dit dieselfde, bedank KZKG ^ Gaara vir die antwoord.
Groete!
Ok met plesier, ek sal 'n berig daaroor maak 😉
uitstekende tuto boetie ek het dit baie nuttig gevind: 3
vir diegene wat dit in manjaro linux en afgeleides van archlinux wil installeer, is die pakket in aur met die naam: shc
Groete
Verskoon my, vriend, ek het 'n klein skrif gehad wat hoofletters omgeskakel het na kleinletters in die klembord (xclip)
die skrif werk normaal as dit nie verdoesel is nie
#! / bin / bash
xclip -o> R1.txt
kat R1.txt | tr [: boonste:] [: onderste:]
uitgegooi ""
rm R1.txt
maar as ek die verduisterde skrif wil laat loop
vertel my
./M2m.sh: werking nie toegelaat nie
Voltooi (vermoor)
Help asb
Het u xclip geïnstalleer?
Daar moet op gelet word dat dit eintlik 'n bash-samesteller is, aangesien daar .bat-samestellers of .php is.
Ek weet nie of die kode wat geproduseer word, geënkripteer en verdoesel is nie en nie 'n dekompiler kan weerstaan nie. Dit sal nodig wees om te probeer, aangesien dit nie my veld is nie, sê ek nie ja of nee nie, maar wat ek sien is 'n bash, in die U kan die kode sien, wat binne die verduisterde, ek sien dat dit in lyne is wat soos 'n uitbuitdop lyk, ek weet nie of dit regtig verdoesel is nie, aangesien daar geen wagwoord gevra word nie, of a wat ek nie weet nie, master.config waar 'n vorige sleutelwoord.
vriende, dit gebeur dat wanneer ek my script verduister, hy die nuwe script met ex-einde skep, ek dit uitvoer en dat dit selfs perfek is. Maar as ek dit na 'n ander rekenaar neem met linuz, werk dit nie, dit het al die regte, ek skep 'n lanseerder en sê dat dit 'n terminale toepassing is, maar dit werk nie. Wag asseblief vir 'n vinnige reaksie
Het u dit saamgestel en gebruik u dit op 'n stelsel met dieselfde argitektuur? Met ander woorde, dit sal u 'n fout gee as u dit saamgestel het om dit op 'n 32-bis-stelsel te verdoesel, en dan probeer om dit op 'n 64-bit-stelsel uit te voer, of andersom. Jy verstaan?
Nee, maar ek het reeds dieselfde rekenaar geformateer, met dieselfde bedryfstelsel en dit werk nie, dit stuur nie eens 'n fout nie.
Ek noem dit per konsole soos volg: sudo /home/operations/script.x en ek kry hierdie fout
/home/operaciones/script.x: e } 8- q , K
'n hele saak
Probeer om dit uit te voer SONDER om saam te stel of dit 'n fout in die kode is
Om die verduisterde skrif op ander rekenaars te kan uitvoer, moet u dit saamstel met die opsie «-r Ontspan sekuriteit. Maak 'n herverdeelbare binêre ', anders loop dit net op die masjien waar die script met SHC verdoesel is.
Voorbeeld:
shc -r -f script.sh
Hallo, ek het 'n navraag, die shc kan in enige tipe Linux-verspreiding geïnstalleer word? Byvoorbeeld, Red Hat, hoe sou die installasie vir hierdie een wees?
Dankie!
Hallo almal, u opmerkings het my baie gehelp, maar ek het die volgende probleem: as verduistering nie vir my in dieselfde stelsel werk nie, maar met 'n ander argitektuur, dit wil sê as ek dit in 32 bis doen, kan dit nie in 64 bits werk nie. Weet iemand of dit regtig op verskillende argitekture (32 en 64 bis) gebruik kan word?