תרגול מבנה PE וטעינה לזיכרון¶
הריצו את הכלי על שני תוצרים שיצרתם, ורשמו Machine, מספר sections ו־entry RVA. השוו לפלט dumpbin /headers. הסבירו מדוע entry RVA אינו היסט בקובץ ואינו בהכרח הכתובת של main.
כתבו פונקציה שמקבלת תיאור section ובקשת RVA עם אורך ומחזירה file offset רק אם כל הטווח מגובה בבתים בקובץ. בדקו גם overflow וגם טווח שנכנס לזנב הווירטואלי המאופס.
צרו עותקים קטועים באורכים שונים, ועותק שבו e_lfanew הוא 0xffffffff. הכלי צריך לדחות אותם בלי לנסות לטעון אותם.
נתחו מקרה שבו הבסיס המועדף הוא 0x140000000, הבסיס בפועל הוא 0x180000000 וכתובת מוחלטת מסוימת היא 0x140002000. חשבו את הערך אחרי relocation מתאים והסבירו למה אי אפשר להוסיף את אותו הפרש לכל מספר בקובץ.