vphone-cli
August 25, 2026 · View on GitHub
vphone-cli
PCC ãªãµãŒã VM ã€ã³ãã©ã¹ãã©ã¯ãã£ã䜿çšããApple ã® Virtualization.framework çµç±ã§ä»®æ³ iPhone ãèµ·åããŸãã

åææ¡ä»¶
ãã¹ã:
- Apple Silicon
- macOS 15+ (Sequoia)
- Xcode + iOS SDKïŒã²ã¹ãããŒã¢ã³ãã¯ãã¹ã³ã³ãã€ã«ããããïŒ
- æªçœ²åãã€ããªã§ãã©ã€ããŒã㪠PV=3 ãšã³ã¿ã€ãã«ã¡ã³ããèš±å¯ããããã® SIP/AMFI ã®ç·©å
äŸåé¢ä¿:
brew install python@3.13 aria2 wget gnu-tar openssl@3 ldid-procursus sshpass keystone cmake libusb ipsw zstd
ã€ã³ã¹ããŒã«
brew install zqxwce/tap/vphone-cli
ãã«ã
git clone --recurse-submodules https://github.com/Lakr233/vphone-cli.git
./scripts/setup_tools.sh # äŸåé¢ä¿ã®ã€ã³ã¹ããŒã«ãããŒã«ãã§ãŒã³ã®ãµãã¢ãžã¥ãŒã«ã®ãã«ããPython venv ã®äœæ
./scripts/build.sh # vphone-cli ã®ãã«ã + 眲åã.app ã®ãã³ãã«ãvphoned ã®ã¯ãã¹ã³ã³ãã€ã«
cd .build/vphone-cli.app/Contents/MacOS/
vphone-cli --help
ã¯ã€ãã¯ã¹ã¿ãŒã
1 ã€ã®ã³ãã³ãã§ VM ããšã³ãããŒãšã³ãã§äœæããŸãïŒããŠã³ããŒã â ããã â DFU 埩å â CFW ã€ã³ã¹ããŒã« â ååèµ·åïŒ:
vphone-cli vm create myphone -V jb # -V / --variant
vphone-cli vm launch myphone
ã³ãã³ã
vphone-cli vm create ã¯ãã€ãã©ã€ã³å
šäœãå®è¡ããŸãã以äžã®åå¥ã¹ãããã䜿ããšãæåã§æäœããã 1 ã€ã®æ®µéãåå®è¡ãããã§ããŸãã
管ç
vphone-cli vm list # VM ã®äžèŠ§è¡šç€ºïŒã¹ã¯ãªããçšã« --jsonïŒ
vphone-cli vm info myphone # 1 ã€ã® VM ã衚瀺
vphone-cli vm new myphone # 空ã®ãã³ãã«ãäœæïŒcpu/mem/disk ãªãã·ã§ã³ïŒ
vphone-cli vm config myphone --cpu 8 --memory 8192
vphone-cli vm clone myphone myphone-2 # é«é APFS ã¯ããŒã³ãæ°ããããã€ã¹ã¢ã€ãã³ãã£ãã£
vphone-cli vm export myphone --out myphone.tzst # zstd fast by default (--max = xz -9); --out ããã£ã¬ã¯ããªãªã <vm>.tzst/.txz ãèªååœå; 埩å
ãã£ã¬ã¯ã㪠+ ã¹ããŒãžã³ã°ãã¡ã€ã«ãã¹ããã
vphone-cli vm import myphone.tzst --name restored
vphone-cli vm rename myphone iphone16
vphone-cli vm delete iphone16
VM ãæåã§ãã«ãããïŒvm create ãèªååããåŠçïŒ
vphone-cli vm new myphone # 1. 空ã®ãã³ãã«
vphone-cli fw prepare myphone --iphone-version 26.1 # 2. IPSW ã®ããŠã³ããŒã + ããŒãž
vphone-cli fw patch myphone --variant jb # 3. ããŒããã§ãŒã³ã«ãããé©çš
vphone-cli vm launch myphone --dfu & # 4. DFU ã§èµ·åïŒããã¯ã°ã©ãŠã³ãïŒ
vphone-cli restore myphone --get-shsh # SHSH ãååŸ
vphone-cli restore myphone # DFU 埩å
vphone-cli vm stop myphone # DFU èµ·åã忢
vphone-cli cfw install myphone --variant jb # 5. CFW ãã€ã³ã¹ããŒã«ïŒãã¹ãããŠã³ã; sudo ãèŠæ±ïŒ
vphone-cli vm launch myphone # 6. ååèµ·å
æ°ãã iOS ã«æŽæ°ããã«ã¯ãfw prepare ã IPSW ã«åããŸã: --iphone-source /path/to.ipsw --cloudos-source /path/to.ipswã
ãã¡ãŒã ãŠã§ã¢ããªã¢ã³ã
ã»ãã¥ãªãã£ãã€ãã¹ã®åºŠåããæ®µéçã«å¢ã 5 ã€ã®ãããããªã¢ã³ã â ãããã 1 ã€ã --variant ã«æž¡ããŸã:
| ããªã¢ã³ã | ããŒããã§ãŒã³ | CFW | åè |
|---|---|---|---|
less | 4 patches | 2 phases | ããããªã â iOS ã®ç·©åçãæå¹ãªãŸãŸç¶æ |
regular | 42 patches | 10 phases | AMFI/SSV/Img4/TXM ãã€ãã¹ |
dev | 53 patches | 12 phases | + TXM ãšã³ã¿ã€ãã«ã¡ã³ã/ãããã°ãã€ãã¹ |
jb | 113 patches | 14 phases | + å®å šãªè±çïŒSileoãTrollStore ãååèµ·åæã«èªåã€ã³ã¹ããŒã«ïŒ |
exp | 141 patches | 18 phases | JB ã®ã¹ãŒããŒã»ãã + VM æ€åºå¯ŸçãªãµãŒãããã |
ã³ã³ããŒãã³ãããšã®å
èš³ã«ã€ããŠã¯ research/0_binary_patch_comparison.md ãåç
§ããŠãã ããã
å®è¡ãšæ¥ç¶
- SSHïŒè±çïŒ:
ssh -p 22222 mobile@<vm-ip>ïŒãã¹ã¯ãŒãalpineïŒ - SSHïŒregular/devïŒ:
ssh -p 22222 root@<vm-ip> - VNC:
vnc://<vm-ip>:5901
å Žæ
vphone-cli ãçæãããã®ã¯ãã¹ãŠ ~/.vphone/ 以äžã«çœ®ãããŸã â çœ²åæžã¿ãã³ãã«ãããŒã¿ãã«ã§ããç¶ããããããªããžããªãš .app ã®å€ã«ä¿ç®¡ãããŸãã$VPHONE_ROOT ã§ããªãŒå
šäœããªãã€ã¬ã¯ãã§ããŸã:
| ãã¹ | å 容 |
|---|---|
~/.vphone/ | ãŠãŒã¶ãŒå¥ããŒã¿ã«ãŒã â $VPHONE_ROOT ã§å Žæå
šäœãäžæžãããŸãã |
~/.vphone/VMs/ | VM ãã³ãã« â VM ããšã« 1 ãã£ã¬ã¯ããªããããã©ã€ãã©ãªã§ãã$VPHONE_LIBRARY_ROOT ã§äžæžãã§ããŸãã |
~/.vphone/ipsws/ | ããŠã³ããŒãããã iPhone + cloudOS ã® IPSWããã£ãã·ã¥ãããè€æ°ã® VM ã§åå©çšãããŸãã |
~/.vphone/tools/ | fw prepare äžã«ååŸããã APFS seal-volume ã¢ãŒãã£ãã¡ã¯ãïŒapfs_sealvolume_<version>ïŒã®ãã£ãã·ã¥ã |
~/.vphone/debs/ | jb/exp ã® CFW ã€ã³ã¹ããŒã«ãã²ã¹ãã«é
眮ãã .deb ããã±ãŒãžã®ãã£ãã·ã¥ïŒSileoãapt ãªã©ïŒã |
~/.vphone/venv/ | èªåçã«ããããžã§ãã³ã°ããã Python ç°å¢ïŒPython ã©ã³ã¿ã€ã ãåç
§ã$VPHONE_VENV_DIR ã§äžæžãå¯èœïŒã |
åªå
é äœ: é
ç®ããšã®äžæžãïŒ$VPHONE_LIBRARY_ROOTã$VPHONE_VENV_DIRïŒã $VPHONE_ROOT ããåªå
ããã$VPHONE_ROOT 㯠~/.vphone ã®ããã©ã«ãããåªå
ãããŸããipsws/ãtools/ãdebs/ ãã£ãã·ã¥ã¯ãåžžã«çŸåšæå¹ãªã«ãŒãã®çŽäžã«çœ®ãããŸãã
SIP/AMFI ã®ç·©å
ãªãã·ã§ã³ A â SIP ãå®å šã«ç¡å¹åããboot-arg ã§ AMFI ãç¡å¹åããïŒæãç·©ãïŒã
ãªã«ããªãŒã¢ãŒãã§ïŒé»æºãã¿ã³é·æŒã â ã¿ãŒããã«ïŒ:
csrutil disable
csrutil allow-research-guests enable
ãã®åŸ macOS ã§åèµ·åããAMFI ã® boot-arg ãèšå®ããŸãïŒæå¹åã«ã¯ SIP ãå®å šã«ç¡å¹åããå¿ èŠããããŸãïŒ:
sudo nvram boot-args="amfi_get_out_of_my_way=1 -v" # åŸã§åèµ·å
ãªãã·ã§ã³ B â SIP ãæå¹ãªãŸãŸïŒãããã°ã®ã¿ç·©åïŒã«ããamfidont ã§ãã€ããªãèš±å¯ãªã¹ãã«è¿œå ããïŒAMFI ã¯ã·ã¹ãã å šäœã§æå¹ãªãŸãŸïŒã
ãªã«ããªãŒã¢ãŒãã§:
csrutil enable --without debug
csrutil allow-research-guests enable
ãã®åŸ macOS ã§åèµ·åã:
vphone-amfidont # ããŒã«ã«ãã«ãã®å Žå㯠.build/vphone-cli.app/Contents/Resources/vphone-amfidont
åäœç¢ºèªæžã¿ç°å¢
| ãã¹ã | iPhone | CloudOS |
|---|---|---|
| Mac16,11 27.0b2 | 17,3_18.6.2_22G100 | 26.1-23B85 |
| Mac16,8 26.5.1 | 17,3_26.0_23A341 | 26.1-23B85 |
| Mac16,8 26.5.1 | 17,3_26.0.1_23A355 | 26.1-23B85 |
| Mac16,12 26.3 | 17,3_26.1_23B85 | 26.1-23B85 |
| Mac16,12 26.3 | 17,3_26.3_23D127 | 26.1-23B85 |
| Mac16,12 26.3 | 17,3_26.3_23D127 | 26.3-23D128 |
| Mac16,12 26.3 | 17,3_26.3.1_23D8133 | 26.3-23D128 |
| Mac16,11 26.2 | 17,3_26.4_23E246 | 26.4-23E5207q |
| Mac16,11 26.2 | 17,3_26.5_23F77 | 26.4-23E5207q |
| Mac16,11 27.0b2 | 17,3_26.5.2_23F84 | 26.4-23E5207q |
| Mac16,6 26.4.1 | 17,3_26.6_23G71 | 26.4-23E5207q |
| Mac16,11 27.0b2 | 17,3_26.6.1_23G83 | 26.4-23E5207q |
| Mac16,11 27.0b2 | 17,3_27.0_24A5380h | 26.4-23E5207q |
| Mac16,6 26.4.1 | 17,3_27.0_24A5390f | 26.4-23E5207q |
| Mac16,6 26.6.1 | 17,3_27.0_24A5408d | 26.4-23E5207q |
| Mac16,11 27.0b2 | 17,3_27.0_24A5418b | 26.4-23E5207q |
| Mac16,11 27.0b2 | 17,3_27.0_24A5424a | 26.4-23E5207q |
FAQ
zsh: killed ./vphone-cli â AMFI/ãããã°å¶éããã€ãã¹ãããŠããŸãããåææ¡ä»¶ ãåç
§ããŠãã ããïŒamfi_get_out_of_my_way=1 ãŸã㯠amfidontïŒã
Virtualization is not available on this hardware â ã䜿ãã® Mac èªäœã VM ã§ããPV=3 ã²ã¹ãèµ·åã¯ãã¹ãã§ããŸããããã¹ããããŠããªã macOS 15+ ãã¹ãã䜿çšããŠãã ããã
ãPress home to continueãã§æ¢ãŸã â VNC ã§æ¥ç¶ããå³ã¯ãªãã¯ïŒ2 æ¬æã¯ãªãã¯ïŒããŠããŒã ãã¿ã³ãã·ãã¥ã¬ãŒãããŸãã
ã·ã¹ãã ã¢ããªãã€ã³ã¹ããŒã«ã§ããªã â iOS ã®ã»ããã¢ããäžã«ãå°åãšããŠæ¥æ¬ã EU ãéžã°ãªãã§ãã ããïŒVM ãæºãããªã远å ã®èŠå¶ãã§ãã¯ãå ¥ããŸãïŒãäŸãã° United States ãéžæããŠãã ããã
ã¢ããªãèµ·åæã« EXC_GUARD / GUARD_TYPE_MACH_PORT ã§ã¯ã©ãã·ã¥ãã â vphone-cli fw patch <name> --variant <v> --force-exc-guard ã§åãããããå床埩å
/ã€ã³ã¹ããŒã«ããŠãã ããïŒ#291ïŒãiOS 18 ããŒã¹ã§ã¯åžžã«æå¹ã§ãã
.ipa/.tipa ãã€ã³ã¹ããŒã«ãã â å®è¡äžã® VM ã® Install ã¡ãã¥ãŒã䜿çšããŸãïŒãã©ãã°&ãããããŸãã¯ãã¡ã€ã«ããã«ãŒïŒã
èªåå
vphone-cli ã¯ããã°ã©ã ã«ããå¶åŸ¡ã®ããã«ãã¹ãå¶åŸ¡ãœã±ããïŒ<bundle>/vphone.sockïŒãå
¬éããŸã â ã¹ã¯ãªãŒã³ã·ã§ãããã¿ãããã¹ã¯ã€ããããŒããŠã§ã¢ããŒãã¯ãªããããŒã â åã¢ã¯ã·ã§ã³ã¯ AI é§åã® E2E ãã¹ãçšã«ã€ã³ã©ã€ã³ã®ã¹ã¯ãªãŒã³ã·ã§ãããè¿ããŸãããããã©ãããã MCP ãµãŒããŒã«ã€ããŠã¯ vphone-mcp ãåç
§ããŠãã ããã