diosra2’s blog

iOSの脱獄、ダウングレード

iPhone 4でiBoot exploitを利用してダウングレードやデュアルブートなどをしてみた。

@xerub氏のiPhone3,1-11D257用のexploitを利用し、若干の変更を加えてUntetheredでダウングレードやデュアルブートさせました。iOS 5、6共にSHSHは不要で、7.1.2のSHSHがあれば活用可能です。


先ずは、iOS 6.1.3にしてみました。

iPhone 5の時に使用した手法を使用して起動できました。

この手法ではunsignedのkernelを使用できるので、最初から脱獄状態で起動することもできます。


次に、iOS 4.3.3にダウングレードさせました。

iOS 4以下ではpartition方式が異なりますが、基本的には同じでした。

iOS 4の起動には@nyan_satan氏の記事を参考にし、iBECからブートしています。


最後に、iOS 5とiOS 6をデュアルブートさせてみます。

CoolBooterなどでの(kloaderを利用した)デュアルブートとは違い、起動OSを指定して再起動することでiOSの切り替えができるようにしています。


+memo

++partition map

0: disk0s1s1: 1.3 GB iOS 6 System

1: disk0s1s2: 13.5 GB iOS 6 Data

2: disk0s1s3: 1.2 GB iOS 5 System

3: disk0s1s4: 13.5 GB iOS 5 Data

4: disk0s1s5: 128 MB Keybags

5: disk0s1s6: 128 MB Bootloader

6: disk0s1s7: 512 kB exploit1

7: disk0s1s8: 512 kB exploit2

++ios 6 boot system

[SecureROM] -> [iOS 7 LLB] -> [iOS 7 iBoot] --{boot-partition=6}--> [exploit {partition=6}] -> [iOS 6 PwnediBEC {partition=5}] -> [load devicetree, kernel {partition=0}] -> boot!

++ios 6 filesystem

/dev/disk0s1s1 on / [System]

/dev/disk0s1s2 on /private/var [Data]

/dev/disk0s1s5 on /private/var/keybags [Keybag]

++ios 5 boot system

[SecureROM] -> [iOS 7 LLB] -> [iOS 7 iBoot] --{boot-partition=7}--> [exploit {partition=7}] -> [iOS 5 PwnediBEC {partition=5}] -> [load devicetree, kernel {partition=2}] -> boot!

++ios 5 filesystem

/dev/disk0s1s3 on / [System]

/dev/disk0s1s4 on /private/var [Data]

/dev/disk0s1s5 on /private/var/keybags [Keybag]

Copyright (C) 2017-2018 Diosra2. All Rights Reserved.