IOS 設備越獄原理

原文地址:http://blog.163.com/aries_duan/blog/static/957602272011918217334/

 

關於越獄,隨着5.0的發佈,又有鋒友不斷的提問了。有些問題白的不能再白了,老鳥們估計不屑於理會。但是誰不是從小白過來的?我想把一些基本問題解釋一下,讓小白們減少一些困惑,也歡迎老鳥們多多拍磚。 


爲什麼要越獄? 
APPLE的設備中的文件,用戶沒有完全的訪問權限。用戶也就無法爲所欲爲的安裝插件、輸入法和APP了,這是APPLE基於安全和利益的考慮。 
所以越獄是要獲得設備的完全控制權,拿到所有文件的最高管理權限。 
在美國越獄蘋果設備是合法的,其原因是承認用戶對設備擁有完全的所有權。 
越獄不等於盜版安裝APP經常看到“越獄幹什麼,幾百元買正版軟件足以了”之類的言論,我很無語。比如我在我自己的手機上把“中國聯通”改成“中國憐通”(在我自己的手機上)這是我的權利,我可以不做,但是蘋果不讓我做是損害我的權利,我要越獄!越獄之後你安裝盜版APP是損害開發者權利,是你違法! 
“違法必究”!不管你信不信,反正我不是信了。 

如何實現越獄? 
越獄需要挖地洞,也就是找到所謂的漏洞加以利用。利用漏洞獲得設備的控制權,再通過提權操作獲得設備所文檔的完全管理權限。拿到文檔完全管理權限,就是越獄成功了。你從監獄圍q1an9裏面出來了。但是對於一般用戶而言,這時的設備無法使用,我們必須安裝CYDIA(感謝Saurik的工作)以及一些基本的插件,保證我們的使用(你越獄要有新的或者合法的身份職業才能正常生活吧)。 

漏洞與越獄。 
越獄可以利用的漏洞分爲兩類,userlandbootrom 

Userland漏洞是指IOS中存在的漏洞,比如4.33 JailbreakMe.com越獄,就是利用了一個PDF漏洞完成越獄的。這種越獄的特點: 
一、在設備啓動之後實施。 
二、針對的是使用這一IOS的所有設備(所以IPAD2可以越獄)。 
三、一般不可能“不完美越獄”。 

這一類越獄不容易實現,因爲要找到適當的漏洞,能夠提權操作,同時還要安排好CYDIA的安裝和系統文件的位置等等。另一方面有十分容易被封堵,升級一下IOS就可以永久地堵住這一漏洞。 

Bootrom漏洞是在硬件上的BUG造成的,當前綠毒、綠雨、紅雪等大多使用的是一個A4處理器的BUG完成越獄。這種越獄的特點: 
一、設備需要進入DFU模式之後實施(DFU的全稱是Development FirmwareUpgrade)。 
二、針對的是使用這種固件(比如A4處理器)所有設備。 
三、會有“不完美越獄”的情況。 
由於IPAD2IPHONE4S使用A5處理器,所以可以肯定的是利用Bootrom漏洞越獄的工具不會同時支持(IPHONG4IPAD1ITOUCH4)和(ipad2IPHONE4SiFaith工具不支持IPAD2,也是如此。 


越獄爲什麼“不完美”? 
完美越獄是指 你的設備可以無障礙的啓動(不需要計算機的引導) 
完美越獄不是說越獄以後各種插件、APP跑起來沒有問題,這種兼容性問題與越獄無關。(有意思的是IOS5發佈之後,許多鋒友說XX軟件閃退是IOS5BUG!這是APP不支持IOS5,等等APP更新就好了)。 
Bootrom漏洞的特點導致了 越獄的不可阻止。用戶買了IPHONE4,其中的A4處理器就不變了,那個BUG永遠存在,與IOS無關。所以無論APPLE出什麼版本的IOS,越獄是一定的。IOS5bate版放出第二天越獄不是什麼驚天新聞(向各路大神賠罪,沒有貶低你們的意思。) 

爲什麼不完美了?越獄利用DFU模式是因爲這時的設備啓動是由計算機控制的,設備會允許從計算機讀入一定的代碼(設備準備升級系統固件)越獄者利用之一機制讓設備讀入特定的代碼,利用Bootrom漏洞提權,達到掌握設備文件完全管理權限的目的。同時把CYDIA和一些基本的插件寫入系統。OK,越獄了。 
但是,APPLE的程序員不是吃閒飯的。設備每次啓動是當然要自檢,其目的之一就是防止文件被篡改。發現篡改的文件修復,修復不了罷工(白蘋果),白蘋果了,用戶不得不重新恢復系統實際是利用用戶來修復文件。 
道高一尺魔高一丈(這句話原本如此,魔高一尺道高一丈是錯誤的。)越獄的大神會再次通過引導啓動設備,繼續使用。 
以上就是所謂的不完美越獄。 

因此Userland漏洞越獄是不可能不完美的,因爲Userland漏洞越獄的大神除非是一次安排好後事,否則是沒有辦法在啓動時利用DFU模式寫入代碼終止IOS的自檢的(可以的話就直接Bootrom漏洞越獄了)。所以Userland漏洞越獄比較少見。 

完美越獄和不完美越獄的差距是巨大的,不完美越獄中漏洞是不變的、溢出代碼是不變的、蘋果設備的文件框架是不變的,只需要針對新系統做小小的調整,封裝一下就可以了。當然第一次找到漏損可開發溢出代碼另當別論。要實現完美越獄,就是要重新解讀IOS的自檢機制,把他破解掉。這個工作每次必須從頭再來,這也是大神和APPLE程序員較量的核心。要使IOS的自檢對被修改的文件視而不見談何容易,所以需要時間!正因爲如此幾乎雖有版本的IOS都有不完美越獄,但不是各個都有完美越獄。 

如果實現不完美越獄的工作量是1,實現完美的越獄工作量我認爲不低於10。(指現有的A4處理器)既然大神們用1份精力交出了60分的答卷,是不是一定再花9份精力答出來100呢? 

我想說的 
有人說,系統一定有BUG,越獄一定會實現 
這是一種大無畏的樂觀主義精神。學過統計的知道,我每期買一注彩票,堅持下去一定可以中頭獎,但不一定是在我這一輩子。BUG一定有,是不是可以被發現難說,發現了是不是一定可用來越獄還是難說。如果不是像某些論調說得“蘋果公司故意預留(透漏)BUG給越獄的大神”也許真有一天新的設備是不能越獄。 

IPAD2IPHONE4S的越獄前景不樂觀,目前沒有確切的消息A5存在可以利用來越獄的Bootrom漏洞。 
對於那些天天等IPAD2IPHONE4S越獄的鋒友來說,你們要等很長很長很長很長時間。不要看到A4處理器完美越獄了,就天天來叫,這與你們無關,你們選擇了高性能的設備同時就是放棄了永遠可以越獄A4系列設備。有得有失。 

完美越獄不會在IOS發佈數天內發佈。我認爲一個月之後是可接受的時間。 
如果新的一個IOS存在較多的或者嚴重的BUGAPPLE會很快推出新的版本,費勁完美越獄是不划算的。IOS5這個經過多個測試版又是較大的升級,完美越獄是會有的,但肯定不是最近。有些問題會干擾完美越獄的測試,用戶不斷報告越獄後的兼容問題,實際是APP不支持新的IOS,這樣大神們會很難受,不如等到大多數APP更新之後,你認爲呢? 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章