Dave

עמוד

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

מוצגות 4 תגובות – 1 עד 4 (מתוך 4 סה״כ)
  • מאת
    תגובות
  • בתגובה ל: הרבה שאלות על CALL FAR #82886
    Dave
    משתתף

    היי, יש לך הרבה שאלות אז אני אנסה לעזור לך ולתת לך כיוון ראשוני.
    ראשית, מה זה call far בכלל?
    http://ece425web.groups.et.byu.net/stable/labs/8086InstructionSet.html#call
    כשאתה קורא לפקודת call אתה בעצם דוחף את IP למחסנית וקופץ לכתובת שציינת. ההבדל בין call far לcall near הוא האם הכתובת נמצאת בסגמנט הנוכחי. אם כן, הרי שהכתובת שלך תהיה של 2 בתים, ואם היא תהיה בסגמנט אחר, הרי שהכתובת תהיה של 4 בתים.
    ההבדל הזה יוצר את החוזק של המתקפה הזו. כאשר אתה עושה שורד מבוסס call far (זאת הטרמינולוגיה שאני משתמש בה) אתה תעביר את סגמנט המחסנית אל הזירה (דוגמה בהמשך), וכך בכל פעם שתשתמש בcall far אתה תזרוק לזירה (שהיא המחסנית שלך) את IP שהוא בגודל של 4 בתים. כלומר בכל תור אתה יכול לכתוב 4 בתים על המסך. אם כן, קצב התקיפה שלך הוא 4 בתים בתור!

    עכשיו איך אנחנו ממש משתמשים בהתקפת call far? הנה שורד דוגמה שאני וחברי לצוות כתבנו.

    push ds
    push es
    pop ds
    pop es
    push cs
    pop ss
    mov sp,ax
    mov bx, 243h;Random number
    mov cx,ax
    add cx,call_far
    mov word [bx+2], cs
    mov word [bx], cx
    call_far:call dword [bx] 

    אני ממליץ לך להריץ אותו בדיבאגר של קיריל, לראות מה הוא עושה, ולשפר אותו.
    תנסה לשים לב מה השינויים בסגמנטים בהתחלה (רמז, סגמנט הזירה הוא תמיד 1000). תנסה להבין מה השימוש בBX (רמז: יש הבדל בין לכתוב 'BX' לבין '[BX]'). תנסה להבין מה נזרק למסך ולמה. ותנסה להבין למה השורד הזה בדרך כלל הורג את עצמו.
    אחרי שתבין את זה, אתה תוכל לענות על השאלות האחרות בעצמך.

    אם יש לך עוד שאלות, אשמח לעזור.

    בתגובה ל: הצעות לזומבים #77804
    Dave
    משתתף

    לפני הכל מה זה בכלל קול פאר

    http://courses.engr.illinois.edu/ece390/archive/spr2002/books/labmanual/inst-ref-call.html

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

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

    סיאס = CS*

    על כל שאר השאלות ניתנו תשובות מספקות ביותר.

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

    Dave
    משתתף

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

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

    add ax,Zombie ;the place of the code to be run by the zombie
    mov [0BEEFh],ax ; put the address on the screen
    mov ax,02688h ;this is the zombie command to replace
    mov dx,0C4DDh ;it is "mov [0C4DDh],ah"
    mov cx,0BEEFh ;the command the zombie will do
    mov bx,026FFh ; it is :"jmp[0BEEFh]
    push ds;replace the segmants because it replaces in es
    pop es
    int 87h ;switch commands and gain control over zombie

    בתגובה ל: איך תנצחו בקודגורו אקסטרים #77824
    Dave
    משתתף

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

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

    בימים אלו ממש אנחנו מנסים לשכתב אותו כך שיתאים לכולם ושיהיה ניתן להוריד אותו

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

מוצגות 4 תגובות – 1 עד 4 (מתוך 4 סה״כ)