უკან დაბრუნება
PlayStation 2-ის SPC970-ის ფირმვეარი ამოიღეს რევერს ინჟინერიის შემდეგ
SiTech AI Team2 წთ. საკითხავი

PlayStation 2-ის SPC970-ის ფირმვეარი ამოიღეს რევერს ინჟინერიის შემდეგ

დეველოპერმა DiscoStarslayer-მა ამოიღო SPC970 MechaCon-ის ფირმვეარი PlayStation 2-ის ადრეული კონსოლებიდან. ეს ავსებს მნიშვნელოვან ხარვეზს ჰარდვეარის კვლევაში და ხსნის გზას ჩიპის დონეზე განბლოკვისა და ემულაციის ახალი სამუშაოებისკენ.

ადრეული PS2-ის ჩიპის ფირმვეარის დამპი

PlayStation 2-ის გამოსვლიდან 25 წელზე მეტი ხნის შემდეგ დეველოპერმა DiscoStarslayer-მა ამოიღო SPC970 MechaCon-ის ფირმვეარი. ეს ჩიპი ადრეულ კონსოლებში დისკების ავტორიზაციასა და უსაფრთხოების ფუნქციებს აკონტროლებდა. ამოღება Libby-ს ექსპლოიტმა შესაძლებელი გახადა.

GitHub-ზე 22 ფირმვეარის იმიჯი გამოქვეყნდა: 2000 წლის იაპონური SCPH-15000-დან 2002 წლის 39000-სერიამდე, ასევე Namco System 246 და 256 არკადულ დაფებამდე. ეს PS2-ის ბოლო წაუკითხავი ნაწილები იყო 2021 წელს Dragon MechaCon-ის დამპის შემდეგ.

როგორ წაიკითხეს 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-ის ჩიპი არ აქვთ. PS2-ის პირველი სამი წლის დაახლოებით 20 მოდელი ჩიპის დონეზე დაუბლოკავი რჩება, თუმცა მეხსიერების ბარათისა და HDD-ის ექსპლოიტებით ბექაფების გაშვება შეიძლება.

ახალი იმიჯები ოპტიკური დისკის ემულატორისთვის საკმარისი არ არის, მაგრამ შეიძლება modchip-ს დაეხმაროს, რომელიც MechaCon-ს ჩაანაცვლებს და დრაივის DSP-ს შეინარჩუნებს. PS2-ის თამაშები დაშიფრული არ იყო, ამიტომ დამპები ახალ თამაშებს არ ხსნის. ისინი ამჟღავნებენ Sony-ს MagicGate დაშიფვრის კოდს მეხსიერების ბარათებისა და KELF ფაილებისთვის.

განბლოკვის კვლევის ახალი სამიზნე

კონტრიბუტორი uyjulian ამბობს, რომ ფირმვეარი საბოლოოდ სრული სისტემის დაბალ დონეზე ემულაციას შეუწყობს ხელს. PCSX2 ჩიპის კოდს არ ასრულებს, არამედ C++-ში MechaCon-ის ბრძანებებს ხელახლა ახორციელებს და 1KB NVRAM ფაილსა და ოთხბაიტიან ვერსიის ნომერს იყენებს. DiscoStarslayer ინარჩუნებს Reliquary PCSX2-ის ფორკს ავთენტიფიცირებული კონსოლის გზებისთვის, მაგრამ დოკუმენტაციით გენერირებული მონაცემები ჰარდვეარის მნიშვნელობებს ვერ ჩაანაცვლებს, როცა უსაფრთხოების შემოწმება კონსოლის იდენტურობას ამოწმებს.

უშუალო მიზანია ბაგის პოვნა, რომელიც ადრეულ SPC970-ზე დაფუძნებულ კონსოლებს განბლოკავს. MechaPwn-ის ან TonyHax-ის სტილის განბლოკვა უფრო გრძელვადიანია. Dragon-ის გატეხვა ერთ თვეში შეიძლებოდა, რადგან Sony პაჩების მიღებაზე იყო გათვლილი, SPC970-ის კოდი კი 2000 წელს mask ROM-ში დაფიქსირდა და განახლება არ შეიძლება.

SSiTech

SiTech — AI-გაძლიერებული ვებ დეველოპმენტი

ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.