Как да скрием или скрием код от нашите bash скриптове

Понякога програмираме скрипт в Тряскам и искаме кодът на това да НЕ се вижда, тоест да не е обикновен текст. Когато говорим за скриване на кода, правилният термин е затъмнявам, в моя случай исках да замъгля кода сценарий, който направих преди време, помощната програма, която намерих за това, се нарича: SHC

SHC Позволява ни да замъгляваме кода, ето стъпките за неговото използване:

1. Първо трябва да го изтеглим

Изтеглете SHC v3.8.9

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. Ще ни поиска паролата ни и ще изчака момент, ще изчака да натиснем клавиша [И] и натиснете [Въведете], тоест потвърждаваме, че искаме да инсталираме софтуера. След като това бъде направено, той ще се инсталира без проблеми. Оставям ви екранна снимка на целия процес на подготовка и инсталиране:

 


Както можете да видите в края получавам грешка, грешката се отнася до факта, че определена папка не съществува в моята система, ако видите, че това просто не му придава значение ... SHC инсталиран успешно 😉
За да могат да бягат sudo make install es НЕОБХОДИМО инсталирайте пакетите: GCC y правя

5. Готово, това е за инсталацията 😀

Когато го инсталираме, просто трябва да се научим как да го използваме. Да предположим, че в дома ни има скрипт, наречен script.sh и че съдържанието му е както следва:

#!/bin/bash
echo "Script de prueba para DesdeLinux.net"
exit

При изпълнението на този скрипт очевидно ще ни покаже съобщението в терминала: «Тестови скрипт за DesdeLinux. 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, когато споменах, че съм се научил да замъглявам баш кода, някои потребители ме предупредиха, че това нарушава лицензи или нещо подобно ... е, доколкото разбирам, лицензите не се нарушават с това 😉

Muchas gracias a Матиас Гастон за това, че ми спомена тази програма преди време

Няма какво повече да добавяте, всяко съмнение или въпрос, оплакване или предложение да ме уведомите.

Поздрави 😀


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   xykyz каза той

    Не че лицензите са нарушени, а това, че спира да бъде свободен софтуер ...

    1.    KZKG ^ Гаара каза той

      Да разбира се. Въпросът е, че има определени мои лични скриптове, които не искам другите да виждат, например, защото един от тези скриптове има парола за обикновен текст от моя локален MySQL или нещо подобно.

      1.    Morpheus каза той

        НЕ! Не запазвайте паролите си в скриптове!
        http://technosophos.com/content/dont-script-your-password-add-simple-prompts-shell-scripts

        1.    KZKG ^ Гаара каза той

          Всъщност пазя паролите си „скрити“, използвайки SHA (https://blog.desdelinux.net/como-saber-la-suma-md5-o-sha-de-una-palabra-oracion-o-archivo/), след това в скрипта запазвам хеша на паролата и това, което правя, е да сравня паролата, която потребителят въвежда (записвам я с четене), получавам сумата SHA и сравнявам и двете в края 🙂

          Както и да е, благодаря ви много за връзката, аз вече го преглеждам 😀

          поздрави

        2.    Нека използваме Linux каза той

          Точно! Подсказката на черупката с молба за парола е добра алтернатива.
          Наздраве! Павел.

          1.    MSX каза той

            Но не осигурява автоматично и без надзор изпълнение, както прави по друг начин. 🙂

      2.    Уилианс виванко каза той

        Поставянето на пароли и други данни за достъп или компрометиране в скрипта е голяма грешка. Тази информация трябва да бъде запазена в друг файл с подходящите разрешения, така че няма да се налага да замъглявате вашия bash скрипт. Лесно а?

        1.    KZKG ^ Гаара каза той

          Проблемът с наличието на данни (променливи за вход, confs и т.н.) в друг файл е, че тогава „системата“ или „приложението“ се нуждае от 2 файла, за да функционира, докато ако съхранявам всичко по „сигурен“ начин, колкото е възможно един файл, ами ще ми трябва само този ... един файл.

          1.    Morpheus каза той

            Добра практика е да отделите приложението от данните.
            Или по-скоро е ужасна практика да се кодират твърдо данните!
            http://es.wikipedia.org/wiki/Hard_code
            Това няма нищо общо със сигурността, поставяйки код и данни в един и същ файл. И дори повече, обратното, ако имате паролите си там !!

          2.    Уилианс виванко каза той

            Разходите за четене на чувствителна информация от друг файл са незначителни до разходите за процесора, необходими за „отмяна“ на вашия код.

            От друга страна, вие изхвърляте цяла парадигма на модулното развитие, залагайки на монолитен модел, който повече от доказано има повече проблеми, отколкото решения.

          3.    MSX каза той

            И също така, че ако използвате разрешения, които непременно ще включват други групи / потребители, пак ще ви е необходима първоначална парола за изпълнение на първия скрипт.

          4.    MSX каза той

            @KZKG коментарът по-горе е в отговор на вашия коментар
            @morpheus: това е абсолютно спрямо конкретната нужда.

    2.    Morpheus каза той

      Но има безплатен софтуер, компилиран в двоичен файл (което е повече от объркващо). Това, че е безплатно, означава, че има и източника, но няма нищо общо с obfuscate (или компилиране, което е от съществено значение, ако искам да стартирам C програма, например)

      1.    Уилианс виванко каза той

        В случай на компилиран безплатен софтуер, става въпрос за изискването на използвания език (ако програмирате на C, трябва да компилирате, за да работи приложението ви). И същото, винаги, ако наистина е Свободен софтуер, изходният код ще бъде достъпен.

  2.   Hyuuga_Neji каза той

    бръмчене Обозначавам известна степен на апатия да споделяме код хехехе, за да видим колко в крайна сметка започват да „замъгляват своите кодове“, за да ни направят по-зависими от техните решения ...

    1.    KZKG ^ Гаара каза той

      Не казвам, че кодът трябва да бъде замазан или не ... Давам инструментите, всеки да ги използва според нуждите си.

      1.    коментатор каза той

        Неясен код на тази страница?

        Мисля, че е добра идея да се отдалечават читателите, тъй като считам, че много от хората, които посещават този блог, са последователи на свободния софтуер и следователно не споделяме практиката да замъгляваме кода.

        1.    MSX каза той

          Очевидно не сте прочели причината, поради която KZKG твърди и защо обяснява необходимостта от неяснота на скрипта.

          Благодаря KZKG за споделянето на вашата находка!

  3.   Gabriel каза той

    И така вирусите започват да циркулират в Linux ...

    Лично аз НИКОГА не бих използвал скрити скриптове. Не само поради свързаните с това рискове за сигурността, но защото ако вашият скрипт е твърде ценен за споделяне, по-добре го поставете в * ulo; Със сигурност мога да намеря някой, който иска да сподели знанията си.

    1.    KZKG ^ Гаара каза той

      Никога не бихте ли използвали скрит скрипт? Е, МНОГО добре за вас, НИКОГА не бих използвал скрит скрипт ... детайлът е, че НИКОГА не съм споделял скрит скрипт, далеч от него и там, скъпи приятелю, е грешката is

      Винаги, когато правя нещо в Bash, го споделям, без да ме претеглям или притеснявам, което вече направих в много статии тук 😀

      Добре дошли в блога, удоволствие да ви прочета 😉

  4.   Percaff_ti99. каза той

    Gabriel, KZKG ^ Gaara вече споделя знания, той не създава никакъв Linux пакет с скрити скриптове, които ако може да е нарушение на лиценза, разкриват само приложения, които човек може да използва или не за собствена употреба, не е необходимо бъдете груби, по отношение на вирусите в linux не е толкова просто, ето добра статия за това https://blog.desdelinux.net/virus-en-gnulinux-realidad-o-mito/.
    KZKG ^ Gaara Бих искал да напишете публикация за encfs и криптография с помощта на изображения, това е тема, която наистина харесвам.
    Наздраве !!!

    1.    KZKG ^ Гаара каза той

      Благодаря ви
      Всъщност не е, че имам достатъчно знания за encfs и криптографията, поне не се чувствам достатъчно уверен, за да направя публикация и да поема съмненията, които потребителите могат да имат 😀
      В тази тема не е, че съм напреднал потребител ...
      Най-многото, което направих, е да използвам GPG за криптиране на файлове, а що се отнася до изображенията, най-много е да "вмъкна" или да скрия файл в изображение, което прави очевидно, че когато изображението се отвори с преглед на изображения, всичко се показва правилно, това ли искаш да кажеш?

      Още веднъж, благодаря ви много за коментара 🙂

  5.   ратакруел каза той

    Ако си спомням правилно, има затъмнени първенства на С, но не си струва да се използва „обфускатор“, но те трябва да затъмнят източниците си без седалище.

    Що се отнася до shc и скрипта ви с пароли ... много лош начин на работа!

    Интересна статия, както винаги.

    1.    KZKG ^ Гаара каза той

      Да, повече от един вече ми каза LOL !!
      Благодаря ви за коментара 🙂

  6.   някога каза той

    По принцип, ако споделяте приложението, без да споделяте видимия скрипт, ще нарушите GPL, което изисква всичко, генерирано с GPL приложение, да бъде GPL. Ето защо SHC генерира C, защото това е кодът, който можете да споделите.

    поздрави

  7.   Нека използваме Linux каза той

    Съгласен съм с коментарите на други читатели: не само, че не е добра практика да се съхраняват данни и скриптове заедно, но и не е благоприятно за развитието на свободен софтуер.
    Прегръдка! Павел.

    1.    KZKG ^ Гаара каза той

      Здравей Пабло 🙂
      Имам някакъв друг скрит скрипт, който работи вътрешно на моя лаптоп, аз го замъглявам, защото просто не искам, ако някой по някаква причина е успял да копира моя скрипт на друг компютър, аз просто не искам те да могат да виждат какво съдържа, това е „мярка за сигурност 'Взимам.

      Въпреки това, тук в DesdeLinux Правя публично всичко или почти всичко, което програмирам в Bash, което може да е интересно.

      Както и да е, сега не е така, че за да прикривам личен скрипт, за да го правя за лични цели, аз съм недоброжелател на SWL далеч от него 😀

      Поздрави приятел

  8.   кодова лаборатория каза той

    Добра информация. Освен противоречията, които се пораждат в коментарите, струва ми се информация да продължа да разследвам още малко.

    Мисля, че авторът в нито един момент от статията не ни казва дали е направено добре или лошо или трябва или не трябва да го правим, той просто ни казва инструмента, с който може да се направи, в случай че е полезно на някого.

    За поздрав.

    кодова лаборатория

    1.    f3niX каза той

      В блоговете на Linuxeros всичко е противоречиво, хаха винаги е било така.

      1.    MSX каза той

        @ F3niX Ще изрежа екранна снимка с вашия коментар, за да я сложа всеки път, когато някой направи някакво глупаво споменаване на темата.

        Забележка: да видим кога ще ви намеря във форумите за irc и чакра 😉

    2.    KZKG ^ Гаара каза той

      ТОЧНО !!
      Просто показвам / преподавам / обяснявам нещо ново, което научих, вашето решение е да използвате тези знания или не, не ви насилвам, още по-малко.

      Доколкото знам, споделянето на знания е нещо положително, нали? 0_oU

      Благодарим ви за коментара, добре е да знаете, че има повече от един или двама, които разбират истинската цел на тази статия.

  9.   Percaff_ti99. каза той

    Там ме поставихте в затруднение xD, преди няколко седмици подготвях публикация, която щеше да бъде озаглавена «Инсталиране и тестване на Crux» и въпреки факта, че инсталацията беше извършена успешно, аз съм нормален потребител и не знам дали ще мога да се справя с съмнения на трети страни, намерението е тя да служи като инструмент за дискусия относно добродетелите и недостатъците на тази дистрибуция и възможните решения на проблеми, които могат да възникнат, помагайки ни сред всички потребители и читатели. Когато го завърша и го изпратя за преглед, вие (администраторите) ще решите. Що се отнася до въпроса за криптографията в изображения, той беше същият, благодаря на KZKG ^ Gaara за отговора.

    Поздрави!

    1.    KZKG ^ Гаара каза той

      Добре с удоволствие, ще направя публикация за това

  10.   Макубекс Учиха каза той

    отлично tuto брато Намерих го за много полезно: 3
    за тези, които искат да го инсталират в manjaro linux и производни на archlinux, пакетът е в aur с името: shc

    поздрави

  11.   Маркос каза той

    Извинете, приятелю, имах малък скрипт, който преобразува БЛАКОВИТЕ БУКВИ в малки букви, които бяха в клипборда (xclip)

    скриптът работи нормално, когато не е объркан

    #! / Хамбар / Баш
    xclip -o> R1.txt
    котка R1.txt | tr [: горен:] [: долен:]
    изхвърли ""
    rm R1.txt

    но когато искам да стартирам скрития скрипт
    мен зарове

    ./M2m.sh: Операцията не е разрешена
    Завършен (убит)

    Моля помогнете

    1.    KZKG ^ Гаара каза той

      Имате ли инсталиран xclip?

  12.   SynFlag каза той

    Трябва да се отбележи, че всъщност е компилатор на bash, тъй като има .bat компилатори или .php.
    Не знам дали кодът, който произвежда, е криптиран и скрит и не издържа на декомпилатор, би било необходимо да се опита, тъй като това не е моето поле, не казвам да или не, но това, което виждам, че прави, е компилиране на bash, в .c е Можете да видите кода, който в рамките на замъгленото виждам, че е в редове, които приличат на експлойт черупка, не знам дали наистина са замъглени, тъй като не иска парола или не знам, master.config където предишна ключова дума.

  13.   Хуан Дейвид каза той

    приятели, случва се, че когато замъглявам скрипта си, той създава новия скрипт с бивш край, аз го изпълнявам и дори е перфектен. Но когато го занеса на друг компютър с linuz, той не работи, той вече има всички разрешения, създавам стартер и му казвам, че е терминално приложение, но не работи, моля, изчакайте бърз отговор

    1.    KZKG ^ Гаара каза той

      Компилирахте ли го и изпълнявате ли го на система със същата архитектура? С други думи, ще ви даде грешка, ако сте го компилирали, за да го замъглявате в 32-битова система и след това се опитвате да го стартирате в 64-битова система или обратно. Разбираш?

      1.    Хуан Дейвид каза той

        Не, но вече осигурих форматиране на същия компютър, със същата операционна система и той не работи, дори не изпраща грешка.
        Извиквам го чрез конзола по следния начин: sudo /home/operations/script.x и получавам тази грешка

        /home/operaciones/script.x: e } 8- q , K

        цял случай

        1.    KZKG ^ Гаара каза той

          Опитайте се да го стартирате БЕЗ компилация, за да видите дали е грешка в кода

    2.    участника каза той

      За да стартирате скрития скрипт на други компютри, трябва да го компилирате с опцията «-r Relax сигурност. Направете разпространяващ се двоичен файл ', в противен случай той ще се изпълнява само на машината, където скриптът е бил запушен с SHC.
      Пример:

      shc -r -f script.sh

  14.   Уилям каза той

    Здравейте, имам заявка, shc може да се инсталира във всякакъв вид дистрибуция на Linux?, Например червена шапка, как би била инсталацията за тази?
    Благодаря ви!

  15.   ruyzz каза той

    Здравейте на всички, вашите коментари ми помогнаха много, но имам следния проблем, когато замъгляването не ми работи в същата система, но с различна архитектура, тоест, ако го направя в 32 бита, не може да се изпълни в 64 бита. Някой знае ли дали наистина може да се изпълнява на различни архитектури (32 и 64 бита)?