日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

开篇 关于iOS越狱开发

發(fā)布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开篇 关于iOS越狱开发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文版權歸扣丁書屋所有,轉載請保留此說明。

越獄與開發(fā)

iPhone 在10年前問世時,并沒有第三方應用,連一個游戲都沒有,但是 Nicholas Allegra 等越獄開發(fā)者將蘋果的智能手機推到了極限,因為用戶越獄后可以在沒有蘋果允許的情況下安裝第三方應用程序和插件。隨著時間的推移,iOS的生態(tài)越來越強大,其第三方應用越來越多,涉及的功能五花八門,從一定程度上說,越獄已經死了,但這不意味著,開發(fā)人員沒有必要越獄手機。拿到一部越了獄的手機,對開發(fā)人員來說,就像是開啟了上帝模式,你可以進入系統看看各個系統進程是如何配合完成任務的,系統的簽名機制的工作原理等等,同時,當你覺得第三方軟件很酷時,可以在越獄手機上分析其實現原理,了解競爭對手的安全性措施等等。

本系列介紹如何開發(fā)Tweak以增加軟件功能,如何開發(fā)Daemon保護應用的安全性,如何調試第三方應用,當然這一切都是建立在越獄手機上的。建議在閱讀本系列文章之前,先準備一臺越獄的手機。至于越獄的方法,可以參考愛思助手越獄教程,PP助手越獄教程,當然還有盤古越獄等等,工具比較多,不一一列舉。

越獄

越獄簡單來說,就是通過系統的漏洞(又叫Bug),拿到系統的最高權限(一般是root用戶,對于使用或了解linux或類linux的用戶,應該知道root用戶意味著什么),然后利用這個最高權限,安裝必要的軟件到必要的地方,并讓這個軟件開機就以最高權限啟動。需要說明的是,開機就以最高權限權限啟動這個機制是系統本身就自帶,因為系統也需要這一權限以實現必要的功能,比如安裝應用。而越獄程序能開機自啟動則是因為他利用系統的漏洞拿到最高權限后,利用這個權限,把自己加到啟動列表中。

對于系統來說,防止被越獄總的說來一個是對權限管控,盡量最少使用最高權限,即不濫用最高權限,減少產生漏洞的可能性,同時系統還可以事后彌補,比如重啟時發(fā)現被越獄了,進行自我保護,不啟動或清除掉那些異常的程序。一般來說,我們經常說的不完美越獄就是因為沒有搞定系統的“事后彌補”這一過程。一般的現象就是越獄后的設備(iPhone或者是iPad)一旦重啟之后,會無法進入系統,直接卡在一顆白色蘋果的界面;或者是可以進入系統,但是越獄之后所裝的應用都無法使用,打不開。

進行完前面的操作后,手機被稱之為成功越獄(完美與不完美都認為是成功越獄)。如我們所知道的,我們可以通過ssh協議遠程進入類Unix系統(unix,linux,FreeBSD),然后操作文件,進程等。iOS系統也可以看做是類Unix系統,從而我們能通過ssh進入iOS設備(越獄后是可以以root用戶進入的,這意味著什么,大家都懂的)。至此,我們開啟了上帝模式。

開發(fā)

越獄開發(fā)需要與我們常說的應用開發(fā)區(qū)分開來,但越獄開發(fā)本質上也是在開發(fā)應用。說區(qū)分開來是因為,如果只用應用開發(fā),我們完全沒有必要越獄,要知道為了越獄,我們可是費了好大的功夫。一般來說,越獄開發(fā)專指Tweak開發(fā),Daemon開發(fā),破解開發(fā)。但越獄開發(fā)最后的產物,一般來說,還是一個應用或是作用在某一個應用上。畢竟最終用戶都是通過應用來進行操作的。在Tweak,Daemon,破解開發(fā)中,又以Tweak開發(fā)最為常見。本文以Tweak開發(fā)來說明越獄開發(fā)。

Tweak開發(fā)是指開發(fā)一個模塊(差不多就是像Windows開發(fā)的dll,iOS開發(fā)的動態(tài)Framework,Android開發(fā)的.so或是.dex文件),而這個模塊被加載入某一個或幾個應用中。聽上去挺復雜,比如我們如何能被應用加載,我們又如何顯示出來(入口),好在被加載到應用這一塊不能我們擔心,在越獄的時候,會自帶一個越獄模塊,我們稱之為Cydia。當我們提到Cydia時,可以認為他是一個商店,可以收錄不被蘋果通過的軟件(當然被蘋果通過的軟件也能收錄)。也可以認為他是一個注入框架,所有的Tweak向Cydia注冊后,他會負責在適當的時候把我們的Tweak注入到指定的應用(進程)中去。至此,我們解決了第一個總是:Tweak被應用加載。

Tweak被加載后,按照常規(guī)開發(fā)思路,就是要找機會顯示(或者工作)了,比如用戶有4個Tab,我們試著加入一個Tab,長按的時候,添加一個自己的菜單項,或是強制顯示已有的菜單項(比如本來有3個菜單項但軟件根據本地條件是否滿足只顯示2項或1項)。這本就是一個較復雜的開發(fā),需要用到Hook相關的技術,好在我們不用從頭開始整理自己的Hook庫,Theos這個越獄開發(fā)工具包解決了大部分的問題。至于如何安裝這個越獄開發(fā)工具包,這篇博客iOS逆向工程之Theos已經有很詳細的說明。大家可以試著安裝,然后按照Helloworld的教程開發(fā)第一個Tweak.

至此,2個問題均已解決。

本文版權歸扣丁書屋所有,轉載請保留此說明。

轉載于:https://my.oschina.net/u/3584736/blog/1476750

總結

以上是生活随笔為你收集整理的开篇 关于iOS越狱开发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。