איך האקר השתמש בפייתון כדי לחלץ את קוד המקור ל'אחים סופר מריו '.

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

  • תמונה: מתיו ארל

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

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



    נינטנדו מעולם לא פרסמה את קוד המקור הרשמי ל- NES או לאף אחד ממשחקיה, אך האקרים חרוצים תכננו את הקוד בהפרדתם על ידי מחזירים אותו לבד . ארל העביר את הקוד הזה דרך ספריית פייתון בשם py65emu המדמה את קוד ההרכבה של מכונת NES. משם הוא בנה תוכנית שמיירטת את הנתונים הוויזואליים כשהם בדרך מהזיכרון ליחידת עיבוד התמונה ועיבדה אותם באמצעות פייתון. ועם זה, הצלחנו לחלץ תמונות ברמה מ- SMB, אך ורק בפייתון, כתב ארל.



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



    מאמרים מעניינים