كيفية التعتيم أو إخفاء التعليمات البرمجية من نصوص bash النصية الخاصة بنا

أحيانًا نبرمج نصًا بتنسيق سحق ونريد ألا يكون رمز هذا مرئيًا ، أي ألا يكون نصًا عاديًا. عندما نتحدث عن إخفاء الكود ، فإن المصطلح الصحيح هو التعتيم، في حالتي كنت أرغب في تشويش الرمز نص قمت به منذ بعض الوقت، الأداة المساعدة التي وجدتها لهذا تسمى: حالات العسر الشديد

حالات العسر الشديد يسمح لنا بتشويه الكود ، وإليك خطوات استخدامه:

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 ش لذلك نقوم بتنفيذ ما يلي:

ln -s shc-3.8.9.c shc.c

 4. بمجرد إنشاء الرابط ، نقوم بالتنفيذ جعل تثبيت مع أذونات الجذر (سوف نستخدم sudo):

 sudo make install

 4. سيطلب منا كلمة المرور الخاصة بنا وسوف ينتظر لحظة ، وسوف ينتظر منا الضغط على المفتاح [و] و اضغط [أدخل]، أي أننا نؤكد رغبتنا في تثبيت البرنامج. بمجرد الانتهاء من ذلك ، سيتم تثبيته دون مشاكل. أترك لك لقطة شاشة لعملية الإعداد والتثبيت بأكملها:

 

كما ترى في النهاية ، تلقيت خطأ ، الخطأ يشير إلى حقيقة أن مجلدًا معينًا غير موجود على نظامي ، إذا رأيت هذا ببساطة لا تعطيه أهمية ... SHC تم التثبيت بنجاح 😉
حتى يتمكنوا من الجري sudo make install es ضروري تثبيت الحزم: دول مجلس التعاون الخليجي 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 - » هذا هو سكربت bash المبهم ، هذا عندما نقوم بتنفيذه سيفعل بالضبط نفس الشيء الأول الذي أنشأناه ، والفرق بينهما هو أن أول واحد إذا فتحناه باستخدام محرر نصوص (nano ، kate ، gedit ، إلخ) يمكننا رؤيته بوضوح محتواه ، بينما إذا فتحنا على script.sh.x سنرى بوضوح أننا لا نرى أي شيء ... LOL !!! ، أي أن الكود "مشفر" 🙂

script.sh.xc - » هذا نصنا ولكن بلغة C ... يمكننا حذف هذا دون قلق لأننا لسنا بحاجة إليه حقًا ، حسنًا ، على الأقل لن أحتاجه على الإطلاق 🙂

ليس هناك الكثير لإضافته حقًا على الجانب التقني ، فقط لتوضيح أنه بقدر ما أعرف مع هذا (إخفاء أو تشويش رمز نص bash) فإنه لا ينتهك التراخيص أو شيء من هذا القبيل. لقد أوضحت هذا لأنه قبل بضعة أشهر على Facebook عندما ذكرت أنني تعلمت إخفاء كود bash ، نبهني بعض المستخدمين أن هذا ينتهك التراخيص أو شيء من هذا القبيل ... حسنًا ، على حد علمي ، لا يتم انتهاك التراخيص بهذا 😉

شكرا جزيلا ل ماتياس جاستون لذكر هذه الأداة لي منذ بعض الوقت

لا شيء أكثر لإضافة ، أي شك أو سؤال أو شكوى أو اقتراح إعلامي.

تحياتي 😀


محتوى المقال يلتزم بمبادئنا أخلاقيات التحرير. للإبلاغ عن خطأ انقر فوق هنا.

44 تعليقات ، اترك لك

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   xykyz قال

    لا يتعلق الأمر بانتهاك التراخيص ، بل إنها تتوقف عن كونها برمجيات حرة ...

    1.    KZKG ^ جارا قال

      نعم طبعا. النقطة المهمة هي أن هناك نصوصًا شخصية معينة خاصة بي لا أريد أن يراها الآخرون ، على سبيل المثال لأن أحد هذه البرامج النصية يحتوي على كلمة مرور في نص عادي من MySQL المحلي الخاص بي ، أو شيء مشابه.

      1.    مورفيوس قال

        لا! لا تحفظ كلمات المرور الخاصة بك في البرامج النصية!
        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.    لنستخدم لينكس قال

          بالضبط! يعد مطالبة shell التي تطلب كلمة المرور بديلاً جيدًا.
          في صحتك! بول.

          1.    MSX قال

            لكنه لا يوفر تنفيذًا تلقائيًا وغير مراقب كما يفعل بالطريقة الأخرى. 🙂

      2.    Willians vivanco قال

        يعد وضع كلمات المرور وغيرها من أنواع الوصول أو المساومة على البيانات في البرنامج النصي خطأً كبيراً. يجب حفظ هذه المعلومات في ملف آخر ، مع أذوناتها المناسبة ، لذلك لن تضطر إلى تشويش برنامج bash النصي. سهل هاه؟

        1.    KZKG ^ جارا قال

          المشكلة في وجود البيانات (متغيرات تسجيل الدخول ، confs ، إلخ) في ملف آخر هي أن "النظام" أو "التطبيق" يحتاج إلى ملفين ليعمل ، بينما إذا قمت بتخزين كل شيء "آمن" قدر الإمكان في ملف واحد ، حسنًا ، سأحتاج فقط إلى ... ملف واحد.

          1.    مورفيوس قال

            من الممارسات الجيدة فصل التطبيق عن البيانات.
            أو بالأحرى إنها ممارسة رهيبة لترميز البيانات!
            http://es.wikipedia.org/wiki/Hard_code
            لا علاقة له بوضع الكود والبيانات الأمنية في نفس الملف. والأكثر من ذلك ، العكس تمامًا إذا كانت لديك كلمات مرورك هناك !!

          2.    Willians vivanco قال

            تكلفة قراءة المعلومات الحساسة من ملف آخر لا تكاد تذكر بجانب تكلفة المعالج المطلوبة "لإلغاء" الكود الخاص بك.

            من ناحية أخرى ، أنت تتخلص من نموذج كامل للتطوير المعياري ، تراهن على نموذج مترابط ، أكثر من مثبت ، هناك مشاكل أكثر من الحلول.

          3.    MSX قال

            وأيضًا إذا كنت تستخدم أذونات ستشمل بالضرورة مجموعات / مستخدمين آخرين ، فستحتاج أيضًا إلى كلمة مرور أولية لتنفيذ النص البرمجي الأول.

          4.    MSX قال

            KZKG التعليق أعلاه رد على تعليقك
            morpheus: إنه نسبي تمامًا للحاجة الخاصة.

    2.    مورفيوس قال

      ولكن هناك برمجيات حرة مجمعة في نظام ثنائي (وهو أكثر من مجرد تشويش). يعني كونه مجانيًا أنه يحتوي أيضًا على المصدر ، ولكن لا علاقة له بالتشويش (أو التجميع ، وهو أمر ضروري إذا كنت أرغب في تشغيل برنامج C ، على سبيل المثال)

      1.    Willians vivanco قال

        في حالة البرمجيات الحرة المترجمة ، فإن الأمر يتعلق بمتطلبات اللغة المستخدمة (إذا كنت تقوم بالبرمجة بلغة C ، فعليك تجميعها حتى يعمل تطبيقك). ونفس الشيء دائمًا ، إذا كانت البرمجيات حرة حقًا ، فستكون شفرة المصدر متاحة.

  2.   Hyuuga_Neji قال

    أنا أشير إلى درجة معينة من اللامبالاة لمشاركة التعليمات البرمجية لول لمعرفة عدد الأشخاص الذين بدأوا في "تشويش رموزهم" لجعلنا أكثر اعتمادًا على حلولهم ...

    1.    KZKG ^ جارا قال

      أنا لا أقول أن هذا الرمز يجب أن يكون غامضًا أم لا ... أنا أعطي الأدوات ، كل واحد لاستخدامها وفقًا لاحتياجاتهم.

      1.    المعلق قال

        إخفاء رمز في هذه الصفحة؟

        أعتقد أنها فكرة جيدة أن تبتعد عن القراء ، لأنني أعتبر أن العديد من الأشخاص الذين يزورون هذه المدونة هم من أتباع البرمجيات الحرة ، وبالتالي نحن لا نشارك في ممارسة التشويش على الكود.

        1.    MSX قال

          من الواضح أنك لم تقرأ السبب الذي يجعل KZKG يجادل ولماذا يشرح حاجته للتعتيم على نصه.

          شكرا KZKG لتقاسم اكتشافك!

  3.   غابرييل قال

    وهكذا تبدأ الفيروسات بالانتشار في لينكس ...

    أنا شخصيا لن أستخدم أبدا أي نصوص مشوشة. ليس فقط بسبب المخاطر الأمنية التي تنطوي عليها ، ولكن لأنه إذا كان النص الخاص بك ثمينًا جدًا بحيث لا يمكن مشاركته ، فمن الأفضل وضعه في * ulo ؛ يمكنني بالتأكيد العثور على شخص لا يريد مشاركة معرفته.

    1.    KZKG ^ جارا قال

      هل ستستخدم نصًا غامضًا في أي وقت؟ حسنًا ، جيد جدًا بالنسبة لك ، لن أستخدم أبدًا نصًا غامضًا ... الخطأ موجود

      عندما أفعل شيئًا في Bash ، أشاركه دون أن أثقل أو أزعجني ، وهو ما فعلته بالفعل في العديد من المقالات هنا here

      اهلا بك في المدونة يسعدني قراءتك read

  4.   Percaff_TI99 قال

    غابرييل ، KZKG ^ Gaara يشارك بالفعل المعرفة ، فهو لا يقوم بإنشاء أي حزمة لينكس بها نصوص غامضة والتي إذا كان من الممكن أن تكون انتهاكًا للترخيص ، فإنها تكشف فقط عن التطبيقات التي يمكن للمرء استخدامها أو لا لاستخدامها الخاص ، فهذا ليس ضروريًا كن وقحًا ، لأن الفيروسات في لينكس ليست بهذه البساطة ، وهنا مقال جيد عنها https://blog.desdelinux.net/virus-en-gnulinux-realidad-o-mito/.
    KZKG ^ Gaara أود منك أن تكتب منشورًا عن encfs والتشفير باستخدام الصور ، إنه موضوع أحبه حقًا.
    في صحتك !!!

    1.    KZKG ^ جارا قال

      شكرا لك
      في الواقع ، لا يعني ذلك أنني أمتلك معرفة كافية عن أنظمة التشفير والتشفير ، على الأقل لا أشعر بالثقة الكافية لإنشاء منشور وافتراض الشكوك التي قد تكون لدى المستخدمين 😀
      في هذا الموضوع لا يعني أنني مستخدم متقدم ...
      أكثر ما فعلته هو استخدام GPG لتشفير الملفات ، أما بالنسبة للصور ، فإن أكثر ما فعلته هو "إدراج" أو إخفاء ملف داخل صورة ، مما يوضح أنه عند فتح الصورة باستخدام عارض الصور ، يتم عرض كل شيء صحيح هل هذا ما تعنيه؟

      مرة أخرى شكرا جزيلا لتعليقك comment

  5.   راتاكرويل قال

    إذا كنت أتذكر بشكل صحيح ، فهناك بطولات C غامضة ، لكن لا يستحق استخدام "obfuscator" ولكن يجب إخفاء مصادرها بدون سرج.

    أما بالنسبة لـ shc والنص الخاص بك مع كلمات المرور ... طريقة سيئة للغاية للعمل!

    مقالة مثيرة للاهتمام كما هو الحال دائما.

    1.    KZKG ^ جارا قال

      نعم ، لقد أخبرني أكثر من واحد بالفعل LOL !!
      شكرا لتعليقك 🙂

  6.   أبدا قال

    بشكل أساسي ، إذا قمت بمشاركة التطبيق دون مشاركة النص المرئي ، فإنك بذلك تنتهك GPL ، مما يتطلب أن يكون أي شيء يتم إنشاؤه باستخدام تطبيق GPL هو GPL. هذا هو سبب قيام SHC بإنشاء C ، لأن هذا هو الرمز الذي يمكنك مشاركته.

    تحياتي

  7.   لنستخدم لينكس قال

    أتفق مع تعليقات القراء الآخرين: ليس فقط تخزين البيانات والنصوص معًا ليس ممارسة جيدة ، بل إنها أيضًا لا تساعد على تطوير البرمجيات الحرة.
    عناق! بول.

    1.    KZKG ^ جارا قال

      مرحبا بابلو 🙂
      لدي بعض البرامج النصية المشفرة الأخرى التي تعمل داخليًا على جهاز الكمبيوتر المحمول الخاص بي ، فأنا أقوم بتشويشها لأنني ببساطة لا أريد أنه إذا تمكن شخص ما لسبب ما من نسخ البرنامج النصي الخاص بي إلى جهاز كمبيوتر آخر ، فأنا ببساطة لا أريده أن يتمكن من رؤية ما يحتويه ، فهو "إجراء أمني" 'انا اخذت.

      ومع ذلك ، هنا في DesdeLinux ، أقوم بنشر كل شيء أو تقريبًا كل شيء أقوم ببرمجته في Bash والذي قد يكون مثيرًا للاهتمام.

      باختصار ، ليس الأمر أنني الآن منتقد لـ SWL بسبب تشويش نص شخصي ، لفعل ذلك لأغراض شخصية 😀

      تحيات صديق

  8.   مختبر كود قال

    معلومات جيدة. بصرف النظر عن الخلافات التي تم إنشاؤها في التعليقات ، يبدو لي أن المعلومات لمواصلة التحقيق أكثر من ذلك بقليل.

    أعتقد أن المؤلف لا يخبرنا في أي وقت من الأوقات إذا كان العمل جيدًا أو سيئًا أو إذا كان علينا فعل ذلك أم لا ، فهو يخبرنا ببساطة بالأداة التي يمكن القيام بها في حال كانت مفيدة لشخص ما.

    تحية.

    مختبر كود

    1.    f3niX قال

      في مدونات Linuxeros كل شيء مثير للجدل ، هاها كان دائما هكذا.

      1.    MSX قال

        @ F3niX سأقوم بقص لقطة شاشة بتعليقك لوضعها في كل مرة يذكر فيها شخص ما الموضوع بغباء.

        ملاحظة: لنرى متى يمكنني العثور عليك في منتديات irc و Chakra 😉

    2.    KZKG ^ جارا قال

      بالضبط !!
      أنا ببساطة أعرض / أعلم / أشرح شيئًا جديدًا تعلمته ، والأمر متروك لك لاستخدام هذه المعرفة أم لا ، وأنا لا يجبرك على الابتعاد عنها.

      على حد علمي ، فإن مشاركة المعرفة أمر جيد ، أليس كذلك؟ 0_oU

      شكرا لتعليقك ، من الجيد أن تعرف أن هناك أكثر من واحد أو اثنين يفهمون الهدف الحقيقي من هذه المقالة.

  9.   Percaff_TI99 قال

    هناك وضعتني في مكان ضيق xD ، منذ بضعة أسابيع كنت أقوم بإعداد منشور بعنوان "تثبيت واختبار Crux" وعلى الرغم من أن التثبيت قد تم تنفيذه بنجاح ، فأنا مستخدم عادي ولا أعرف ما إذا كنت سأتمكن من التعامل مع شكوك الأطراف الثالثة ، فالهدف هو أن أكون أداة للنقاش حول فضائل وعيوب هذا التوزيع والحلول الممكنة للمشاكل التي قد تنشأ لمساعدتنا بين كل المستخدمين والقراء. عندما أنهيها وأرسلها للمراجعة ، ستقرر أنت (المسؤولين). أما بالنسبة لمسألة التشفير في الصور ، فقد كانت هي نفسها ، شكرًا KZKG ^ Gaara على الرد.

    تحية!

    1.    KZKG ^ جارا قال

      حسنًا بكل سرور ، سأقوم بنشر منشور حول ذلك 😉

  10.   ماكوبكس أوتشيها قال

    ممتاز tuto bro لقد وجدت أنه مفيد جدًا: 3
    بالنسبة لأولئك الذين يريدون تثبيته في manjaro linux ومشتقات archlinux ، فإن الحزمة موجودة في aur بالاسم: shc

    تحياتي

  11.   ماركوس قال

    معذرةً ، يا صديقي ، كان لدي نص صغير حول الأحرف الكبيرة إلى أحرف صغيرة كانت في الحافظة (xclip)

    النص يعمل بشكل طبيعي عندما لا يكون غامضا

    #! / بن / باش
    xclip -o> R1.txt
    القط R1.txt | tr [: upper:] [: Lower:]
    رما - طرد - قذف ""
    rm R1.txt

    ولكن عندما أريد تشغيل البرنامج النصي المبهم
    أنا الزهر

    ./M2m.sh: العملية غير مسموح بها
    مكتمل (قتل)

    الرجاء المساعدة

    1.    KZKG ^ جارا قال

      هل قمت بتثبيت xclip؟

  12.   SynFlag قال

    وتجدر الإشارة إلى أنه في الواقع مترجم bash ، حيث يوجد مترجمين bat أو .php.
    لا أعرف ما إذا كانت الشفرة التي يتم إنتاجها مشفرة ومبهمة ولا تصمد أمام أداة فك التحويل ، سيكون من الضروري المحاولة ، نظرًا لأنه ليس مجالًا لي ، فأنا لا أقول نعم أو لا ، ولكن ما أراه هو تجميع a bash ، في .c ، يمكنك رؤية الكود ، والذي ، داخل التعتيم ، أرى أنه موجود في السطور التي تبدو وكأنها قذيفة استغلال ، ولا أعرف ما إذا كانت غامضة حقًا ، حيث لا توجد كلمة مرور طلبت أو لا أعرف ، master.config أين كلمة رئيسية سابقة.

  13.   خوان ديفيد قال

    صديقي يحدث أنه عندما أقوم بتشويش النص الخاص بي ، يقوم بإنشاء النص الجديد بنهاية ex ، وأقوم بتنفيذه ، بل إنه كان مثاليًا. ولكن عندما آخذه إلى جهاز كمبيوتر آخر مع نظام linuz ، فإنه لا يعمل ، فهو يمتلك بالفعل جميع الأذونات ، أقوم بإنشاء مشغل وأخبره أنه تطبيق طرفي ، لكنه لا يعمل ، يرجى انتظار استجابة سريعة

    1.    KZKG ^ جارا قال

      هل جمعتها وهل تقوم بتشغيلها على نظام بنفس البنية؟ أي أنه سيعطيك خطأ إذا قمت بتجميعه للتشويش عليه على نظام 32 بت ، ثم حاولت تشغيله على نظام 64 بت ، أو العكس. أنت تفهم؟

      1.    خوان ديفيد قال

        لا ، لكنني قدمت بالفعل تنسيق نفس الكمبيوتر ، مع نفس نظام التشغيل ولا يعمل ، حتى أنه لا يرسل أي خطأ.
        أسميها من خلال وحدة التحكم مثل هذا: sudo /home/operations/script.x وأحصل على هذا الخطأ

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

        حالة كاملة

        1.    KZKG ^ جارا قال

          حاول تشغيله دون ترجمة لمعرفة ما إذا كان خطأ في الكود

    2.    نيك قال

      لكي تتمكن من تشغيل البرنامج النصي المبهم على أجهزة الكمبيوتر الأخرى ، يجب عليك تجميعه باستخدام الخيار «-r Relax security. قم بإنشاء ملف ثنائي قابل لإعادة التوزيع ، وإلا فإنه سيتم تشغيله فقط على الجهاز حيث تم تشويش النص باستخدام SHC.
      على سبيل المثال:

      shc -r -f script.sh

  14.   وليام قال

    مرحبًا ، لدي استعلام ، يمكن تثبيت shc في أي نوع من توزيعات Linux؟ ، على سبيل المثال ريد هات ، كيف سيكون التثبيت لهذا التطبيق؟
    بفضل!

  15.   رويز قال

    مرحبًا بالجميع ، لقد ساعدتني تعليقاتكم كثيرًا ، لكن لدي المشكلة التالية ، عندما لا يعمل التشويش بالنسبة لي في نفس النظام ولكن مع بنية مختلفة ، أي إذا قمت بذلك في 32 بت ، فلا يمكن تشغيلها في 64 بت. هل يعرف أي شخص ما إذا كان يمكن تشغيله بالفعل على بنيات مختلفة (32 بت و 64 بت)؟