- تاریخ عضویت
- Oct 4, 2025
- ارسال ها
- 29
- امتیاز واکنش
- 5
- امتیازها
- 8,105
- محل سکونت
- tehran
- وبسایت
- console-hax.com
معمایی که ۲۵ سال حل نشده بود
مدلهای اولیه PlayStation 2 (سریهای SCPH-10000 و 15000) همیشه یک anomaly در صحنه هک محسوب میشدند. برخلاف مدلهای بعدی، این دستگاهها از نسخه اولیه سیستمعامل داخلی یعنی Protokernel استفاده میکردند؛ محیطی که قبل از استاندارد شدن ساختار ROM و OSDSYS طراحی شده بود.مشکل دقیقاً همین بود:
معماری امنیتی هنوز «نهایی» نشده بود، اما paradoxically همین تفاوت باعث میشد exploitهای بعدی روی آن کار نکنند.
FreeMCBoot به entry pointهای خاصی وابسته بود که در Protokernel اصلاً وجود نداشتند.
ProtoPwn اولین exploitی است که بهجای دور زدن سیستم، مستقیماً منطق اولیه Browser را هدف قرار میدهد.
تفاوت بنیادی Protokernel با Kernelهای بعدی
برای درک اهمیت ProtoPwn باید بدانیم Protokernel چه تفاوتی داشت:
OSDSYS Primitiveتر
Browser اولیه فاقد بسیاری از sanity checkهای نسخههای بعدی است.Sanity check یعنی بررسی اینکه داده ورودی «واقعاً سالم» است یا نه.
در نسخههای بعدی:
- اندازه داده validate میشود
- ساختار فایل کنترل میشود
- pointerها محدود میشوند
و هرجا اعتماد کورکورانه باشد، exploit متولد میشود.
Memory Card بهعنوان Trusted Source
PS2 فرض میکند داده روی Memory Card معتبر است، چون توسط کنسول ایجاد شده.ProtoPwn این فرض را میشکند.
Payload طوری ساخته میشود که هنگام parse شدن توسط Browser:
- stack یا register state تغییر میکند
- execution flow منحرف میشود
- کنترل برنامه به ELF loader منتقل میشود
زنجیره اجرای ProtoPwn (Execution Flow)
جریان اتفاقات بهصورت سادهشده:- بوت سیستم → اجرای ROM Browser (OSDSYS)
- OSDSYS داده Memory Card را میخواند
- ساختار crafted شده load میشود
- validation ناقص انجام میشود
- overwrite کنترل اجرا
- jump به payload
- اجرای ELF کاربر
هیچ privilege escalation لازم نیست؛ چون Browser خودش در سطح کافی اجرا میشود.
سیستم عملاً کلید خانه را خودش تحویل payload میدهد.
چرا این exploit قبلاً کشف نشد؟
سه دلیل جالب (و کمی فلسفی در دنیای مهندسی معکوس):۱. دسترسی کم به مدلهای launch
بیشتر پژوهشگران روی مدلهای رایج کار میکردند.
۲. تفاوت شدید ROM mapping
ابزارهای دیباگ بعدی assumptions اشتباه داشتند.
۳. bias تحقیقاتی
جامعه فرض کرده بود Protokernel «غیرقابل نرمافزاری» است.
علم بارها نشان داده بزرگترین باگها پشت فرضیات پنهان میشوند.
پیامدهای واقعی برای توسعهدهندگان
ProtoPwn فقط اجرای هومبرو نیست؛ بلکه یک در جدید تحقیقاتی است:امکانهای تازه:
- مطالعه رفتار kernel اولیه PS2
- بررسی syscallهای undocumented
- ساخت universal loader
- exploit chaining روی ROMهای اولیه
تاثیر روی آینده صحنه PS2
چند سناریوی محتمل که توسعهدهندگان احتمالاً دنبال خواهند کرد:- نسخه Lite از FreeMCBoot مخصوص Protokernel
- unified exploit installer برای تمام PS2ها
- loaderهای سریعتر بدون dependency قدیمی
- ابزارهای preservation برای مدلهای launch
جمعبندی تخصصی کنسول هکس
اگر FreeMCBoot انقلاب اول PS2 بود، ProtoPwn پایان داستان است.اکنون برای اولین بار:
تمام revisionهای شناختهشده PlayStation 2 دارای مسیر اجرای کد کاربر هستند.
در زبان امنیت:
attack surface کامل شد.
در زبان گیمرها:
هیچ PS2 جا نماند.
در نهایت ProtoPwn بیشتر از یک ابزار است؛ این پروژه نشان میدهد حتی سختافزارهای اوایل دهه ۲۰۰۰ هنوز کاملاً درک نشدهاند. بعد از دو دهه مهندسی معکوس، بالاخره آخرین مدل «غیرقابل هک» PS2 نیز تسلیم شد.و در زبان مهندسان معکوس:
هنوز رازهایی در سیلیکونهای قدیمی خوابیدهاند.
اکنون میتوان گفت:
اکوسیستم هک PlayStation 2 برای اولین بار در تاریخ، ۱۰۰٪ کامل شده است.
آخرین ویرایش:
