CreateFileMapping: עריכת קבצי PE
פורסם בתאריך 10th מרץ 2011 ע"י vbCrLf
כשהתחלתי לעבוד על פרוייקט קטן ב-C++ שכלל עריכת קבצי PE (קבצי הרצה, EXE או DLL בד"כ) נתקלתי בשיטה ממש נחמדה לעריכת קבצים תחת Windows, ובמיוחד קבצי PE. משימות מסובכות כמו שינוי מאפיינים (גרסה, חברה, וכו'), פאץ' לתוכנה, שינוי אייקון וכל מניפולציה אחרת הופכים להיות עניין של הכנסת וקריאת ערך ממשתנה. הסתכלו לדוגמה על השורות הבאות:
ntHeader->OptionalHeader.MajorImageVersion = 4; ntHeader->OptionalHeader.AddressOfEntryPoint = 0x53a8cd;
הייתם רוצים ששינוי משתנים בצורה כזו יגרור שינוי מיידי של הקובץ? זה אפשרי, והנה הדרך לעשות זאת.