تصور کنید برای اجرای یک محیط کامل 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 و قدرت مجازیسازی در مقیاس صنعتی مراجعه کنید.




گفتگو