Yoni

עמוד

התגובות שלי בפורום

מוצגות 15 תגובות – 46 עד 60 (מתוך 64 סה״כ)
  • מאת
    תגובות
  • בתגובה ל: שאלה באסמבלר #79285
    Yoni
    משתתף

    כותרת: תחת Win98…
    יכולתי לגרום למסך כחול "לא מזיק" להופיע ע"י פסיקת
    int 0
    או
    into.

    יתכן שזה עובד גם ב-95 וב-ME.

    בשביל לגרום למסך כחול (אמיתי) ב-WinNT/2K/XP תצטרך לעשות קצת יותר (לכתוב דרייבר שקורס במצב 0 ולגרום לקורבן להתקין אותו).

    בתגובה ל: איתור מודיעין-ממ"ש #79273
    Yoni
    משתתף

    כותרת: מי פירט עליהם?

    Yoni
    משתתף

    כותרת: LOL
    אני בטוח לא עליתי בפיזיקה, זה פשוט לא התחום שלי.
    (אני טוב בזה אבל לא מתעניין כמו במתמטיקה ומדעי המחשב…)

    באותו הזמן? מה הם חושבים שאין אנשים שטובים בשני התחומים? באסה.
    לאיזה תחרות תלך?

    בתגובה ל: איתור מודיעין-ממ"ש #79263
    Yoni
    משתתף

    כותרת: חברים שלי (שנמצאים שם) אומרים שכן,
    אבל הם לא יכולים לומר לי מה הם עושים שם. לא נורא.

    Yoni
    משתתף

    כותרת: חייה! מקום ראשון!


    בתגובה ל: סידור מספרים… #79241
    Yoni
    משתתף

    כותרת: TheWizard: לא הגיוני לפי הרמז
    "רמז -אפשרי מצב שבו מס´ המופעים של מס´ מסויים הוא 0"

    בתגובה ל: אופי השאלון בשלב ב´. #79223
    Yoni
    משתתף

    כותרת: גם אתה היית שם?
    איך מוכיחים את המקבילית???

    =)
    ובכלל, איך היה?

    בתגובה ל: שאלה #79214
    Yoni
    משתתף

    כותרת: אני זוכר את זה ככה –
    נגדיר "רדיוס" של ריבוע בתור חצי מהצלע שלו.
    נקבל שהשטח של ריבוע הוא
    4R^2
    וההיקף הוא
    4*2R
    נשרטט מעגל החסום בתוך הריבוע.
    למעגל יהיה אותו רדיוס כמו הריבוע – לכן השטח וההיקף יהיו מאותו "סדר גודל"… רק צריך לשנות את הקבוע 4 האופייני לריבוע לפאי, האופייני למעגל.

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

    בתגובה ל: שמעתי שאין מספיק נרשמים לתחרות #79209
    Yoni
    משתתף

    כותרת: תוכל בבקשה להגיד לי מי אתה?
    אני לא אכעס =)

    בתגובה ל: עזבו אתכם פסקל…. #79208
    Yoni
    משתתף

    כותרת: תיקון: מחזירה משתנה = מחזירה ערך*
    אופס=)

    בתגובה ל: עזבו אתכם פסקל…. #79207
    Yoni
    משתתף

    כותרת: דניאל צודק:
    למי שלא יודע, הפקודה
    call x
    שקולה לפקודות (השנייה לא באמת קיימת)
    push return_address
    mov eip, x

    והפקודה
    ret
    שקולה לפקודה (שלא באמת קיימת)
    pop eip

    וזהו ההסבר בקצרה של ה-Call stack.

    בקשר ל-goto: אני לא מכיר קומפיילר שיתן לך לעשות משהו כמו
    goto HeapFree
    וגם אם כן, איך תעביר פרמטרים?
    בקיצור הכי כדאי לעשות כאן Inline ASM.

    דרך אגב, יש שימוש ל-goto!
    חבר שלי פעם יצר מנגנון להצפנת פונקציות בזמן אמת. כלומר: בקובץ ה-exe חלק מהפונקציות מוצפנות, וכאשר מתבצעת קריאה לפונקציה מוצפנת, היא מבצעת "Decrypt" לעצמה, מבצעת את הקוד, ובסוף מצפינה את עצמה שוב. (כלומר בכל פונקציה מוצפנת, הקוד "גלוי" רק כאשר הפונקציה מתבצעת.)

    לצורך העניין היו לו שני מאקרו-ים: ENCRYPT_START ו-ENCRYPT_END, ופונקציה מוצפנת נראית ככה:
    void f()//0
    {
    ENCRYPT_START
    // code
    ENCRYPT_END
    }

    בפונקציה מוצפנת שמחזירה משתנה, אי אפשר לעשות return כי אז זה ידלג על ה-ENCRYPT_END. הפתרון היה:
    int g()//0
    {
    int retval = 0;//0
    ENCRYPT_START
    // …code…
    retval = 1; goto end;//0
    // …code…
    end://0
    ENCRYPT_END
    return retval;//0
    }

    בתגובה ל: חידה לא קלה #79203
    Yoni
    משתתף

    כותרת: הפורום קצת הרס לי את המשוואות…
    הדוגמה היא:
    מינוס 32760 פחות 10 שווה 32766.
    וכן להפך, 32766 ועוד 10 שווה מינוס 32760.
    התוצאה נשארת זוגית ולכן האלגוריתם שלי עדיין עובד.

    בתגובה ל: חידה לא קלה #79202
    Yoni
    משתתף

    כותרת: לא נראה לי שזה משנה…
    כל עוד המספר הראשון נשאר זוגי, גם אם הוא עובר מעבר למקסימום/מינימום הערכים שלו הוא ישאר זוגי…
    למשל: (נניח 16 סיביות)
    -32760 – 10 = 32766
    וכן
    32766 + 10 = -32760

    בתגובה ל: עזבו אתכם פסקל…. #79199
    Yoni
    משתתף

    כותרת: ASM4LIFE
    סתם… =)
    השפה האהובה עלי זה ערבוב של C ו-C++ עם קצת Inline ASM.
    חשבתי פעם על C מול C++ והגעתי למסקנה שיש המון דברים ש-"אי אפשר" לתכנת ב-C++ (כלומר אובייקטים יהיו שם ממש רעיון גרוע), אך כמובן ש-C++ זה דבר טוב בהרבה מקרים. אז אני מערבב בין השניים.
    בקשר ל-Inline ASM, חוץ מהעניין של האופטימיזציה, הגעתי לפני כמה ימים לדבר חביב שאי-אפשר לפתור אותו בלי Inline ASM. (ב-Win32)
    פונקציה אחת מקצה בלוק זיכרון, והופכת אותו ל"בר-ביצוע" (executable) באמצעות VirtualProtect. היא מעתיקה פונקציה שנייה לאותו בלוק זיכרון ואז קוראת לה דרך שם. לצורך העניין הפונקציה השנייה צריכה לשחרר את הזיכרון שבה היא נמצאת.
    אם נקרא לפונקציה המשחררת, אז כשהיא תחזור ה-EIP יהיה בלתי חוקי והתוכנה תקרוס.
    פתרתי את זה בערך ככה:
    push MemBlock
    push 0
    call GetProcessHeap
    push eax
    jmp HeapFree
    מתי שה-HeapFree תגיע ל-ret היא תחזור ישר לפונקציה שקראה לפונקציה הזאת. נחמד לא?

    בתגובה ל: חידה לא קלה #79196
    Yoni
    משתתף

    כותרת: מה נשמע יובל?
    אמרנו 11 7 3 9…
    עם האלגוריתם שלי:
    Add(1, 2, -3);//0
    Add(1, 3, -7);//0
    Add(1, 4, -11);//0
    Add(1, 2, 6);//0
    Add(2, 3, -6);//0
    Add(1, 3, 6);//0
    והכל אפס. מה רע?

מוצגות 15 תגובות – 46 עד 60 (מתוך 64 סה״כ)