۳۰ مهر ۱۴۰۵ github.com ۳ دقیقه مطالعه

پروژه HackiOS: اجرای هسته XNU و سیستم‌عامل iOS روی سخت‌افزار اندروید

پروژه HackiOS: اجرای هسته XNU و سیستم‌عامل iOS روی سخت‌افزار اندروید — Run full iOS 16.5 firmware on Android Devices

خلاصه

پروژه HackiOS امکان اجرای هسته متن‌باز XNU و فضای کاربری iOS 16.5 را روی سخت‌افزارهای اندرویدی مانند POCO X5 Pro و امولاتور QEMU فراهم می‌کند. این ابزار پژوهشی از طریق یک لایه سازگاری و لودر اختصاصی EFI اجرا می‌شود و به کمک آن می‌توان برنامه‌ها، ویجت‌ها و رابط کاربری اپل را روی اندروید بدون دستکاری دائمی حافظه اجرا کرد.

معرفی پروژه HackiOS

پروژه HackiOS یک تلاش پژوهشی و جذاب در دنیای مهندسی معکوس و سیستم‌عامل‌ها است که به توسعه‌دهندگان اجازه می‌دهد هسته متن‌باز XNU (هسته سیستم‌عامل‌های اپل، نسخه‌ای که در iOS 16.5 استفاده شده است) را روی سخت‌افزار گوشی‌های اندرویدی و محیط شبیه‌سازی شده اجرا کنند. این پروژه فضای کاربری دست‌نخورده iOS 16.5 شامل launchd، backboardd و SpringBoard را روی این هسته بالا می‌آورد.

نکته جالب اینجاست که هیچ فایل یا کدی متعلق به اپل در مخزن گیت‌هاب پروژه وجود ندارد. اسکریپت‌های موجود، فایل‌های رسمی IPSW را از سرورهای اپل دانلود کرده و اجزای مورد نیاز را روی ماشین میزبان استخراج می‌کنند.

معماری و نحوه کارکرد

این پروژه به دو مخزن اصلی تقسیم شده است که شامل مخزن هسته و پچ‌ها (hackios-xnu-kernel) و مخزن فضای کاربری (hackios-xnu-userland) می‌شود. چرخه بوت و اجرا به این صورت است:

  • لودر اختصاصی EFI: یک لودر اختصاصی که به جای ابزارهای سنتی عمل بوت را انجام می‌دهد.
  • پورت UEFI: استفاده از پورت پروژه Silicium برای راه‌اندازی محیط بوت روی سخت‌افزار موبایل.
  • لایه سازگاری و درایورها: پیاده‌سازی جایگزین‌های متن‌باز برای درایورهای اختصاصی اپل، پورت درایورهای وای‌فای لینوکس و استفاده از Mesa برای پردازش گرافیکی با کمک واحد پردازش گرافیکی Adreno.
  • اجرا روی دستگاه‌های واقعی یا QEMU: روی دستگاهی مانند POCO X5 Pro 5G، سیستم با استفاده از fastboot boot مستقیماً روی RAM بارگذاری می‌شود و پس از یک بار ری‌استارت، گوشی به اندروید اصلی خود بازمی‌گردد؛ هیچ داده‌ای روی حافظه فلش دائمی دستگاه فلش نمی‌شود.

امکانات فعال و چالش‌ها

بخش زیادی از قابلیت‌های اصلی سیستم‌عامل iOS روی سخت‌افزار مقصد کار می‌کنند:

  • صفحه قفل، سوایپ برای باز کردن قفل و صفحه اصلی به همراه واچ‌باکس‌ها و ویجت‌ها.
  • ژست‌های حرکتی سیستم، کنترل سنتر و لمس چندگانه صفحه نمایش.
  • برنامه‌های پایه مانند تنظیمات، تقویم، ساعت، سافاری و یادداشت‌ها.
  • پشتیبانی از وای‌فای، صدا، دوربین جلو و عقب و اتصال SSH.

با این حال، بخش‌هایی مانند بلوتوث، ارتباطات سلولی، شارژ شدن باتری در هنگام اجرای هسته (گوشی در این حالت شارژ نمی‌شود) و احراز هویت Apple ID به دلیل نبود Secure Enclave هنوز کار نمی‌کنند.

نحوه استفاده و تست سریع

برای توسعه‌دهندگانی که می‌خواهند این پروژه را روی QEMU تست کنند، نیازی به کامپایل هسته نیست و تصاویر از پیش‌ساخته شده در پوشه prebuilt/ وجود دارند:

git clone https://github.com/oosexgang/hackios-xnu-kernel.git hackios
cd hackios
common/setup.sh
ios165/fetch.sh
common/build.sh qemu-virt
common/run.sh qemu-virt

برای اجرا روی گوشی POCO X5 Pro 5G نیز کافی است فریم‌ورهای سخت‌افزاری مورد نیاز را از طریق adb از روی خود دستگاه استخراج کرده و سپس با استفاده از اسکریپت‌های کمکی (xl) لودر را در حافظه RAM دستگاه بوت کنید.

نگاه جامعه هکرنیوز

این پروژه در Hacker News توجه زیادی به خود جلب کرد. برخی کاربران از ظاهر وب‌سایت پروژه انتقاد کرده و استفاده مستقیم از مخزن گیت‌هاب را ترجیح دادند. همچنین بحث‌هایی درباره خطرات احتمالی استفاده از چنین پروژه‌هایی برای ساخت گوشی‌های تقلبی آیفون مطرح شد که اجرای iOS روی سخت‌افزار اندروید را شبیه‌سازی می‌کنند. برخی دیگر نیز آن را گامی جالب برای ایده‌هایی مشابه GrapheneOS روی سخت‌افزارهای مختلف دانستند.

این مطلب به‌صورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل

این خبر را با دیگران به اشتراک بگذارید

خبرهای فناوری در قالب پست و ویدیوی کوتاه، در اینستاگرام هکرنیوز بلاگ. به‌زودی
هر خبر به محض انتشار، به‌همراه پادکست روزانه در کانال تلگرام هکرنیوز بلاگ.