Idan Dor

עמוד

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

מוצגות 15 תגובות – 31 עד 45 (מתוך 60 סה״כ)
  • מאת
    תגובות
  • Idan Dor
    משתתף

    <p style="text-align: right;">אני לא יודע באיזה אסמבלר אתה משתמש, אבל אני מציע שתנסה:</p>
    <p style="text-align: right;">label3 – label1</p>
    <p style="text-align: right;">לגבי השאלה השנייה שלך, אני יכול לומר לך את התשובה אבל נראה לי יהיה יותר נחמד אם תחפש שורד שמשתלט על זומבי ותנסה להבין איזה פקודה הוא מפציץ במקום JMP</p>
    <p style="text-align: right;"></p>

    בתגובה ל: שאלות על הזומבי של תחרות 9.5 #81503
    Idan Dor
    משתתף

    <p style="text-align: right;">לגבי איפה ההפצצה, תסתכל על הקוד שלו ככה:</p>
    <p style="text-align: right;">קפיצה</p>
    <p style="text-align: right;">קוד שלא רץ אף פעם</p>
    <p style="text-align: right;">קוד איתחול</p>
    <p style="text-align: right;">לולאה</p>
    <p style="text-align: right;">קוד שלא רץ אף פעם</p>
    <p style="text-align: right;"></p>
    <p style="text-align: right;">אתה רוצה לפגוע בהפצצה החכמה בקוד שהלולאה והקוד שלא רץ אף פעם חולקים, זה שישה בתים שמתוכם אתה בוחר ארבע לפגוע בהם.</p>
    <p style="text-align: right;"></p>
    <p style="text-align: right;">לגבי למה אתה לא מצליח להרוג את הזומבים- אתנ צריך לזכור שהמנוע רושם את</p>
    <p style="text-align: right;">0x1234</p>
    <p style="text-align: right;">בתור</p>
    <p style="text-align: right;">0x3412</p>
    <p style="text-align: right;">כאשר כותבים על הזירה ולכן במקום:</p>
    <p style="text-align: right;"><span style="color: #656565; font-family: Montserrat, sans-serif; font-size: 12px; line-height: 18px; background-color: #fbfbfb;">mov ax, 0E2F4h</span><br style="color: #656565; font-family: Montserrat, sans-serif; font-size: 12px; line-height: 18px; background-color: #fbfbfb;" /><span style="color: #656565; font-family: Montserrat, sans-serif; font-size: 12px; line-height: 18px; background-color: #fbfbfb;">mov dx, 0BEA0h</span></p>
    <p style="text-align: right;">צריך להיות לך:</p>
    <p style="text-align: right;"><span style="color: #656565; font-family: Montserrat, sans-serif; font-size: 12px; line-height: 18px; background-color: #fbfbfb;">mov ax, 0F4E2h</span><br style="color: #656565; font-family: Montserrat, sans-serif; font-size: 12px; line-height: 18px; background-color: #fbfbfb;" /><span style="color: #656565; font-family: Montserrat, sans-serif; font-size: 12px; line-height: 18px; background-color: #fbfbfb;">mov dx, 0A0BEh</span></p>
    <p style="text-align: right;">ואז זה יעבוד לך.</p>
    <p style="text-align: right;"></p>

    בתגובה ל: שאלות על הזומבי של תחרות 9.5 #81498
    Idan Dor
    משתתף

    <p style="text-align: right;">אני לא יודע באיזה זומבים אתה משתמש אבל הם לא מתים באופקוד ה 17 כשאין שום שורדים שיהרגו אותם, תבדוק את הגרסא שאתה משתמש בה לזומבים.</p>
    <p style="text-align: right;">כשאני אומר שהקוד לא רץ שוב אני מתכוון שהוא מריץ כמה דברים להיתחול ואז נכנס ללולאה, מה שאומר שהוא לא מריץ את חלקי האיתחול שוב והוא מריץ את החלק הזה יותר מהר ממהשאתה יכול לעשות 87 אז אי אפשר להשתלט עליהם דרך החיבור של של השכפולים הראשון והשני, לעומת זאת מכיוון שהזומבי נכנס ללולאה אז אפשר לפגוע בסוף הלולאה בעזרת ה 87 ובכך להשתלט עליו.</p>
    <p style="text-align: right;">וכפי שאמרתי יש לולאה והוא לא מת באופקוד ה 17.</p>

    בתגובה ל: שאלות על הפצצה חכמה. #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>

    בתגובה ל: שאלות על הזומבי של תחרות 9.5 #81472
    Idan Dor
    משתתף

    <p style="text-align: right;"> אוקיי לגבי השאלה הראשונה שלך עניתי למעלה על זה חלק של הקוד צריך להתקיף (צריך לשים לב שזה נמצא בחלק המשתוף לשני עותקים כדי שהטריק יעבוד) בכל מקרה בזומבים האלו חייבים להתקיף מלמטה אחרת פוגעים בקוד שרץ מהר מידי לפני שאפשר להכין את התקיפה והקוד הזה לא רץ שוב אז אין דרך לפגוע בו.</p>
    <p style="text-align: right;">לגבי השאלה איך לתקן את הבעיה – בתור אחד שקרא את כמעט כל מנצחי העבר מכל התחרויות אני יכול לחשוב רק על שורד בודד שהיה מוגן לחלוטין מהפצצה חכמה וגם אותו אפשר להרוג עם עושים את זה נכון, אני ישאיר לך את זה בתור חידה למצוא את מה שהכי יגן עליך (אי אפשר גם להכין שורד טוב וגם שהוא יהיה מוגן בצורה מושלמת מהפצצה חכמה, אפשר לעומת זאת לעשות שינויים מסוימים בין השלבים כדי להגן עליו מהפצצה חכמה מהמשתתפים באותו יום), בהצלחה עם להבין איך להתגונן הכי טוב.</p>
    <p style="text-align: right;">בכל מקרה לגבי איפה רשום- sub si, 2</p>
    <p style="text-align: right;">התשובה היא לא רשום, או יותר יכול לא באמת רשום. ההגדרה של פקודת lodsw היא:</p>
    <p style="text-align: left;">mov ax, [word si]</p>
    <p style="text-align: left;">if (Direction Flag)</p>
    <p style="text-align: left;">           sub si, 2</p>
    <p style="text-align: left;">else</p>
    <p style="text-align: left;">           add si, 2</p>
    <p style="text-align: right;">זה לא רשום איפהשהו זה פשוט מה שהפקודה עושה.</p>

    בתגובה ל: שאלות על הפצצה כבדה. #81169
    Idan Dor
    משתתף

    <p style="text-align: right;">כפי שרשמתי בעבר על מיקום אבסולוטי, מחשבים אותו כך:</p>
    <p style="text-align: right;">segment * 0x10 + address</p>
    <p style="text-align: right;">והזירה היא במיקום:</p>
    <p style="text-align: right;">0x10000 – 0x1ffff</p>
    <p style="text-align: right;">ולכן אם es = 1000</p>
    <p style="text-align: right;">ו di = 0</p>
    <p style="text-align: right;">אתה תפגע בשורה הראשונה בזירה במיקום:</p>
    <p style="text-align: right;">0x10000 – 0x100ff</p>

    בתגובה ל: שאלות על הזומבי של תחרות 9.5 #81168
    Idan Dor
    משתתף

    <p style="text-align: right;">אני יענה על השאלות באנגלית לשם נוחות:</p>
    <p style="text-align: left;">The reason that the zombie loads the address 0x95a0 into si, is that the command "lodsw" loads from location [si] into ax, the location si is pointing to is the "talking location"  that the survivors and the zombie talk in.</p>
    The answer to the next two questions is connected. The opcode "jnc 0x1c" jumps into itself, the location 0x1c in the zombie isnt 00028 like you said but its in 000001c which is in the middle of the jnc command, after the jumping the game engine see's the hex values of "0xff0c90" which he translates into "dec word [si]" and "nop". the reason for the "or al,0x90" command existence is for the zombie to hide the fact that it's running the command dec word [si], the reason that the 0x90 is there is to make sure it doesnt look suspicious that because 0x90 = nop, a commmand that does nothing.

    The command lodsw also after loading the information into ax does "add si, 2", so to change si back to the original location the zombie must do "sub si, 2", instead of doing that the zombie can also do the commands "std" and "lodsw", the command std (Set Direction Flag) makes commands like lodsw "mov backwards" instead of adding 2 to si everytime, lodsw will do sub si, 2 after running, of course afterwards a cld (Clear Direction Flag) is needed to make sure lodsw will move in the right direction again. Basically the by doing the commands "lodsw …. std lodsw cld" is loading information into ax, then changing the si back to what it was. (Of course its not efficient because a simple "sub si, 0x2" could have been used but never mind)

    The zombie code is copied 3 times in so that every part is written 3 times and therefore cant be smart bombed, BUT oded didn't do it correctly, here is an example:

    Lets say the code of the program is 1234567890. Now if we copy the code 3 times it will look like this: 1234567890 1234567890 1234567890

    it might look like its protected but if we use std (Set Direction Flag) the int 0x87 will run backwards on the end of the code and the beginning of the next copy (for example 9012) we will see that its not protected. As I already published in the forum, in the zombie the unprotected bytes are: 0xE2F4BEA0

    Which is the end of the second copy and the beginning of the third one. (Important to remember to use std before the int 0x87 to make sure to hit the part between the second and third copies and not the first and the second)
    <p style="text-align: right;">הסברתי את זה באנגלית כי זה יותר נוח מאשר לעבור שפה כל פעם אז אם משהו לא היה ברור תשאל ואני ישמח לענות.</p>

    בתגובה ל: רעיונות לשיפור מנוע המשחק #77792
    Idan Dor
    משתתף

    העלינו את המנוע לפורום ולגיטהאב:
    http://codeguru.co.il/CS/forums/3634/ShowPost.aspx

    בתגובה ל: רעיונות לשיפור מנוע המשחק #77795
    Idan Dor
    משתתף

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

    בתגובה ל: רעיונות לשיפור מנוע המשחק #77802
    Idan Dor
    משתתף

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

    בתגובה ל: ?פירסם ZORGאיך מורידים את התוכנות ש #77810
    Idan Dor
    משתתף

    אתה לוחץ על הפרויקט שאתה רוצה להוריד ואז בצד ימין למטה יש את הכפתור:
    Download ZIP
    וסיימתה

    בתגובה ל: מתי מפרסמים את הזומבים לתחרות 9.5? #77814
    Idan Dor
    משתתף

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

    בתגובה ל: איך אני נרשם לקודגורו 9.5?? #77815
    Idan Dor
    משתתף

    אני חושב שצריך – והדרך הכי פשוטה היא בעזרת האימייל של עודד:
    support@codeguru.co.il
    תשלח לו אימייל עם פרטי הקבוצה, שם הקוצה, שמות המשתתפים בה, בית הספר שבו אתם לומדים וכו

    בתגובה ל: מתי מפרסמים את הזומבים לתחרות 9.5? #77826
    Idan Dor
    משתתף

    לגבי מתי התחרות – יום אחרון של פסח בערך 22.4 אני חושב

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

    בתגובה ל: שינוי הסגמנטים #77845
    Idan Dor
    משתתף

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

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