蘋果ios多系統(tǒng)教程來啦!大家都知道一臺iPhone只能裝一個系統(tǒng),但有大神實現(xiàn)了多系統(tǒng),那么如何實現(xiàn)ios多系統(tǒng)呢?下文小樂哥給大家介紹一下!
蘋果ios多系統(tǒng)教程:
關(guān)于iOS Boot Chains:
BootROM - LLB - iBoot - Kernel(普通啟動)
在普通啟動中,系統(tǒng)會層層驗證,只要有一環(huán)出現(xiàn)問題,設(shè)備的啟動就會中斷
在老版本的iOS系統(tǒng),可以通過nvram boot-args=xxxxxxxxx的方法設(shè)置boot-args,但很顯然,在新的iOS系統(tǒng)上這是無法實現(xiàn)的。
BootROM - iBSS - iBEC - Kernel(DFU啟動)
DFU啟動在設(shè)備準備恢復(fù)系統(tǒng)時會用到,同樣層層驗證,但是,iBEC中的boot-args可以直接進行修改,原boot-args——“rd=md0………..”可在回復(fù)設(shè)備時啟動Ramdisk進行設(shè)備恢復(fù)。
修改iBEC實現(xiàn)Tethered Verbose Boot。關(guān)于Ph0en1x:
我在我之前放出的Ph0en1x_S 雙系統(tǒng)自制固件中,成功實現(xiàn)了iOS雙系統(tǒng)的完美切換,而實現(xiàn)完美切換,重點就在于Boot Chains的交換,即如何從iOS 7的啟動鏈切換到iOS X的啟動鏈。而wincom所開發(fā)的kloader,正好能夠滿足這第一步的需求,如果我們使用普通啟動Boot-Chains的話,就能夠通過kloader加載pwned LLB,pwned LLB加載pwned iBoot,在pwned iBoot中修改boot path,進行boot-args重定向,就能夠?qū)崿F(xiàn)對另一內(nèi)核的引導(dǎo)并在新的分區(qū)啟動系統(tǒng)。
普通啟動Boot Chains在設(shè)備恢復(fù)固件時被flash到設(shè)備中,為了把我們所需的新的一組啟動鏈寫入設(shè)備,我們只需要修改固件中的manifest(all_flash),加入我們所需的啟動鏈即可,恢復(fù)該固件,即可完成啟動鏈寫入。
那么問題又來了,LLB如何找到它所需要引導(dǎo)的下一級鏈呢?發(fā)現(xiàn),在LLB,iBoot中,利用標識尋找下一級啟動元素,既然如此,修改pwned iboot的標識,同時patch LLB,使它尋找對應(yīng)的標識,即可完成對應(yīng)啟動鏈的引導(dǎo)。
小編推薦閱讀機器學(xué)習(xí):神經(jīng)網(wǎng)絡(luò)構(gòu)建(下)
閱讀華為Mate品牌盛典:HarmonyOS NEXT加持下游戲性能得到充分釋放
閱讀實現(xiàn)對象集合與DataTable的相互轉(zhuǎn)換
閱讀算法與數(shù)據(jù)結(jié)構(gòu) 1 - 模擬
閱讀5. Spring Cloud OpenFeign 聲明式 WebService 客戶端的超詳細使用
閱讀Java代理模式:靜態(tài)代理和動態(tài)代理的對比分析
閱讀Win11筆記本“自動管理應(yīng)用的顏色”顯示規(guī)則
閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請發(fā)郵件[email protected]
湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2025 haote.com 好特網(wǎng)