GammaCyber

כתיבת קוד — שיעור 29

מ-C לאסמבלי — Reverse Engineering בסיסי

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

T3 · בינוני300 נק'~18 דק'analysis
Decompilation — מה מחשב הקוד?
ה-Assembly הבא מקבל n ב-rdi. עקבו אחריו והבינו מה הוא מחשב. עבור n=6 (rdi=6), מהו הערך הסופי ב-rax? הגישו מספר עשרוני. ; rdi = n (הקלט) xor eax, eax ; sum = 0 xor ecx, ecx ; i = 0 .loop: cmp ecx, edi jg .done ; אם i > n -> יציאה add eax, ecx ; sum += i inc ecx ; i++ jmp .loop .done: ; rax = התוצאה
דוגמאות
(פורמט) → מספר, למשל 21
פתרון-ייחוס Decompilation — מה מחשב הקוד? ›
הלולאה סוכמת i מ-0 עד n כולל → סכום משולשי. עבור n=6: 0+1+2+3+4+5+6 = 21.
הפתרון נשמר מקומית אוטומטית.