Понякога програмираме скрипт в Тряскам и искаме кодът на това да НЕ се вижда, тоест да не е обикновен текст. Когато говорим за скриване на кода, правилният термин е затъмнявам, в моя случай исках да замъгля кода сценарий, който направих преди време, помощната програма, която намерих за това, се нарича: SHC
SHC Позволява ни да замъгляваме кода, ето стъпките за неговото използване:
1. Първо трябва да го изтеглим
2. След като го изтеглим, щракваме с десния бутон върху компресирания файл и избираме опцията, която казва «Извадете тук"или нещо подобно. Това ще ни накара да видим папка, наречена shc-3.8.9, тук ви показвам екранна снимка на съдържанието му
3. Добре, да кажем, че папката е в /home/usuario/Downloads/shc-3.8.9 Е, ние отваряме терминал и отиваме по този маршрут (cd "/home/usuario/Downloads/shc-3.8.9") и тук инсталацията започва.
4. В терминала, който се намира (както вече ви казах) в папката shc-3.8.9, за да инсталираме това приложение, трябва да направим символна връзка към файла shc-3.8.9.c a shc.c така че изпълняваме следното:
ln -s shc-3.8.9.c shc.c
4. След като връзката е направена, ние изпълняваме да инсталирате с root права (ще използваме sudo):
sudo make install
4. Ще ни поиска паролата ни и ще изчака момент, ще изчака да натиснем клавиша [И] и натиснете [Въведете], тоест потвърждаваме, че искаме да инсталираме софтуера. След като това бъде направено, той ще се инсталира без проблеми. Оставям ви екранна снимка на целия процес на подготовка и инсталиране:
sudo make install
es НЕОБХОДИМО инсталирайте пакетите: GCC y правя5. Готово, това е за инсталацията 😀
Когато го инсталираме, просто трябва да се научим как да го използваме. Да предположим, че в дома ни има скрипт, наречен script.sh и че съдържанието му е както следва:
#!/bin/bash
echo "Script de prueba para DesdeLinux.net"
exit
При изпълнението на този скрипт очевидно ще ни покаже съобщението в терминала: «Тестов скрипт за FromLinux.net" или не? ... Но сега ще замъглим този код.
В терминал поставяме следното и натискаме [Въведете]:
shc -v -f $HOME/script.sh
И бинго !! готов 😀
Това създаде два нови файла за нас до нашия скрипт, сега го имаме script.sh.x y script.sh.xc
script.sh.x - » Това е нашият скрит баш скрипт, когато изпълним, той ще направи точно същото като първия, който създадохме, разликата между тях е, че първият, ако го отворим с текстов редактор (nano, kate, gedit и т.н.), бихме могли да видим ясно съдържанието му, докато ако се отворим за script.sh.x ясно ще видим, че не виждаме нищо ... LOL !!!, тоест кодът е „шифрован“ 🙂
script.sh.xc - » Това е нашият скрипт, но на език C ... можем да изтрием това без притеснение, защото всъщност нямаме нужда от него, поне, изобщо нямаше да имам нужда
Няма много други неща, които да се добавят в действителност от техническа страна, само за да се изясни, че доколкото знам с това (скриване или замъгляване на код на скрипт на bash), това не нарушава лицензите или нещо подобно. Пояснявам това, защото преди няколко месеца във Facebook, когато споменах, че съм се научил да замъглявам баш кода, някои потребители ме предупредиха, че това нарушава лицензи или нещо подобно ... е, доколкото разбирам, лицензите не се нарушават с това 😉
Няма какво повече да добавяте, всяко съмнение или въпрос, оплакване или предложение да ме уведомите.
Поздрави 😀
Не че лицензите са нарушени, а това, че спира да бъде свободен софтуер ...
Да разбира се. Въпросът е, че има определени мои лични скриптове, които не искам другите да виждат, например, защото един от тези скриптове има парола за обикновен текст от моя локален MySQL или нещо подобно.
НЕ! Не запазвайте паролите си в скриптове!
http://technosophos.com/content/dont-script-your-password-add-simple-prompts-shell-scripts
Всъщност пазя паролите си „скрити“, използвайки SHA (https://blog.desdelinux.net/como-saber-la-suma-md5-o-sha-de-una-palabra-oracion-o-archivo/), след това в скрипта запазвам хеша на паролата и това, което правя, е да сравня паролата, която потребителят въвежда (записвам я с четене), получавам сумата SHA и сравнявам и двете в края 🙂
Както и да е, благодаря ви много за връзката, аз вече го преглеждам 😀
поздрави
Точно! Подсказката на черупката с молба за парола е добра алтернатива.
Наздраве! Павел.
Но не осигурява автоматично и без надзор изпълнение, както прави по друг начин. 🙂
Поставянето на пароли и други данни за достъп или компрометиране в скрипта е голяма грешка. Тази информация трябва да бъде запазена в друг файл с подходящите разрешения, така че няма да се налага да замъглявате вашия bash скрипт. Лесно а?
Проблемът с наличието на данни (променливи за вход, confs и т.н.) в друг файл е, че тогава „системата“ или „приложението“ се нуждае от 2 файла, за да функционира, докато ако съхранявам всичко по „сигурен“ начин, колкото е възможно един файл, ами ще ми трябва само този ... един файл.
Добра практика е да отделите приложението от данните.
Или по-скоро е ужасна практика да се кодират твърдо данните!
http://es.wikipedia.org/wiki/Hard_code
Това няма нищо общо със сигурността, поставяйки код и данни в един и същ файл. И дори повече, обратното, ако имате паролите си там !!
Разходите за четене на чувствителна информация от друг файл са незначителни до разходите за процесора, необходими за „отмяна“ на вашия код.
От друга страна, вие изхвърляте цяла парадигма на модулното развитие, залагайки на монолитен модел, който повече от доказано има повече проблеми, отколкото решения.
И също така, че ако използвате разрешения, които непременно ще включват други групи / потребители, пак ще ви е необходима първоначална парола за изпълнение на първия скрипт.
@KZKG коментарът по-горе е в отговор на вашия коментар
@morpheus: това е абсолютно спрямо конкретната нужда.
Но има безплатен софтуер, компилиран в двоичен файл (което е повече от объркващо). Това, че е безплатно, означава, че има и източника, но няма нищо общо с obfuscate (или компилиране, което е от съществено значение, ако искам да стартирам C програма, например)
В случай на компилиран безплатен софтуер, става въпрос за изискването на използвания език (ако програмирате на C, трябва да компилирате, за да работи приложението ви). И същото, винаги, ако наистина е Свободен софтуер, изходният код ще бъде достъпен.
бръмчене Обозначавам известна степен на апатия да споделяме код хехехе, за да видим колко в крайна сметка започват да „замъгляват своите кодове“, за да ни направят по-зависими от техните решения ...
Не казвам, че кодът трябва да бъде замазан или не ... Давам инструментите, всеки да ги използва според нуждите си.
Неясен код на тази страница?
Мисля, че е добра идея да се отдалечават читателите, тъй като считам, че много от хората, които посещават този блог, са последователи на свободния софтуер и следователно не споделяме практиката да замъгляваме кода.
Очевидно не сте прочели причината, поради която KZKG твърди и защо обяснява необходимостта от неяснота на скрипта.
Благодаря KZKG за споделянето на вашата находка!
И така вирусите започват да циркулират в Linux ...
Лично аз НИКОГА не бих използвал скрити скриптове. Не само поради свързаните с това рискове за сигурността, но защото ако вашият скрипт е твърде ценен за споделяне, по-добре го поставете в * ulo; Със сигурност мога да намеря някой, който иска да сподели знанията си.
Никога не бихте ли използвали скрит скрипт? Е, МНОГО добре за вас, НИКОГА не бих използвал скрит скрипт ... детайлът е, че НИКОГА не съм споделял скрит скрипт, далеч от него и там, скъпи приятелю, е грешката is
Винаги, когато правя нещо в Bash, го споделям, без да ме претеглям или притеснявам, което вече направих в много статии тук 😀
Добре дошли в блога, удоволствие да ви прочета 😉
Gabriel, KZKG ^ Gaara вече споделя знания, той не създава никакъв Linux пакет с скрити скриптове, които ако може да е нарушение на лиценза, разкриват само приложения, които човек може да използва или не за собствена употреба, не е необходимо бъдете груби, по отношение на вирусите в linux не е толкова просто, ето добра статия за това https://blog.desdelinux.net/virus-en-gnulinux-realidad-o-mito/.
KZKG ^ Gaara Бих искал да напишете публикация за encfs и криптография с помощта на изображения, това е тема, която наистина харесвам.
Наздраве !!!
Благодаря ви
Всъщност не е, че имам достатъчно знания за encfs и криптографията, поне не се чувствам достатъчно уверен, за да направя публикация и да поема съмненията, които потребителите могат да имат 😀
В тази тема не е, че съм напреднал потребител ...
Най-многото, което направих, е да използвам GPG за криптиране на файлове, а що се отнася до изображенията, най-много е да "вмъкна" или да скрия файл в изображение, което прави очевидно, че когато изображението се отвори с преглед на изображения, всичко се показва правилно, това ли искаш да кажеш?
Още веднъж, благодаря ви много за коментара 🙂
Ако си спомням правилно, има затъмнени първенства на С, но не си струва да се използва „обфускатор“, но те трябва да затъмнят източниците си без седалище.
Що се отнася до shc и скрипта ви с пароли ... много лош начин на работа!
Интересна статия, както винаги.
Да, повече от един вече ми каза LOL !!
Благодаря ви за коментара 🙂
По принцип, ако споделяте приложението, без да споделяте видимия скрипт, ще нарушите GPL, което изисква всичко, генерирано с GPL приложение, да бъде GPL. Ето защо SHC генерира C, защото това е кодът, който можете да споделите.
поздрави
Съгласен съм с коментарите на други читатели: не само, че не е добра практика да се съхраняват данни и скриптове заедно, но и не е благоприятно за развитието на свободен софтуер.
Прегръдка! Павел.
Здравей Пабло 🙂
Имам някакъв друг скрит скрипт, който работи вътрешно на моя лаптоп, аз го замъглявам, защото просто не искам, ако някой по някаква причина е успял да копира моя скрипт на друг компютър, аз просто не искам те да могат да виждат какво съдържа, това е „мярка за сигурност 'Взимам.
Тук обаче в DesdeLinux правя публично всичко или почти всичко, което програмирам в Bash, което може да е интересно.
Както и да е, сега не е така, че за да прикривам личен скрипт, за да го правя за лични цели, аз съм недоброжелател на SWL далеч от него 😀
Поздрави приятел
Добра информация. Освен противоречията, които се пораждат в коментарите, струва ми се информация да продължа да разследвам още малко.
Мисля, че авторът в нито един момент от статията не ни казва дали е направено добре или лошо или трябва или не трябва да го правим, той просто ни казва инструмента, с който може да се направи, в случай че е полезно на някого.
За поздрав.
кодова лаборатория
В блоговете на Linuxeros всичко е противоречиво, хаха винаги е било така.
@ F3niX Ще изрежа екранна снимка с вашия коментар, за да я сложа всеки път, когато някой направи някакво глупаво споменаване на темата.
Забележка: да видим кога ще ви намеря във форумите за irc и чакра 😉
ТОЧНО !!
Просто показвам / преподавам / обяснявам нещо ново, което научих, вашето решение е да използвате тези знания или не, не ви насилвам, още по-малко.
Доколкото знам, споделянето на знания е нещо положително, нали? 0_oU
Благодарим ви за коментара, добре е да знаете, че има повече от един или двама, които разбират истинската цел на тази статия.
Там ме поставихте в затруднение xD, преди няколко седмици подготвях публикация, която щеше да бъде озаглавена «Инсталиране и тестване на Crux» и въпреки факта, че инсталацията беше извършена успешно, аз съм нормален потребител и не знам дали ще мога да се справя с съмнения на трети страни, намерението е тя да служи като инструмент за дискусия относно добродетелите и недостатъците на тази дистрибуция и възможните решения на проблеми, които могат да възникнат, помагайки ни сред всички потребители и читатели. Когато го завърша и го изпратя за преглед, вие (администраторите) ще решите. Що се отнася до въпроса за криптографията в изображения, той беше същият, благодаря на KZKG ^ Gaara за отговора.
Поздрави!
Добре с удоволствие, ще направя публикация за това
отлично tuto брато Намерих го за много полезно: 3
за тези, които искат да го инсталират в manjaro linux и производни на archlinux, пакетът е в aur с името: shc
поздрави
Извинете, приятелю, имах малък скрипт, който преобразува БЛАКОВИТЕ БУКВИ в малки букви, които бяха в клипборда (xclip)
скриптът работи нормално, когато не е объркан
#! / Хамбар / Баш
xclip -o> R1.txt
котка R1.txt | tr [: горен:] [: долен:]
изхвърли ""
rm R1.txt
но когато искам да стартирам скрития скрипт
мен зарове
./M2m.sh: Операцията не е разрешена
Завършен (убит)
Моля помогнете
Имате ли инсталиран xclip?
Трябва да се отбележи, че всъщност е компилатор на bash, тъй като има .bat компилатори или .php.
Не знам дали кодът, който произвежда, е криптиран и скрит и не издържа на декомпилатор, би било необходимо да се опита, тъй като това не е моето поле, не казвам да или не, но това, което виждам, че прави, е компилиране на bash, в .c е Можете да видите кода, който в рамките на замъгленото виждам, че е в редове, които приличат на експлойт черупка, не знам дали наистина са замъглени, тъй като не иска парола или не знам, master.config където предишна ключова дума.
приятели, случва се, че когато замъглявам скрипта си, той създава новия скрипт с бивш край, аз го изпълнявам и дори е перфектен. Но когато го занеса на друг компютър с linuz, той не работи, той вече има всички разрешения, създавам стартер и му казвам, че е терминално приложение, но не работи, моля, изчакайте бърз отговор
Компилирахте ли го и изпълнявате ли го на система със същата архитектура? С други думи, ще ви даде грешка, ако сте го компилирали, за да го замъглявате в 32-битова система и след това се опитвате да го стартирате в 64-битова система или обратно. Разбираш?
Не, но вече осигурих форматиране на същия компютър, със същата операционна система и той не работи, дори не изпраща грешка.
Извиквам го чрез конзола по следния начин: sudo /home/operations/script.x и получавам тази грешка
/home/operaciones/script.x: e } 8- q , K
цял случай
Опитайте се да го стартирате БЕЗ компилация, за да видите дали е грешка в кода
За да стартирате скрития скрипт на други компютри, трябва да го компилирате с опцията «-r Relax сигурност. Направете разпространяващ се двоичен файл ', в противен случай той ще се изпълнява само на машината, където скриптът е бил запушен с SHC.
Пример:
shc -r -f script.sh
Здравейте, имам заявка, shc може да се инсталира във всякакъв вид дистрибуция на Linux?, Например червена шапка, как би била инсталацията за тази?
Благодаря ви!
Здравейте на всички, вашите коментари ми помогнаха много, но имам следния проблем, когато замъгляването не ми работи в същата система, но с различна архитектура, тоест, ако го направя в 32 бита, не може да се изпълни в 64 бита. Някой знае ли дали наистина може да се изпълнява на различни архитектури (32 и 64 бита)?