מהו קובץ PYC?
קובץ PYC הוא קובץ פלט מהול שנוצר מקוד מקור שנכתב בשפת התכנות Python. כאשר קובץ PY מופעל באמצעות מתורגמן Python, הוא מומר ל-bytecode לביצוע. במקביל, קוד ה-byte-קומפילציה נשמר גם כקובץ .pyc כדי לעשות שימוש חוזר מהמטמון במועד מאוחר יותר, אם ישים.
מבנה פורמט קובץ PYC
קובצי PYC נמצאים בקוד בתים ומפרטי פורמט הקובץ שלהם אינם זמינים לציבור. עם זאת, חקירה של מקורות מסוימים מראה שמבנה של קובץ PYC מורכב מ:
מספר קסם של ארבעה בתים
- פשוט שני בתים המשתנים עם כל שינוי בקוד ה-Marshalling, ולאחר מכן שני בתים של 0d0a.A four-byte modification timestamp
- חותמת זמן שינוי Unix של קובץ המקור שיצר את ה-.pyc, כך שניתן להידור מחדש אם המקור משתנה.A marshalled code object
- הפלט של marshal.dump של אובייקט הקוד שהוא תוצאה של קומפילציה של קובץ המקור.