
קושחת SPC970 של PlayStation 2 חולצה לאחר הנדסה לאחור
המפתח DiscoStarslayer חולץ את קושחת SPC970 MechaCon מקונסולות PlayStation 2 המוקדמות. זה ממלא פער משמעותי במחקר החומרה ופותח את הדרך לפתיחה ברמת השבב ולעבודות חדשות באמולציה.
דאמפים של קושחת השבב המוקדם של PS2
יותר מ-25 שנה אחרי השקת PlayStation 2, המפתח DiscoStarslayer חולץ את קושחת SPC970 MechaCon. שבב זה שלט באימות דיסקים ובפונקציות אבטחה בקונסולות המוקדמות. החילוץ אפשר יידי פיצוי Libby.
ב-GitHub פורסמו 22 דאמפים של קושחות: מ-SCPH-15000 היפני מ-2000 ועד סדרת 39000 מ-2002, וכן Namco System 246 ו-256 כרטיסי ארקדה. אלו היו החלקים האחרונים של PS2 שלא נקראו אחרי דאמפ Dragon MechaCon מ-2021.
איך נקרא SPC970
SPC970 מאחסן קוד ב-mask ROM שאינו ניתן לכתיבה, ואת התצורה ב-1KB EEPROM נפרד. spc970-dumper-union ניצל את תהליך הכתיבה ל-EEPROM. סשן כתיבת תצורה עם מספר בלוקים אפס גרם לחריגה של מונה פנימי.
נתונים מעל בופר של שבעה בלוקים גרמו ל-RAM להתמלא, שם מאוחסנת משימת הכתיבה ל-EEPROM. שינוי כתובת המקור שלה כיוון אל ROM של השבב ו-MechaCon העתיק 256 בייטים של קושחה ל-EEPROM. אחרי כ-1000 חזרות הדאמפ המלא של 256KB נקרא מ-USB.
הכלי שומר את ה-EEPROM לפני החילוץ, משחזר מילה-מילה לאחר מכן ומאמת עם checksum בהפעלה. ל-EEPROM אין wear leveling ומשאב כתיבה מועט ב-flash, לכן כל דאמפ מקצר את חייו. הדאמפר מזהיר שהקונסולה עלולה שלא לעבוד או לדרוש תיקון חומרה.
עבודות אפשריות בחומרה ובאמולציה
קושחת Dragon MechaCon יצאה ב-2021, וחודש לאחר מכן MechaPwn, שפותח את PS2 המאוחרים מבחינה אזורית וקורא דיסקי גיבוי. לפי התיעוד, הוא לא תומך בקונסולות ישנות כי אין להן את שבב Dragon. כ-20 מודלים משלוש השנים הראשונות של PS2 נשארים סגורים ברמת השבב, אך ניתן להריץ גיבויים עם פיצויי כרטיס זיכרון ו-HDD.
הדאמפים החדשים אינם מספיקים לאמולטור דיסק אופטי, אך modchip עשוי לעזור, שיחליף את MechaCon וישמור את ה-DSP של הכונן. משחקי PS2 לא היו מוצפנים, לכן הדאמפים לא פותרים משחקים חדשים. הם חושפים את קוד ההצפנה MagicGate של Sony עבור כרטיסי זיכרון וקבצי KELF.
מטרה חדשה במחקר הפתיחה
התורם uyjulian מצהיר שהקושחה לבסוף מאפשרת אמולציה ברמה הנמוכה של כל המערכת. PCSX2 לא מבצע את קוד השבב, אלא מממש מחדש את פקודות MechaCon ב-C++ ומשתמש בקובץ NVRAM של 1KB ובמספר גרסה של ארבעה בייטים. DiscoStarslayer שומר את פורק Reliquary של PCSX2 לצורך דרכי קונסולה מאומתות, אך הנתונים המתועדים לא יכולים להחליף ערכי חומרה, כאשר בדיקת האבטחה מאמתת את זהות הקונסולה.
המטרה הסופית היא למצוא באג שיפתח קונסולות המבוססות על SPC970 המוקדם. פתיחה בסגנון MechaPwn או TonyHax תארך זמן רב יותר. שבירת Dragon אפשרה בחודש אחד, כי Sony הסתמכה על קבלת תיקונים, ואילו קוד SPC970 נקבע ב-mask ROM ב-2000 ואינו ניתן לעדכון.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.