דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. מחשבים וטכנולוגיה
  3. עזרה הדדית - מחשבים וטכנולוגיה
  4. שיתוף | התוכנה הכי קטנה בעולם עכשיו גם מנגנת

שיתוף | התוכנה הכי קטנה בעולם עכשיו גם מנגנת

מתוזמן נעוץ נעול הועבר עזרה הדדית - מחשבים וטכנולוגיה
17 פוסטים 9 כותבים 227 צפיות 12 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מתכנת חובבמ מתכנת חובב

    כנראה את רובכם זה לא יעניין אבל היה לי קצת זמן היום אז התקדמתי עם התוכנה ששיתפתי כאן ולאלו שלא ראו אותה בזמנו - מדובר בשיטה שנקראת PE golfing ובה כותבים תוכנות קטנות ומתומצתות באסמבלי או לפעמים ממש בבינארי (יותר נכון הקסה - דצימלי)
    גיליתי את זה לפני כמה ימים ומאז שיחקתי עם זה קצת ולמדתי את מגבלות הפורמט
    השיטה היא כתיבת קוד מזערי ביחד עם דחיסה של הפורמט עצמו - ה PE header ממש יושב בתוך ה MZ header (בהיסט של 4 בתים בגלל ה section alignment שיוצא בדיוק ב e_lfanew) וכמובן שאין DOS stub ואז הקוד יושב על ה data directories וחלקים ממנו בשדות לא קריטיים ב PE header או ב optional header
    התוכנה שפירסמתי שם הקפיצה הודעת hello world ועכשיו שידרגתי את זה שגם ינגן את התווים של mitm.top כשהם כתובים ב ASCII ומפורשים כתדר שמוכפל ב 32 (shift left של 5 ביטים)
    זה מנוגן באמצעות הפונקציה Beep של kernel32 וכיוון שהיא סינכרונית זה קודם מנגן ואז פותח את ההודעה
    לדעתי יכול להיות אתגר מעולה למי שמחפש ללמוד על המבנה של קבצי PE או אסמבלי x86 אתגרי
    התוכנה שוקלת 268 בתים בלבד שמתוכם על 3 הייתי יכול לוותר אבל לווינדוס 11 יש מגבלה של מינימום בתים לקובץ הרצה (לעומת תוכנה מקבילה שהייתה נכתבת ב C שהייתה שוקלת כנראה כמה עשרות ק"ב עריכה: הצלחתי לכתוב תוכנה כזאת ב C שיצאה לי אחרי קמפול ב GCC במשקל של 2560 בתים אם כי נראה לי שהיה אפשר להרזות אותה עוד יותר גם בקמפול תקני (גילוי נאות ג'מיני עזר לי לקמפל את זה כל כך קטן - לא היה לי זמן ללמוד את האופציות ש GCC נותן))
    hello_&_beep.exe

    כמענה למה שכתב @אלדד-הדני-0 אני מצרף פה גרסה שלא ניתנת להנדסה לאחור בצורה רגילה בניתוח סטטי (בדקתי עם ghidra ו IDA במצב זיהוי אוטומטי) - אתגר קל למי מכאן שאוהב אתגרי RE
    hello_&_beep_no_RE.exe

    י מנותק
    י מנותק
    יענקיH
    כתב נערך לאחרונה על ידי
    #6

    @מתכנת-חובב מגניב..

    תגובה 1 תגובה אחרונה
    1
    • א אלדד הדני 0

      @מתכנת-חובב יפה. מעניין לבנות Packager ברעיון הזה, שחלקים ממנו נמצאים בPE header וoptional header, להקשות על רוורסינג

      מתכנת חובבמ מנותק
      מתכנת חובבמ מנותק
      מתכנת חובב
      מדריכים
      כתב נערך לאחרונה על ידי מתכנת חובב
      #7

      @אלדד-הדני-0 עיין בעדכון של הפוסט לעיל
      בכל אופן שים לב שאין קשר בין packer לתוכנה כזאת - זרימת הקוד בתוכנה הזאת היא רגילה לחלוטין וכל disassembler יצליח לקרוא אותה בצורה תקינה
      ב packer בדרך כלל מצפינים את הנתונים של התוכנה והם נפרסים בהרצה
      בכל אופן הוספתי גרסה שאי אפשר לפענח אותה סטטית בלי לעשות פעולה מסויימת (אתגר...)

      צריך עזרה בשחזור מידע? ייעוץ? egozkokus1@gmail.com

      א תגובה 1 תגובה אחרונה
      0
      • I itapi

        מדהים! 🙂
        אבל קח בחשבון ש98% מהאנשים שקוראים את זה,לא מבינים 98% ממה שאמרת 🙂

        מתכנת חובבמ מנותק
        מתכנת חובבמ מנותק
        מתכנת חובב
        מדריכים
        כתב נערך לאחרונה על ידי
        #8

        @itapi אני יודע אבל אם הייתי צריך להסביר הכל היה יותא לי ספר אז החלטתי לוותר ומי שיבין או ירצה ללמוד את התחום - נתתי לו נקודות להיאחז בהם

        צריך עזרה בשחזור מידע? ייעוץ? egozkokus1@gmail.com

        תגובה 1 תגובה אחרונה
        0
        • מ מחנה ידידים

          אין אפשרות לצפצוף פחות מבהיל? 😢

          מתכנת חובבמ מנותק
          מתכנת חובבמ מנותק
          מתכנת חובב
          מדריכים
          כתב נערך לאחרונה על ידי
          #9

          @מחנה-ידידים סליחה לא התכוונתי - תאשים את הדומיין של הפורום שאותו זה מנגן 😉
          אם התדר היה יותר נמוך זה היה יותר טוב אבל אהבתי את הצליל
          זה הזכיר לי משחק כזה שהיה לי בתור ילד - של פסים צבעוניים כאלו שמקישים עליהם עם פטיש (לא זוכר את השם של הכלי)

          צריך עזרה בשחזור מידע? ייעוץ? egozkokus1@gmail.com

          א.מ.ד.א תגובה 1 תגובה אחרונה
          0
          • מתכנת חובבמ מתכנת חובב

            @מחנה-ידידים סליחה לא התכוונתי - תאשים את הדומיין של הפורום שאותו זה מנגן 😉
            אם התדר היה יותר נמוך זה היה יותר טוב אבל אהבתי את הצליל
            זה הזכיר לי משחק כזה שהיה לי בתור ילד - של פסים צבעוניים כאלו שמקישים עליהם עם פטיש (לא זוכר את השם של הכלי)

            א.מ.ד.א מנותק
            א.מ.ד.א מנותק
            א.מ.ד.
            כתב נערך לאחרונה על ידי
            #10

            @מתכנת-חובב כתב בשיתוף | התוכנה הכי קטנה בעולם עכשיו גם מנגנת:

            זה הזכיר לי משחק כזה שהיה לי בתור ילד - של פסים צבעוניים כאלו שמקישים עליהם עם פטיש (לא זוכר את השם של הכלי)

            קסילופון

            מפתח אפליקציות אנדרואיד
            em0548438097@gmail.com

            תגובה 1 תגובה אחרונה
            2
            • מתכנת חובבמ מתכנת חובב

              @אלדד-הדני-0 עיין בעדכון של הפוסט לעיל
              בכל אופן שים לב שאין קשר בין packer לתוכנה כזאת - זרימת הקוד בתוכנה הזאת היא רגילה לחלוטין וכל disassembler יצליח לקרוא אותה בצורה תקינה
              ב packer בדרך כלל מצפינים את הנתונים של התוכנה והם נפרסים בהרצה
              בכל אופן הוספתי גרסה שאי אפשר לפענח אותה סטטית בלי לעשות פעולה מסויימת (אתגר...)

              א מנותק
              א מנותק
              אלדד הדני 0
              כתב נערך לאחרונה על ידי
              #11

              @מתכנת-חובב כתב בשיתוף | התוכנה הכי קטנה בעולם עכשיו גם מנגנת:

              בכל אופן שים לב שאין קשר בין packer לתוכנה כזאת - זרימת הקוד בתוכנה הזאת היא רגילה לחלוטין וכל disassembler יצליח לקרוא אותה בצורה תקינה
              ב packer בדרך כלל מצפינים את הנתונים של התוכנה והם נפרסים בהרצה

              כמובן.
              רק שPACKERים מתקדמים מצפינים את שיטות ההצפנה עצמן בהידרים של הקובץ

              מתכנת חובבמ תגובה 1 תגובה אחרונה
              0
              • א אלדד הדני 0

                @מתכנת-חובב כתב בשיתוף | התוכנה הכי קטנה בעולם עכשיו גם מנגנת:

                בכל אופן שים לב שאין קשר בין packer לתוכנה כזאת - זרימת הקוד בתוכנה הזאת היא רגילה לחלוטין וכל disassembler יצליח לקרוא אותה בצורה תקינה
                ב packer בדרך כלל מצפינים את הנתונים של התוכנה והם נפרסים בהרצה

                כמובן.
                רק שPACKERים מתקדמים מצפינים את שיטות ההצפנה עצמן בהידרים של הקובץ

                מתכנת חובבמ מנותק
                מתכנת חובבמ מנותק
                מתכנת חובב
                מדריכים
                כתב נערך לאחרונה על ידי
                #12

                @אלדד-הדני-0 לא מכיר את השיטה אבל גם אם היא קיימת תיארת אותה בצורה מאוד חלקית - כל עוד הקוד זורם בצורה "חלקה" אין הבדל איפה מפזרים אותו אז הם יכלו להסתיר את מה שהם לא מסתירים בהדר בכל מקום אחר בקובץ

                צריך עזרה בשחזור מידע? ייעוץ? egozkokus1@gmail.com

                א תגובה 1 תגובה אחרונה
                0
                • מתכנת חובבמ מתכנת חובב

                  @אלדד-הדני-0 לא מכיר את השיטה אבל גם אם היא קיימת תיארת אותה בצורה מאוד חלקית - כל עוד הקוד זורם בצורה "חלקה" אין הבדל איפה מפזרים אותו אז הם יכלו להסתיר את מה שהם לא מסתירים בהדר בכל מקום אחר בקובץ

                  א מנותק
                  א מנותק
                  אלדד הדני 0
                  כתב נערך לאחרונה על ידי
                  #13

                  @מתכנת-חובב צודק, אבל כך למדתי פעם...😉

                  תגובה 1 תגובה אחרונה
                  0
                  • מתכנת חובבמ מתכנת חובב

                    כנראה את רובכם זה לא יעניין אבל היה לי קצת זמן היום אז התקדמתי עם התוכנה ששיתפתי כאן ולאלו שלא ראו אותה בזמנו - מדובר בשיטה שנקראת PE golfing ובה כותבים תוכנות קטנות ומתומצתות באסמבלי או לפעמים ממש בבינארי (יותר נכון הקסה - דצימלי)
                    גיליתי את זה לפני כמה ימים ומאז שיחקתי עם זה קצת ולמדתי את מגבלות הפורמט
                    השיטה היא כתיבת קוד מזערי ביחד עם דחיסה של הפורמט עצמו - ה PE header ממש יושב בתוך ה MZ header (בהיסט של 4 בתים בגלל ה section alignment שיוצא בדיוק ב e_lfanew) וכמובן שאין DOS stub ואז הקוד יושב על ה data directories וחלקים ממנו בשדות לא קריטיים ב PE header או ב optional header
                    התוכנה שפירסמתי שם הקפיצה הודעת hello world ועכשיו שידרגתי את זה שגם ינגן את התווים של mitm.top כשהם כתובים ב ASCII ומפורשים כתדר שמוכפל ב 32 (shift left של 5 ביטים)
                    זה מנוגן באמצעות הפונקציה Beep של kernel32 וכיוון שהיא סינכרונית זה קודם מנגן ואז פותח את ההודעה
                    לדעתי יכול להיות אתגר מעולה למי שמחפש ללמוד על המבנה של קבצי PE או אסמבלי x86 אתגרי
                    התוכנה שוקלת 268 בתים בלבד שמתוכם על 3 הייתי יכול לוותר אבל לווינדוס 11 יש מגבלה של מינימום בתים לקובץ הרצה (לעומת תוכנה מקבילה שהייתה נכתבת ב C שהייתה שוקלת כנראה כמה עשרות ק"ב עריכה: הצלחתי לכתוב תוכנה כזאת ב C שיצאה לי אחרי קמפול ב GCC במשקל של 2560 בתים אם כי נראה לי שהיה אפשר להרזות אותה עוד יותר גם בקמפול תקני (גילוי נאות ג'מיני עזר לי לקמפל את זה כל כך קטן - לא היה לי זמן ללמוד את האופציות ש GCC נותן))
                    hello_&_beep.exe

                    כמענה למה שכתב @אלדד-הדני-0 אני מצרף פה גרסה שלא ניתנת להנדסה לאחור בצורה רגילה בניתוח סטטי (בדקתי עם ghidra ו IDA במצב זיהוי אוטומטי) - אתגר קל למי מכאן שאוהב אתגרי RE
                    hello_&_beep_no_RE.exe

                    א מנותק
                    א מנותק
                    אביגדור ברמן
                    כתב נערך לאחרונה על ידי אביגדור ברמן
                    #14

                    @מתכנת-חובב נשמח לקבל את הבינארי

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

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

                    א מתכנת חובבמ 2 תגובות תגובה אחרונה
                    0
                    • ה מנותק
                      ה מנותק
                      המלאך
                      כתב נערך לאחרונה על ידי
                      #15

                      @מתכנת-חובב אתה מקצוען!!
                      מטורף!!!

                      תגובה 1 תגובה אחרונה
                      0
                      • א אביגדור ברמן

                        @מתכנת-חובב נשמח לקבל את הבינארי

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

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

                        א מנותק
                        א מנותק
                        אלדד הדני 0
                        כתב נערך לאחרונה על ידי
                        #16

                        @אביגדור-ברמן כתב בשיתוף | התוכנה הכי קטנה בעולם עכשיו גם מנגנת:

                        אפשר גם לעשות וירוס כזה קטן?

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

                        נ.ב. אם אם אתה צריך קוד קטן ממש, תשקול תכנות בRUST, אחד הדברים המיוחדים בקומפיילר שלו שהוא יודע להשמיט את הפונקציות שלא ממומשות בקוד, כך שאם אתה למשל משתמש בספרית VECTOR זה לא יקמפל לך את כל הפונקציות והווריאציות והווריאי-ווריאציות של VECTOR, נניח..., וכשזה מקומפל עם STRIP ועם SIZE-OPTIMIZED זה בכלל מגיע להישגים יפים מאוד

                        תגובה 1 תגובה אחרונה
                        1
                        • א אביגדור ברמן

                          @מתכנת-חובב נשמח לקבל את הבינארי

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

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

                          מתכנת חובבמ מנותק
                          מתכנת חובבמ מנותק
                          מתכנת חובב
                          מדריכים
                          כתב נערך לאחרונה על ידי
                          #17

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

                          צריך עזרה בשחזור מידע? ייעוץ? egozkokus1@gmail.com

                          תגובה 1 תגובה אחרונה
                          1

                          • התחברות

                          • אין לך חשבון עדיין? הרשמה

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