پرش به محتوای اصلی
پرش به محتوای مقاله

vphone-cli محیط iOS را روی مک‌های اپل سیلیکون مجازی‌سازی می‌کند

·۷ شهریور ۱۴۰۵۵ دقیقه مطالعه۱ بازدید
راهنما
رابط خط فرمان برای مدیریت دستگاه‌های مجازی iOS در macOS، جایگزین متن‌باز vPhone.
رابط خط فرمان برای مدیریت دستگاه‌های مجازی iOS در macOS، جایگزین متن‌باز vPhone.
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

نخستین ابزار متن‌باز که زنجیره پیچیده پچ کردن فریم‌ور و بوت کردن iOS را روی اپل سیلیکون به‌صورت یک دستور واحد (CLI) خودکار می‌کند.

تصور کنید برای اجرای یک محیط کامل iOS روی مک، تنها به یک دستور در ترمینال نیاز داشته باشید. این رویای پژوهشگران امنیتی اکنون با vphone-cli به واقعیت تبدیل شده است؛ ابزاری که با بهره‌گیری از Virtualization.framework اپل و زیرساخت‌های پژوهشی PCC، امکان لانچ آیفون‌های مجازی را روی میزبان‌های اپل سیلیکون فراهم می‌کند.

سال‌هاست که توسعه‌دهندگان و پژوهشگران امنیتی با ماهیت بستهٔ iOS دست‌وپنجه نرم می‌کنند و اغلب مجبور بودند به شبیه‌سازهای ناپایدار یا فارم‌های سخت‌افزاری گران‌قیمت تکیه کنند. این ابزار با اجازه دادن به ایجاد، پچ کردن و اجرای یک ماشین مجازی (VM) — شبیه به ساخت یک کامپیوتر خیالی درون کامپیوتر اصلی که سیستم‌عامل متفاوتی دارد — مستقیماً از طریق ترمینال، مک‌های مجهز به macOS Sequoia را به یک آزمایشگاه پژوهشی iOS تبدیل می‌کند. همان‌طور که در پوشش‌های پیشین ما درباره‌ی امنیت سیستم‌عامل‌های بسته اشاره کردیم، دسترسی به سطح هسته (Kernel) همواره بزرگ‌ترین چالش در این مسیر بوده است.

پیش‌نیازهای سیستم و زمینه اجرایی

به نقل از مستندات github.com، پیش‌نیازهای این سیستم شامل مک با تراشه اپل سیلیکون و سیستم‌عامل macOS 15 (Sequoia) است. کاربران باید Xcode و iOS SDK را برای کامپایل متقاطع (Cross-compile) دیمونِ مهمان نصب کنند. از آنجا که این ابزار از دسترسی‌های خصوصی PV=3 و باینری‌های بدون امضا استفاده می‌کند، غیرفعال کردن SIP/AMFI الزامی است.

برای این هدف دو مسیر وجود دارد:

  • گزینه الف (غیرفعال‌سازی کامل): غیرفعال کردن کامل SIP و تنظیم آرگومان بوت amfi_get_out_of_my_way=1 -v از طریق NVRAM. این روش متراک‌ترین و بازترین دسترسی را فراهم می‌کند.
  • گزینه ب (تسهیل دیباگ): فعال نگه داشتن SIP اما استفاده از دستورات csrutil enable --without debug و csrutil allow-research-guests enable و سپس سفیدلیست کردن باینری با ابزار vphone-amfidont.

این زنجیره ابزار بسیار متراکم است و نیازمند نصب مجموعه‌ای از پیش‌نیازها از طریق Homebrew است؛ از جمله [email protected] ،aria2 ،wget ،gnu-tar ،openssl@3 ،ldid-procursus ،sshpass ،keystone ،cmake ،libusb ،ipsw و zstd.

قابلیت‌های فنی و مدل‌های مختلف

قدرت اصلی vphone-cli در پنج مدل پچ فریم‌ور است که سطوح مختلفی از دسترسی را فراهم می‌کند. این مدل‌ها از طریق فلگ --variant تعیین می‌شوند:

  • Less: تنظیمات پایه با ۴ پچ در ۲ مرحله؛ این نسخه اساساً بدون پچ است و لایه‌های امنیتی iOS را فعال نگه می‌دارد.
  • Regular: دور زدن AMFI، SSV، Img4 و TXM با استفاده از ۴۲ پچ در ۱۰ مرحله.
  • Dev: افزودن دسترسی‌های TXM و بای‌پس‌های دیباگ با ۵۳ پچ در ۱۲ مرحله.
  • JB (Jailbreak): نسخه سنگین با ۱۱۳ پچ در ۱۴ مرحله که به‌طور خودکار Sileo و TrollStore را در اولین بوت نصب می‌کند.
  • Exp (Experimental): تهاجمی‌ترین سطح با ۱۴۱ پچ در ۱۸ مرحله. این نسخه مجموعه‌ای گسترده‌تر از JB است که شامل پچ‌های پژوهشی خاص برای جلوگیری از تشخیص ماشین مجازی (Anti-VM-detection) می‌شود.

رابط خط فرمان برای مدیریت دستگاه‌های مجازی آیفون در گیت‌هاب

جزئیات عملیاتی و گردش کار

طبق گزارش توسعه‌دهندگان، این ابزار یک خط لوله پیچیده را خودکار می‌کند. دستور vphone-cli vm create myphone -V jb تمام مراحل دانلود IPSW، پچ کردن، بازیابی DFU، نصب فریم‌ور سفارشی (CFW) و اولین بوت را مدیریت می‌کند.

برای کسانی که به کنترل دقیق‌تر نیاز دارند، فرآیند دستی شامل ۶ گام است:

  • ایجاد باندل: دستور vphone-cli vm new یک باندل خالی با CPU و حافظه قابل تنظیم ایجاد می‌کند (مثلاً --cpu 8 --memory 8192).
  • آماده‌سازی فریم‌ور: دستور vphone-cli fw prepare نسخه‌های IPSW (مثلاً نسخه ۲۶.۱) را دانلود و ادغام می‌کند.
  • پچ کردن: دستور vphone-cli fw patch زنجیره بوت را بر اساس مدل انتخابی تغییر می‌دهد.
  • بازیابی DFU: ماشین مجازی در حالت DFU لانچ می‌شود (--dfu)، SHSH از طریق restore --get-shsh دریافت شده و بازیابی اجرا می‌شود.
  • نصب CFW: دستور vphone-cli cfw install میزبان را برای نصب فریم‌ور سفارشی مونت می‌کند (نیازمند sudo است).
  • اولین بوت: ماشین مجازی برای اولین بار به‌طور عادی اجرا می‌شود.

کاربران می‌توانند کتابخانه خود را با دستوراتی مثل vphone-cli vm list (با فلگ --json برای اسکریپت‌نویسی)، vphone-cli vm clone برای تکثیر سریع مبتنی بر APFS و vphone-cli vm export (که به‌طور پیش‌فرض از فشرده‌سازی zstd استفاده می‌کند) مدیریت کنند.

ذخیره‌سازی و اتصال

تمام داده‌های ایجاد شده توسط این ابزار در مسیر ~/.vphone/ قرار می‌گیرند. این دایرکتوری را می‌توان با متغیر محیطی $VPHONE_ROOT تغییر داد. ساختار این پوشه شامل موارد زیر است:

  • ~/.vphone/VMs/: کتابخانه باندل‌های VM (قابل تغییر با $VPHONE_LIBRARY_ROOT).
  • ~/.vphone/ipsws/: کش IPSWهای آیفون و cloudOS.
  • ~/.vphone/tools/: آرتیفکت‌های seal-volume مربوط به APFS.
  • ~/.vphone/debs/: کش بسته‌های .deb برای Sileo و apt.
  • ~/.vphone/venv/: محیط پایتون که به‌طور خودکار ایجاد شده است.

اتصال به ماشین مجازی از طریق SSH روی پورت ۲۲۲۲۲ صورت می‌گیرد. در نسخه‌های جیل‌بریک شده، کاربر با نام mobile و رمز alpine وارد می‌شود؛ اما در نسخه‌های Regular یا Dev، اتصال با نام کاربری root انجام می‌گیرد. برای تعامل بصری، VNC روی پورت ۵۹۰۱ فعال است. برای شبیه‌سازی دکمه Home فیزیکی، کاربران باید در کلاینت VNC راست‌کلیک (کلیک دو انگشتی) کنند.

عیب‌یابی و اتوماسیون

کاربران باید از باگ‌های خاصی آگاه باشند؛ از جمله یک نشت حافظه (Memory Leak) شناخته‌شده در نسخه‌های ldid-procursus تا ورژن 2.1.5-procursus7. این مشکل باعث می‌شود cfw install هنگام امضای مجدد باینری‌های سیستم (مانند Campo) که مقدار صحیح ۰ در plist دسترسی‌هایشان دارند، متوقف شود. راهکار آن نصب نسخه --HEAD است: brew install --HEAD ldid-procursus.

سایر مشکلات رایج عبارتند از:

  • Zsh Killed: نشان‌دهنده فعال بودن محدودیت‌های AMFI یا دیباگ است.
  • Virtualization Unavailable: زمانی رخ می‌دهد که میزبان خودش یک ماشین مجازی باشد، زیرا بوت مهمان PV=3 نمی‌تواند به‌صورت تو در تو (Nested) اجرا شود.
  • کرش اپلیکیشن‌ها (EXC_GUARD): نیازمند پچ مجدد با فلگ --force-exc-guard است که برای نسخه‌های مبتنی بر iOS 18 همیشه ضروری است.
  • نصب اپلیکیشن‌های سیستمی: برای جلوگیری از بررسی‌های نظارتی (Regulatory checks) که VM قادر به پاس کردن آن‌ها نیست، کاربران باید هنگام تنظیمات اولیه، منطقه (Region) را روی ژاپن یا اتحادیه اروپا قرار ندهند و به‌جای آن ایالات متحده را انتخاب کنند.

برای کاربران پیشرفته، یک سوکت کنترلی میزبان (vphone.sock) تعبیه شده که امکان کنترل برنامه‌نویسی‌شده روی اسکرین‌شات‌ها، لمس، سوایپ و عملیات کلیپ‌بورد را فراهم می‌کند. این قابلیت اجازه می‌دهد تست‌های E2E توسط هوش مصنوعی اجرا شوند که از طریق یک سرور MCP با vphone-mcp قابل گسترش است.

گام بعدی شما

  • اگر پژوهشگر امنیتی هستید، ابتدا نسخه Regular را برای تست پایداری و سپس نسخه JB را برای دسترسی کامل امتحان کنید.
  • برای اتوماسیون تست‌ها، از vphone-mcp برای متصل کردن ماشین مجازی به مدل‌های زبانی بزرگ استفاده کنید.
  • حتماً نسخه --HEAD ابزار ldid-procursus را نصب کنید تا با خطای توقف در نصب CFW مواجه نشوید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell و قدرت مجازی‌سازی در مقیاس صنعتی مراجعه کنید.

چرا این موضوع مهم است؟

این ابزار با تکیه بر اعتبار Virtualization.framework اپل، هزینه‌ی ورود به پژوهش‌های امنیتی iOS را به‌شدت کاهش می‌دهد. اکنون هر توسعه‌دهنده‌ای با یک مک M-series می‌تواند بدون نیاز به سخت‌افزارهای گران‌قیمت، محیط‌های جیل‌بریک شده را تحلیل کند.

تأثیر برای ایران

برای توسعه‌دهندگان و پژوهشگران امنیتی ایرانی که دسترسی به سخت‌افزارهای متنوع اپل دشوار است، این ابزار امکان شبیه‌سازی محیط‌های مختلف iOS را روی یک مک فراهم می‌کند.

·نگاه ما
تحریریه دات‌هوش

vphone-cli با تبدیل مک به یک محیط ایزوله برای iOS، عملاً سد سخت‌افزاری اپل را برای پژوهشگران امنیتی می‌شکند. این ابزار نشان می‌دهد که آینده‌ی تست نرم‌افزارهای موبایل از شبیه‌سازهای سطحی به سمت مجازی‌سازی کامل در سطح سخت‌افزار (Hardware-level Virtualization) حرکت می‌کند. ادغام این سیستم با پروتکل MCP، مسیر را برای ایجاد عامل‌های هوش مصنوعی باز می‌کند که می‌توانند به‌طور مستقل اپلیکیشن‌های iOS را تست و دیباگ کنند.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.