שאלות על הפצצה חכמה.

עמוד
מוצגות 4 תגובות – 1 עד 4 (מתוך 4 סה״כ)
  • מאת
    תגובות
  • #80350
    ddt
    משתתף

    רוצה לוודא גם כמה נקודות בהקשר של הפצצה חכמה.

    1) מה המשפט הבא אומר: "הפצצה זו תחפש רצף של ארבע בתים (אשר יכולים להיות ארבע בתים של השורד המותקף) על גבי הסגמנט (64 קילו בית) הראשון"?
    החלק של ה"סגמנט (64 קילו בית) הראשון" הוא ממש לא ברור.

    2) מאיפה מתחילים לחפש את ה 4 בתים? מתחילת הזירה? מכתובת כלשהי? האם אפשר להשפיע איפה להתחיל את החיפוש?

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

    #80824
    CodeGuru
    מנהל בפורום

    הדרך לענות על שאלות כאלה היא לקרוא את קוד המקור של המנוע.

    אם לא הבנת מהתיעוד – הוא כנראה לא מוצלח. אתה מוזמן להבין מקוד המקור (הוא תמיד חד ערכי) ולהציע ניסוח יותר מוצלח.

     

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

    #81127
    ddt
    משתתף

    לגבי הפצצה חכמה –
    הסתכלתי במנוע ועל פניו אתה צודק לגבי מאיפה מתחיל החיפוס (כתובת אפס):   for (int i = 0; i <= 0xFFFF; ++i) {
    אבל הדוגמה הבאה אומרת ששמים ב DI אפס כדי להגיד שמתחילים לחפש מאפס אז ייתכן וצריך לבדוק את הנקודה האם זה מתחיל תמיד באפס.

    push cs
    pop es
    xor di,di
    mov ax, 39d8h
    mov dx, 7405h
    mov cx, 0cccch
    mov bx,cx
    int 87h

    אז לא ברור לי למה שמו ב DI אפס ומה התפקיד שלו בהפצצה החכמה.

     

    #81475
    Idan Dor
    משתתף

    <p style="text-align: right;">מאיפה קטע הקוד הזה?</p>
    <p style="text-align: right;">בכל מקרה לאחר בדיקה מהירה עם שתי השורדים הבאים ודיבאגר ניתן לראות כי</p>
    <p style="text-align: right;">DI</p>
    <p style="text-align: right;">אינו משפיע על ה 87 אתה מוזמן לבדוק בעצמך.</p>
    <p style="text-align: right;">שורד א:</p>
    <p style="text-align: right;">mov word [0x10], 0x5050</p>
    <p style="text-align: right;">@Here:</p>
    <p style="text-align: right;">jmp @Here</p>
    <p style="text-align: right;">שורד ב:</p>
    <p style="text-align: right;">push cs</p>
    <p style="text-align: right;">pop es</p>
    <p style="text-align: right;">mov di, 0x100</p>
    <p style="text-align: right;">mov ax, 0x5050</p>
    <p style="text-align: right;">mov dx, 0xcccc</p>
    <p style="text-align: right;">mov cx, dx</p>
    <p style="text-align: right;">mov bx,cx</p>
    <p style="text-align: right;">int 87h</p>
    <p style="text-align: right;">@Here:</p>
    <p style="text-align: right;">Jmp @Here</p>
    <p style="text-align: right;">(הסיבה שזה בשתי שורדים שונים זה בשביל שיהיה ניתן לראות הבדל צבע)</p>
    <p style="text-align: right;">מה שנובע מזה כמובן זה שמי שכתב את קטע הקוד הזה התבלבל קצת, או שהוא סתם לא מיהר להשתמש ב 87 והחליט לאפס את האוגר.</p>
    <p style="text-align: right;">דבר נוסף שנובע מהניסוי – תוכנות עושות בדיוק מה שכתוב להם בקוד לעשות ולא דברים מוזרים…</p>

מוצגות 4 תגובות – 1 עד 4 (מתוך 4 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.