برنامج نصي متقدم في Bash (bash + md5) لحماية "شيء ما" (+ شرح مفصل)

قبل بضعة أيام قلت لهم عن فلاتبريس، تطبيق ويب (CMS) يمكنك من خلاله الحصول على مدونة أو شيء مشابه دون استخدام قواعد البيانات ، أو تعقيد الكثير 🙂

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

لذلك واجهت مشكلة: كيف يمكنني استخدام FlatPress لحماية كل المحتوى الموجود عليه؟

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

سأريكم الآن سيناريو قمت بعمله ، وهو يقوم بما يلي:

البرنامج النصي مصمم ل العمل في كيدي، إذا لم يكن لديهم كيدي مربعات الحوار لن تظهر لهم.

1. يظهر مربع حوار يسألك عما إذا كنت KZKG ^ Gaara ، وإذا ضغطت على NO ، فسيتم إغلاق البرنامج النصي ، وإذا ضغطت YES ، فسيستمر كل شيء كالمعتاد. 2. اعرض مربع نص يسأل عن كلمة المرور:

3. إذا ضغطت على إلغاء إغلاق البرنامج النصي ، فستأتي الآن إحدى حيل البرنامج النصي 😉 ...

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

3.2. لتجنب وضع كلمة المرور مثل هذه في نص عادي في البرنامج النصي ، استخدمت MD5. أي في بداية النص ، أعلنت أن كلمة المرور الصحيحة هي «2dac690b816a43e4fd9df5ee35e3790d«، وهذا هو MD5 من:«من لينكس«. ... أنا لا أفهم شيئا!! … 😀

دعونا بالتفصيل أكثر من ذلك بقليل. إذا كتبت الآن إلى ملف (على سبيل المثال ، ~ / pass.txt) من النص: من لينكس

إذا كتبت في محطة طرفية: md5sum ~ / pass.txt

ستعود لي: 2dac690b816a43e4fd9df5ee35e3790d sum

و ... كما ترون ، هذا العمود الأول الذي يحتوي على الكثير من الأرقام والحروف بدون ترتيب ظاهر ، هو نفس العمود الذي وضعته أعلاه ، وهو العمود الموجود في النص المعلن.

حسنًا ، هذا العمود الأول هو MD5 من من لينكس ؟؟؟؟

إذا وضعوا ما يلي ، فسيتم إرجاع العمود الأول فقط ، وهو العمود الذي يهمنا: md5sum ~/pass.txt | awk '{print $1}'

4. إذن ، تشغيل البرنامج النصي في هذا الجزء المحدد هو:

4.1. سيضع البرنامج النصي كلمة المرور التي كتبتها في ملف مؤقت يسمى temp.txt، وسيقوم باستخراج MD5 لمحتوى هذا الملف عن طريق الأمر:

md5sum temp.txt | awk '{print $1}'

4.2. إذا لم يكن MD5 الخاص بكلمة المرور التي كتبتها للتو هو نفسه الذي حددته (أي ، الذي تم كتابته في البرنامج النصي) ، فسيتم إغلاقه ويعطي خطأ: 4.3. إذا تطابقت كلمة المرور ، فهذا مثالي ... يستمر النص 😀

5. عندما تتطابق كلمة المرور ، سيقوم البرنامج النصي بتنفيذ سلسلة من الخطوات ، في حالتي:

5.1. سوف يدخل المجلد / الرئيسية / المشتركة / المستضافة / - » القرص المضغوط / المنزل / مشترك / مستضاف /

5.2. يُطلق على مجلد FlatPress اسم "me" ، ويتم ضغطه في .RAR محمي بكلمة مرور (كلمة المرور هي نفسها كما يجب تعيينها من قبل) ، لذلك سيقوم البرنامج النصي بفك ضغط هذا الملف (me.rar) - » رر x me.rar -hp $ MWORD

رر x - »ما يفعله هو فك ضغط الملفات والمجلدات مع الحفاظ على نفس الترتيب الذي لديهم.

أنا رر - »هذا هو الملف الذي أريد فك ضغطه.

-hp $ MWORD - »هنا أخبرك أنه يجب عليك استخدام كلمة المرور لفك ضغط الملف ، وكلمة المرور هي المتغير $ MWORD (هذا المتغير هو كلمة المرور التي أدخلناها من قبل)

5.3. لذا ، إذا تم فك ضغطه جيدًا ، فأنا أمضي قدمًا لحذف الملف me.rar ... لماذا؟ حسنًا ، لأنه ليس من المنطقي وجود .rar إذا كنت أعمل مع الملفات الموجودة بداخلها ، وهذه الملفات تتغير لأنني أكتب أشياء جديدة على المدونة - » rm me.rar

5.4. يجب أن أغير أذونات كل شيء للعمل بشكل جيد - » chmod 777 -R me / (تذكر أن المجلد لي / هو ما احتوى على ملف مضغوط me.rar)

5.5. ستظهر لي نافذة تخبرني أن أمامي 10 ثوانٍ لفتح متصفح ""…. ماذا يعني هذا؟ ...

5.5 (a). بسيط ، بسيط جدا ... 🙂… أفتح المتصفح (في هذه الحالة ركونك) وأنا أعمل على منشور جديد ، ولكن عندما أغلق المتصفح ، يقوم البرنامج النصي بضغط ملفي / المجلد مرة أخرى بتنسيق .rar (يبقى في me.rar).

هذا ممكن لأن البرنامج النصي يتحقق كل 3 ثوانٍ إذا كان Rekonq مفتوحًا أم لا ، وإذا اكتشف أنه مفتوح ، فإن النص لا يفعل شيئًا ، ولكن إذا اكتشف أنه ليس مفتوحًا ، فإنه ينفذ: rar a me.rar -hp $ MWORD me / * && rm -R me /

مما يعني أنه سيضغط المجلد أنا/ en أنا رر (وسيضع كلمة مرور ، والتي ستكون هي نفسها التي رأيناها بالفعل) ، وبمجرد ضغطه وإذا لم تكن هناك أخطاء ، فسيتم حذف المجلد أنا/ بكل محتوياته.

5.5 (ب). كيف يساعدنا ذلك؟ ... بسيط ، هذا يتجنب علينا الاضطرار إلى تذكر أنه يجب علينا حماية المحتوى الخاص بنا مرة أخرى ، لأننا نحتاج فقط إلى التوقف عن العمل عليه (إغلاق المتصفح) وسيقوم البرنامج النصي ببقية العمل 😉

6. جاهز ، تم شرح هذا كله بطريقة عامة 🙂

... على الرغم من وجود تفاصيل أخرى 😀

يحتوي البرنامج النصي على حماية أكبر ، والحماية المعطلة (المعلق عليها) هي هذه الأسطر:

if [ "$USER" != "$ME" ]; then
rm *.sh
kdialog --error "Sorry but u are not me. Auto-destroying..." --title "Im Me..."
exit
fi

ما يفعله بسيط. المتغير USER $ هو متغير عالمي للنظام ، إذا وضع في الطرفية:

echo $USER

سترى ما يظهره لك المستخدم ... حسنًا ، منطق هذه السطور بسيط.

إذا لم يتطابق $ USER مع المتغير $ ME (وقد تم التصريح به من قبلي في البرنامج النصي ، وهو: "gaara") ، فسيحذف البرنامج النصي جميع الملفات .sh الموجودة في هذا المجلد ، أي أنه سيتم تدمير نفسه بنفسه 😉

هذا لمنع شخص آخر من تنفيذ البرنامج النصي على كمبيوتر آخر ههههه.

حسنًا ، لا أعتقد أن هناك الكثير لشرح ذلك ، أترك النص:

تنزيل ملف SH
انظر النص في لصقنا

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

لقد فعلت ذلك لتلبية احتياجاتي المحددة للغاية ، وأشاركها على أمل أن يكون هناك خط أو فكرة أخرى موضحة هنا يمكن أن تكون مفيدة لشخص ما

بالمناسبة ، البرنامج النصي مخصص لـ KDE ، لأن مربعات الحوار (windows) التي يعرضها هي من KDE (باستخدام KDialog) ، ولكن يمكن تكييفها مع Gnome / Unity / Cinnamon / Mate باستخدام زينتي، أو استخدمه بنسبة 100٪ في المحطة بمجرد استخدام أمر الحوار.

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

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

يخبرونني بأي أسئلة لديهم حول هذا الموضوع ، على الرغم من أن النص قد لا يخدمهم لأنهم لا يحتاجون إليه ، فسيكونون دائمًا قادرين على تعلم بعض النصائح الأخرى منه 😀

تحياتي

PD: وأنا أعلم ذلك إيلاف سيقول إنني مصاب بجنون العظمة ... أو أنني أضيع وقتي ، لكن الأمر ليس كذلك. أردت شيئًا محددًا جدًا ، نظام أمان محددًا جدًا ، وقمت ببرمجته بنفسي ... كم هو غريب الأطوار؟ … هههه!!


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

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

اترك تعليقك

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

*

*

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

  1.   هكان قال

    هذا مثير للاهتمام ، ولكن أعتقد أن السؤال بنعم / لا هو ضرطة جدا xD
    وما رأيك ، بدلاً من استخدام rar الذي هو ملكية خاصة ولا يوفر أمانًا حقيقيًا ، استبدله بـ gpg ، وهو برنامج أمان أكثر من مثبت على مر السنين ، وهو موجود عمليًا في جميع التوزيعات 😉
    شيء آخر ، يمكنك تمرير سلسلة md5sum ، لست بحاجة إلى إنشاء ملف مؤقت. أوصي هنا أيضًا بالذهاب إلى sha وهو أكثر أمانًا ، جربه في الجهاز: shasum

    SALUDOS!

    1.    KZKG ^ جارا قال

      مرحبا وشكرا على تعليقك 😀
      يسمح لي GPG بحزم دليل بكل محتوياته؟ لقد استخدمته فقط للملفات الفردية ، وليس للأدلة التي تحتوي على أدلة فرعية وملفات.

      أوه ... رائع بخصوص shasum ، لم أكن أعرفه 😀
      سأستمر في تعديل البرنامج النصي لاستخدام هذا ، و ... نعم !! صحيح ، ببساطة: صدى "$ PASSWORD" | شسوم لقد حصلت بالفعل على السلسلة ، في الواقع ليست هناك حاجة لكتابتها في ملف :)

      شكرًا جزيلاً على تعليقك ، لقد تعلمت بالفعل شيئًا جديدًا 🙂
      تحياتي

    2.    الحصار 84 قال

      هو نفس الشيء الذي كنت أطلبه ...

      1.    KZKG ^ جارا قال

        ما ستحتاج إليه هو معرفة كيفية تشفير ملف GPG وتمريره بكلمة المرور على نفس السطر ... على سبيل المثال:
        gpg -e file.tar.gz –كلمة المرور كلمة المرور أيا كان

        أي فكرة عن كيفية القيام بذلك؟ 🙂

        1.    هكان قال

          لتشفير دليل c / gpg ، يجب أن تحزمه أولاً مع tar.
          إذن ، في هذه الحالة ، من الملائم استخدام التشفير المتماثل ، مع المعلمة -c (انظر ويكيبيديا لمعرفة الفرق بين التشفير المتماثل وغير المتماثل).
          سيكون هذا بعد ذلك شيئًا مثل:
          tar -czf destination.tgz source_directory / && echo $ passwd | gpg –batch –press-level 0 -c –passphrase-fd 0
          سيؤدي هذا إلى إنشاء ملف مضغوط يسمى "destination.tgz" والملف المشفر يسمى "destination.tgz.gpg". يجب إزالة كل من الدليل المصدر والضغط نفسه للأمان (تحقق من الأمر shred)

          لفك تشفير:
          صدى $ passwd | gpg –batch -d –passphrase-fd 0 encryption_file.tgz.gpg | القطران xz
          من شأنها استخراج الملفات في الدليل الحالي (ثم يمكن استخدام mv لنقلها إلى مكان آخر)

          أي أسئلة ، أجب على هذا التعليق 🙂

          تحيات!

          1.    هكان قال

            ehm ، احترس من الواصلات المزدوجة (-) والواصلات المفردة (-) ... هل هناك طريقة لكتابة شيء ما كما لو كان رمزًا بحيث لا يغير التنسيق؟
            prueba de codigo -- -
            [كود] كود الاختبار - - [/ code]

          2.    هكان قال

            أقضيها أكثر إسهابًا

            ضغط وتشفير:
            tar -czf destino.tgz directorio_fuente/ && echo $passwd | gpg –batch –compress-level 0 -c –passphrase-fd 0
            لاحظ أن هذه خطوتان: أولاً إنشاء الملف المضغوط ثم ، إذا لم يكن هناك خطأ ، فتابع التشفير (التسلسل بـ &&)

            فك تشفير وفك ضغط:
            echo $passwd | gpg –batch -d –passphrase-fd 0 archivo_cifrado.tgz.gpg | tar -xz

            تحية!

          3.    KZKG ^ جارا قال

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

            شكرا جزيلا لك على المساعدة يا صديقي ، أنا حقا أفعل.

  2.   جوش قال

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

    1.    KZKG ^ جارا قال

      شكرا هاها.
      هل فهمت كيف يعمل النص ، أليس كذلك؟

      يبدو أكثر تعقيدًا مما هو عليه في الواقع.

      شكرا على التعليق حقا 😀

      تحياتي

      ملاحظة: في الواقع ، الأمن لا يكفي أبدًا هاهاها.

      1.    جوش قال

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

        1.    KZKG ^ جارا قال

          الشيء المهم هو أن نفهمه. حاولت أن أشرح كل شيء مفصلًا للغاية ، لكنني أعتقد أنني مددت كثيرًا هههههه.
          شكرا لك 🙂

  3.   أوروش قال

    واو ، سيناريو جيد جدا 🙂

    ملاحظة: جنون العظمة تجاوز 9000! وجه ضاحك

    1.    KZKG ^ جارا قال

      هاهاهاهاهاها هذا أنا ... لول !!

  4.   رافائيل قال

    بالنظر إلى البرنامج النصي الخاص بك ، أعتقد أنه يمكن إجراؤه باستخدام xdialog في حال لم يكن لديك kde :)! في صحتك

    1.    KZKG ^ جارا قال

      أوه ، لم أكن أعرف شيئًا عن xdialog ... سأضطر إلى مراقبته 😀
      اشكرك على المعلومات.

  5.   الحصار 84 قال

    بدلا من rar لماذا لا تستخدم tar.xz / gz و gpg؟

    1.    رافائيل قال

      هذا لأن لديك بالفعل في rar حيث لديك CMS الخاص بك

  6.   سيتوكس قال

    ممتاز @ KZKG ^ Gaara منذ أيام كنت أفكر في شيء من هذا القبيل ، لكنني في الامتحانات لذلك لم يكن لدي وقت لأي شيء ، وفجأة رأيت مقالتك ....
    سأحاول الأسبوع المقبل 🙂

    1.    KZKG ^ جارا قال

      شكرا اي تفاصيل هنا انا 😀

  7.   تروكو 22 قال

    xD لم أفهم أي شيء ولكن إذا كنت أرغب في استخدام kdialog بشكل صحيح في البرامج النصية ، فكيف أحصل على رسالة في برنامج تنبيه KDE

    1.    KZKG ^ جارا قال

      لتلقي رسائل في إشعارات كيدي ، حاول تثبيت الحزمة: libnotify- بن
      ثم تضع في المحطة:
      notify-send "texto texto texto"

      وسترى كم هو رائع 😀… وهذا يعمل مع KDE و Gnome و Unity و Cinnamon و Mate و Xfce 😉

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

      وسترى المساعدة هناك 😉

      تحياتي 😀

      1.    تروكو 22 قال

        شكرا جزيلا /

  8.   جويل أنطونيو فاسكويز قال

    مرحبًا ، منشور جيد ، مجرد اقتراح ، لا بأس أنه مع md5 لا يمكن رؤيته بالعين المجردة ، ولكن قد يستخدم بعض الفضوليين جدول قوس قزح لمعرفة ما إذا كانت كلمة المرور المحولة إلى md5 موجودة بالداخل ، أوصي باستخدام bcrypt (http://bcrypt.sourceforge.net/) ، إنه مجرد اقتراح ، يمكنك قبوله في أي مناسبة ، تحياتي.

    1.    KZKG ^ جارا قال

      شكرا 😀
      في الواقع نعم ، MD5 ليس مثاليًا وهناك من تمكن من الحصول على كلمات مرور ، وسوف ألقي نظرة على هذا التطبيق 😉

      شكرا على تعليقك.

  9.   الحصار 84 قال

    مع المتماثل فقط في kdialog يطلب منك كلمة المرور
    ومع غير المتماثل باستخدام مفتاح عمومي.

    يجب أن أوضح أنه ليس لدي أي أثر للمبرمج.

    1.    KZKG ^ جارا قال

      نعم ، لقد تمكنت بالفعل من التشفير باستخدام GPG (في الحقيقة لقد قمت للتو بنشر منشور حول هذا الأمر).

  10.   عزيز قال

    KZKG ^ Gaara يقرأ منشورك دائمًا.
    قم ببناء واحدة لاستخدامها مع XFCE.
    قبلة. مكلفة

    1.    KZKG ^ جارا قال

      مرحبًا وقبل كل شيء ، مرحبًا بك في المدونة 😀
      هههههه شكرًا ، أعلم أنه في بعض الأحيان يكون الأمر صعبًا لأنني أكتب أشياء فنية إلى حد ما ، لكنني أحاول دائمًا شرح كل شيء بوضوح قدر الإمكان

      سأجرب قليلاً مع XDialog أو Zenity لمعرفة ما إذا كان يعمل مع Xfce هاها ، سأقوم بإجراء الاختبارات في Xubuntu افتراضي 🙂

      تحياتي

  11.   إلينكس قال

    رجل مفيد جدا ، شكرا!

    تحيات!

  12.   داميان ريفيرا قال

    شكرًا لك ، سيساعدني كثيرًا في حماية بعض الملفات

    اضطررت إلى تكييفه مع الأناقة لأنني لا أملك kde في الوقت الحالي: \

    هنا أترك الهيكل العظمي الذي سأستخدمه متكيفًا مع الروعة

    http://paste.desdelinux.net/4641

    شكرا مرة أخرى وتحياتي 😀

    1.    KZKG ^ جارا قال

      رائع ، شكرًا جزيلاً 😀 😀
      أتذكر شخصًا ما طلب هذا ولكن بالنسبة لـ Xfce ، مع Zenity ، ستعمل في Xfce ، أليس كذلك؟

      1.    داميان ريفيرا قال

        نعم ، بقي الأمر فقط لإضافة الأوامر المراد تنفيذها بعد تمرير كلمة المرور الخاصة بشاسوم أو md5

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

        أو ربما إضافة جزء آخر (GUI) لإنشاء تكوين الأمان لملفنا

        تحياتي 😀

        1.    داميان ريفيرا قال

          كان لدي الوقت و xfce (في Archlinux) وقمت بالفعل بتكييف النص بالكامل كما كان ، بالنسبة لـ xfce باستخدام zenity (على ما أعتقد) لأن الذي تركته أعلاه كان فقط الهيكل العظمي الذي استخدمته

          http://paste.desdelinux.net/4644

          هل يمكن تحريره إذا كان به خطأ من اللصق؟

          ما يحدث هو أن لدي عدة قذائف رسومية ولا أعرف ما إذا كانت ستعمل في xfce نظيف ، على سبيل المثال في xubuntu

          تحياتي 😀

  13.   ماتياس جاستون قال

    شي مثير للاهتمام !!! مساهمة جيدة !!!!!!

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

    وهو أمر جيد كخطوة أولى في جعل الحياة صعبة على المتسلل المحتمل ، ولكن تحقق من الأفكار التالية (التي يمكن حتى تطبيقها واحدة فوق الأخرى)

    الفكرة 1) ماذا لو قمت بحفظ كلمة المرور في ملف على جهازك ، ولم تستضيفها في البرنامج النصي؟

    EJ: في ملف TXT ضع المفتاح واحفظه في / home / /bla/bla/key.txt
    في البرنامج النصي الخاص بك ، تقوم باستدعاء المفتاح كـ KEY = "$ (cat $ HOME / blah / bla / key.txt)" ، ثم تطرح if $ questionkey = $ KEY ، ثم .. إلخ.

    بهذه الطريقة ، تحقق 3 أشياء +1 ميزة:
    1) أن كلمة المرور لم تكن موجودة أبدًا في البرنامج النصي. (أنت تتجنب MD5)
    2) المسار حيث كلمة المرور ، يعتمد على اسم المستخدم. (أي شخص يريد فتحه ، يعيد توجيهه إلى أي مكان) في 99.9٪ من الحالات ، يفشل النص.
    3) في حالة رغبتك في مزيد من الأمان ، قم بإزالة جميع الأذونات إلى ملف key.txt لجميع المستخدمين الآخرين باستثناء ملكك.
    4) الميزة: إمكانية النقل لتغيير كلمة المرور وقتما تشاء ، دون تحرير البرنامج النصي. لأن التحقق خارجي من خلال ملف.

    الفكرة 2) ماذا عن تشويش نص bash بالكامل ، بحيث لا يمكن فتحه؟

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

    مزيد من المعلومات هنا: http://es.wikibooks.org/wiki/El_Manual_de_BASH_Scripting_B%C3%A1sico_para_Principiantes/Compilar_%28ofuscar%29_BASH_scripts_con_C_-_SHC

    الفكرة 3) ماذا لو وضعت شرطًا افتراضيًا في البرنامج النصي حيث يتطلب كلمة مرور المسؤول؟

    على سبيل المثال ، نفّذ شرطًا باستخدام "sudo" ثم تابع مع السكربت ، إذا لم يوقفه.
    بهذه الطريقة ، ستقع الحماية بالكامل كجسر فوق كلمة مرور ROOT الخاصة بك.

    حسنًا ، لا شيء أكثر ...
    في صحتك!!!!!!!! وعقد BASH.

    1.    KZKG ^ جارا قال

      هاهاها شكرا 😀
      في الواقع أنا الآن أستخدم SHA512 لأنه أفضل بكثير من MD5: https://blog.desdelinux.net/como-saber-la-suma-md5-o-sha-de-una-palabra-oracion-o-archivo/
      وكذلك GPG كوسيلة للحماية بدلاً من الضغط بامتداد .RAR: https://blog.desdelinux.net/como-proteger-datos-con-gpg-de-forma-simple/

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

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

      حول تشويش رمز Bash ... نعم ، لقد فكرت في هذا والفكرة كبيرة ، والمشكلة هي أنني لا أعرف كيف أفعل ذلك ، في الواقع لا أعرف حتى ما إذا كان يمكن القيام به HAHAHA.

      أوه انتظر ... الآن قرأت بقية التعليق O_O ... هاها ، لم أكن أعرف أنه يمكنك فعل ذلك. ليس لدي أي فكرة عن C أو C ++ ، ولكن قد يكون الأمر يستحق المحاولة.

      حول فكرة 3 ، ليست سيئة 😀

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

      شكرا لتعليقك و ... نعم ، انتظر ، باش !!! HAHA

    2.    KZKG ^ جارا قال

      WTF !!!
      لقد استخدمت بالفعل SHC… GE-NI-AL !!!! O_O

  14.   أثيوس قال

    برنامج نصي جيد جدًا ، إذا كنت تستخدم مدقق جذر ، لتتمكن من تشغيل البرنامج النصي كـ sudo ./script

    سيكون عليك فقط إضافة هذا الرمز في البداية

    http://paste.desdelinux.net/4663

    تحية

  15.   Neo61 قال

    KZKG ^ Gaara ، يا صديقي ، أعتقد أن تقديم تفسير ليس هو المشكلة ، فهذا جيد لمن ليس لديه الكثير من المعرفة. تم نشر المقالات التي لا تدرس هنا ، فهي تقدم فقط معلومات حول شيء موجود. لذلك لا تعذر على نفسك ودع هناك المزيد من التفسيرات الموسعة.

  16.   صائد قال

    لأشياء مثل هذا أستخدمها http://www.truecrypt.org/

  17.   هابيل قال

    هل يمكن لشخص مشاركة النص؟ أنا فضولي وجميع الروابط معطلة. 🙁

    غراسياس.