כיצד לטשטש או להסתיר קוד מתסריטי ה- 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. לאחר הקישור, אנו מבצעים להפוך את ההתקנה עם הרשאות שורש (נשתמש בסודו):

 sudo make install

 4. זה יבקש מאיתנו את הסיסמה שלנו והיא תחכה רגע, היא תחכה שנלחץ על המקש [AND] ולחץ [להיכנס]כלומר אנו מאשרים שאנו רוצים להתקין את התוכנה. לאחר שהדבר נעשה, הוא יותקן ללא בעיות. אני משאיר לך צילום מסך של כל תהליך ההכנה וההתקנה:

 


כפי שניתן לראות בסוף אני מקבל שגיאה, השגיאה מתייחסת לעובדה שתיקיה מסוימת אינה קיימת במערכת שלי, אם אתה רואה זאת, פשוט אל תיתן לה חשיבות ... למרות זאת SHC הותקן בהצלחה 😉
כדי שהם יוכלו לרוץ sudo make install es נחוץ התקן את החבילות: gcc y לעשות

5. בוצע, זהו זה להתקנה 😀

כשיש להתקין אותו, אנחנו רק צריכים ללמוד כיצד להשתמש בו. נניח שיש לנו תסריט בבית שנקרא script.sh וכי תוכנו הוא כדלקמן:

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

בעת ביצוע סקריפט זה ברור שהוא יראה לנו את ההודעה במסוף: «תסריט בדיקה עבור DesdeLinuxNET." או שלא? ... אבל, עכשיו אנחנו הולכים לטשטש את הקוד הזה.

במסוף אנו מכניסים את הדברים הבאים ולוחצים [להיכנס]:

shc -v -f $HOME/script.sh

ובינגו !! מוכן 😀

זה יצר לנו שני קבצים חדשים יחד עם התסריט שלנו, עכשיו יש לנו script.sh.x y script.sh.xc

script.sh.x - » זהו סקריפט ה- bash המעורפל שלנו, זה כאשר אנו מבצעים אותו יעשה בדיוק כמו זה שיצרנו, ההבדל בין אלה הוא שהראשון אם פתחנו אותו בעורך טקסט (ננו, קייט, gedit וכו ') יכולנו לראות בבירור את תוכנו, ואילו אם נפתח ל script.sh.x נראה בבירור שאנחנו לא רואים כלום ... LOL !!!, כלומר, הקוד 'מוצפן' 🙂

script.sh.xc - » זה התסריט שלנו אבל בשפה C ... אנחנו יכולים למחוק את זה בלי לדאוג כי אנחנו לא באמת צריכים את זה, טוב, לפחות לא הייתי זקוק לזה בכלל 🙂

אין הרבה מה להוסיף בעצם בצד הטכני, רק כדי להבהיר כי עד כמה שידוע לי עם זה (מסתיר או מטשטש קוד script bash) זה לא מפר רישיונות או משהו כזה. אני מבהיר את זה מכיוון שלפני כמה חודשים בפייסבוק כשהזכרתי שלמדתי לטשטש קוד bash, היו משתמשים שהזהירו אותי שמדובר בהפרת רישיונות או משהו כזה ... ובכן, למיטב הבנתי, הרישיונות אינם מופרים עם זה 😉

תודה רבה ל מטיאס גסטון על שהזכרתי את כלי השירות הזה לפני זמן מה

שום דבר נוסף להוסיף, ספק או שאלה, תלונה או הצעה יידעו אותי.

ברכות 😀


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   קסיקיז דיג'ו

    זה לא שהרישיונות מופרים, זה מפסיק להיות תוכנה חופשית ...

    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/), אז בתסריט אני שומר את הסיסמה hash ומה שאני עושה זה להשוות את הסיסמה שהמשתמש מזין (אני שומר אותה עם קריאה), אני מקבל את סכום ה- SHA ומשווה את שניהם בסוף 🙂

          בכל מקרה, תודה רבה על הקישור, אני כבר סוקר אותו 😀

          לגבי

        2.    בואו נשתמש בלינוקס דיג'ו

          מְדוּיָק! בקשת מעטפת המבקשת את הסיסמה היא חלופה טובה.
          לחיים! פול.

          1.    MSX דיג'ו

            אך הוא אינו מספק ביצוע אוטומטי ללא השגחה כפי שהוא עושה את הדרך ההפוכה. 🙂

      2.    וויליאנס ויוואנקו דיג'ו

        הצבת סיסמאות וגישה אחרת או התפשרות על נתונים בתסריט היא טעות גדולה. מידע זה צריך להישמר בקובץ אחר, עם ההרשאות המתאימות שלו, כך שלא תצטרך לטשטש את סקריפט ה- bash שלך. קל הא?

        1.    KZKG ^ גאארה דיג'ו

          הבעיה שיש את הנתונים (משתני כניסה, confs וכו ') בקובץ אחר היא ש'מערכת' או 'יישום' זקוקים לשני קבצים כדי לתפקד, ואילו אם אני שומר 'מאובטח' ככל האפשר בקובץ יחיד אחד, טוב הייתי צריך את זה רק ... קובץ יחיד.

          1.    מורפיאוס דיג'ו

            מקובל להפריד את היישום מהנתונים.
            או ליתר דיוק זה נוהג נורא להקשיב את הנתונים!
            http://es.wikipedia.org/wiki/Hard_code
            זה לא קשור לביטחון להכניס את הקוד ואת הנתונים לאותו קובץ. ועוד יותר, להפך אם יש לך את הסיסמאות שלך שם !!

          2.    וויליאנס ויוואנקו דיג'ו

            עלות קריאת מידע רגיש מקובץ אחר היא זניחה ליד עלות המעבד הדרושה כדי "לבטל" את הקוד שלך.

            מצד שני, אתה הורס פרדיגמה שלמה של פיתוח מודולרי, מהמר על מודל מונוליטי, שיותר ממוכח, יש יותר בעיות מאשר פתרונות.

          3.    MSX דיג'ו

            וגם שאם אתה משתמש בהרשאות שבהכרח הולכות לערב קבוצות / משתמשים אחרים, עדיין תצטרך סיסמה ראשונית כדי לבצע את הסקריפט הראשון.

          4.    MSX דיג'ו

            @KZKG התגובה שלמעלה היא בתגובה לתגובה שלך
            @morpheus: זה יחסית יחסית לצורך המסוים.

    2.    מורפיאוס דיג'ו

      אבל יש תוכנה חופשית שמורכבת בינארית (שהיא יותר מעורפלת). זה בחינם מרמז שהוא זמין בנוסף למקור, אבל אין לזה שום קשר לטשטוש (או קומפילציה, וזה חיוני אם אני רוצה להפעיל תוכנית C, למשל)

      1.    וויליאנס ויוואנקו דיג'ו

        במקרה של תוכנה חופשית מהודרת, זו שאלה של דרישת השפה בה משתמשים (אם אתה מתכנת ב- C, אתה צריך לאסוף כדי שהיישום שלך יעבוד). ואותו הדבר, תמיד, אם באמת מדובר בתוכנה חופשית, קוד המקור יהיה זמין.

  2.   Hyuuga_Neji דיג'ו

    זמזום אני מציין מידה מסוימת של אדישות לשתף קוד חחח כדי לראות כמה בסופו של דבר מתחילים "לטשטש את הקודים שלהם" כדי לגרום לנו להיות תלויים יותר בפתרונות שלהם ...

    1.    KZKG ^ גאארה דיג'ו

      אני לא אומר שקוד צריך להיות מעורפל או לא ... אני נותן את הכלים, כל אחד שמשתמש בהם בהתאם לצרכיו.

      1.    פַּרשָׁן דיג'ו

        קוד מטשטש בעמוד זה?

        אני חושב שזה רעיון טוב להרחיק את הקוראים, מכיוון שאני חושב שרבים מהאנשים שמבקרים בבלוג זה הם עוקבים של תוכנה חינמית, ולכן איננו שותפים למנהג של קוד מטשטש.

        1.    MSX דיג'ו

          ברור שלא קראת את הסיבה ש- KZKG טוענת ומדוע היא מסבירה את הצורך שלה לטשטש את התסריט שלו.

          תודה KZKG ששיתפת את הממצא שלך!

  3.   גבריאל דיג'ו

    וכך וירוסים מתחילים להסתובב בלינוקס ...

    באופן אישי אני לעולם לא אשתמש בתסריטים מעורפלים. לא רק בגלל סיכוני האבטחה הכרוכים בכך, אלא בגלל שאם התסריט שלך יקר מכדי לשתף, מוטב שתכניס אותו ל- * ulo; אני בוודאי יכול למצוא מישהו שכן רוצה לחלוק את הידע שלו.

    1.    KZKG ^ גאארה דיג'ו

      האם אי פעם תשתמש בתסריט מעורפל?, ובכן, טוב מאוד עבורך, לעולם לא אשתמש בתסריט מעורפל ... הפרט הוא, שמעולם לא שיתפתי תסריט מעורפל, רחוק ממנו, ושם חבר יקר נמצא במקום בו טעות קיימת

      בכל פעם שאני עושה משהו בבש, אני משתף אותו בלי להכביד עליו או להטריד אותי, מה שכבר עשיתי במאמרים רבים כאן

      ברוך הבא לבלוג, תענוג לקרוא אותך 😉

  4.   Percaff_TI99 דיג'ו

    גבריאל, KZKG ^ גאארה כבר חולק ידע, הוא לא יוצר שום חבילת לינוקס עם סקריפטים מעורפלים שיכולים להוות הפרת רישיון, זה רק חושף יישומים שאפשר להשתמש בהם או לא לשימושם, אין צורך להיות גס רוח, כי עבור וירוסים בלינוקס זה לא כל כך פשוט, הנה מאמר טוב על זה https://blog.desdelinux.net/virus-en-gnulinux-realidad-o-mito/.
    KZKG ^ גאארה אני רוצה שתכתוב פוסט על encfs וקריפטוגרפיה באמצעות תמונות, זה נושא שאני מאוד אוהב.
    לחיים !!!

    1.    KZKG ^ גאארה דיג'ו

      תודה
      למעשה, זה לא שיש לי מספיק ידע על encfs וקריפטוגרפיה, לפחות אני לא מרגיש מספיק בטוח בכדי לפרסם פוסט ולהניח את הספקות שיש למשתמשים 😀
      בנושא זה לא כי אני משתמש מתקדם ...
      הכי הרבה שעשיתי הוא להשתמש ב- GPG כדי להצפין קבצים, ולגבי תמונות, הכי הרבה שעשיתי זה 'להכניס' או להסתיר קובץ בתוך תמונה, מה שמבהיר שכאשר התמונה נפתחת עם מציג תמונות, הכל מוצג כהלכה, האם זה למה אתה מתכוון?

      שוב, תודה רבה על תגובתך 🙂

  5.   רטקרול דיג'ו

    אם אני זוכר נכון, ישנן אליפויות C מעורפלות, אך לא כדאי להשתמש ב"ערפד ", אך הן צריכות לטשטש את מקורותיהן ללא עוררין.

    לגבי shc והתסריט שלך עם סיסמאות ... דרך גרועה מאוד לעבודה!

    כתבה מעניינת, כמו תמיד.

    1.    KZKG ^ גאארה דיג'ו

      כן, יותר מאחד כבר אמרו לי LOL !!
      תודה על תגובתך 🙂

  6.   אֵיִ פַּעַם דיג'ו

    בעיקרון, אם אתה משתף את היישום מבלי לשתף את הסקריפט הגלוי אתה תפר את ה- GPL, מה שמחייב שכל מה שנוצר עם יישום GPL יהיה GPL. לכן SHC מייצר את ה- C, כי זה הקוד שתוכלו לשתף.

    לגבי

  7.   בואו נשתמש בלינוקס דיג'ו

    אני מסכים עם ההערות של קוראים אחרים: לא רק שזה לא נוהג טוב לאחסן נתונים וסקריפט יחד, אלא שהוא גם לא תורם לפיתוח תוכנה חופשית.
    חיבוק! פול.

    1.    KZKG ^ גאארה דיג'ו

      שלום פבלו 🙂
      יש לי עוד סקריפט מעורפל שעובד באופן פנימי על המחשב הנייד שלי, אני מטשטש אותו כי אני פשוט לא רוצה שאם מישהו מסיבה כלשהי יצליח להעתיק את הסקריפט שלי למחשב אחר, אני פשוט לא רוצה שהוא יוכל לראות מה זה מכיל, זה 'אמצעי אבטחה' שאני נוקט.

      עם זאת, כאן ב DesdeLinux אני מפרסם כל דבר או כמעט כל מה שאני מתכנת ב-Bash שיכול להיות מעניין.

      בקיצור, זה לא שאני עכשיו גורע ל- SWL לטשטש תסריט אישי, לעשות זאת למטרות אישיות 😀

      ברכה חבר

  8.   קוד קוד דיג'ו

    מידע טוב. מלבד המחלוקות שנוצרות בתגובות, נראה לי מידע להמשיך ולחקור עוד קצת.

    אני מאמין שהמחבר בשום שלב במאמר לא אומר לנו אם זה נעשה טוב או רע או שאנחנו צריכים או לא צריכים לעשות את זה, הוא פשוט אומר לנו את הכלי שבעזרתו ניתן לעשות זאת למקרה שהוא מועיל למישהו.

    ברכה.

    קוד קוד

    1.    f3niX דיג'ו

      בבלוגים של Linuxeros הכל שנוי במחלוקת, האה זה תמיד היה ככה.

      1.    MSX דיג'ו

        @ F3niX אני הולך לחתוך צילום מסך עם התגובה שלך בכדי לנסח את זה בכל פעם שמישהו יזכיר את הנושא מטופש.

        הערה: בואו נראה מתי אני מוצא אתכם דרך הפורומים של irc וצ'אקרה 😉

    2.    KZKG ^ גאארה דיג'ו

      מְדוּיָק!!
      אני פשוט מראה / מלמד / מסביר משהו חדש שלמדתי, עליכם להשתמש בידע הזה או לא, אני לא מכריח אתכם רחוק ממנו.

      ככל הידוע לי, שיתוף בידע הוא דבר חיובי, נכון? 0_oU

      תודה על תגובתך, טוב לדעת שיש יותר מאחד או שניים שמבינים את המטרה האמיתית של מאמר זה.

  9.   Percaff_TI99 דיג'ו

    שם אתה שם אותי במקום XD, לפני כמה שבועות הכנתי פוסט שעומד לכותרתו "התקנה ובדיקה של Crux" ולמרות שההתקנה בוצעה בהצלחה, אני משתמש רגיל ואני לא יודע אם אצליח להתמודד עם הספקות מצדדים שלישיים, הכוונה היא לשמש מכשיר לדיון על המידות והפגמים של ההפצה הזו והפתרונות האפשריים לבעיות שעשויות להתעורר לנו בקרב כל המשתמשים והקוראים. כשאסיים אותו ואשלח אותו לבדיקה, אתם (מנהלי מערכת) תחליטו. באשר לקריפטוגרפיה בתמונות, זה היה אותו הדבר, תודה ל- KZKG ^ גאארה על התשובה.

    ברכות!

    1.    KZKG ^ גאארה דיג'ו

      בסדר בהנאה, אעשה פוסט על כך

  10.   מקובקס אוצ'יהא דיג'ו

    אחי טוטו מצוין מצאתי שזה מאוד שימושי: 3
    לאלו שרוצים להתקין אותו במנג'רו לינוקס ונגזרות של ארכלינוקס החבילה נמצאת ב- aur עם השם: shc

    לגבי

  11.   מרקוס דיג'ו

    סלח לי, חבר, היה לי תסריט קטן שהמיר אותיות גדולות לאותיות קטנות שהיו בלוח (xclip)

    התסריט עובד כרגיל כאשר הוא לא מעורפל

    #! / bin / bash
    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.   חואן דייוויד דיג'ו

    חברים זה קורה שכשאני מטשטש את התסריט שלי הוא יוצר את התסריט החדש עם סיום לשעבר, אני מבצע אותו ויש אפילו מושלם. אבל כשאני לוקח את זה למחשב אחר עם לינוז זה לא פועל, יש לו כבר את כל ההרשאות, אני יוצר משגר ואומר לו שזה יישום מסוף, אבל זה לא עובד, אנא המתן לתגובה מהירה

    1.    KZKG ^ גאארה דיג'ו

      קיבצתם אותו והאם אתם מריצים אותו במערכת עם אותה ארכיטקטורה? במילים אחרות, זה ייתן לך שגיאה אם ​​קיבצת אותה כדי לטשטש אותה במערכת 32 סיביות, ואז תנסה להריץ אותה במערכת 64 סיביות, או להיפך. אתה מבין?

      1.    חואן דייוויד דיג'ו

        לא, אבל כבר סיפקתי עיצוב של אותו מחשב, עם אותה מערכת הפעלה והוא לא פועל, זה אפילו לא שולח שגיאה.
        אני קורא לזה בקונסולה ככה: sudo /home/operations/script.x ואני מקבל את השגיאה הזו

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

        מקרה שלם

        1.    KZKG ^ גאארה דיג'ו

          נסה להריץ אותו ללא הידור כדי לראות אם זו שגיאה בקוד

    2.    ניק דיג'ו

      על מנת שתוכל להריץ את הסקריפט המטושטש במחשבים אחרים עליך לאסוף אותו עם האפשרות «-r הרפי אבטחה. הפוך בינארי לחלוקה מחודשת ', אחרת הוא יפעל רק על המכונה שבה הוטשטש התסריט באמצעות SHC.
      לדוגמה:

      shc -r -f script.sh

  14.   ויליאם דיג'ו

    שלום, יש לי שאילתה, ניתן להתקין את shc בכל סוג של הפצת לינוקס? למשל, red hat, איך תהיה ההתקנה בשבילה?
    תודה!

  15.   ruyzz דיג'ו

    שלום לכולם, ההערות שלך עזרו לי מאוד, אבל יש לי את הבעיה הבאה, כאשר ערפול לא עובד בשבילי באותה מערכת אלא עם ארכיטקטורה שונה, כלומר אם אני עושה את זה ב -32 סיביות היא לא יכולה לרוץ ב -64 סיביות . האם מישהו יודע אם באמת ניתן להריץ אותו בארכיטקטורות שונות (32 ו -64 ביט)?