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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

开篇 关于iOS越狱开发

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

本文版權(quán)歸扣丁書屋所有,轉(zhuǎn)載請(qǐng)保留此說明。

越獄與開發(fā)

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

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

越獄

越獄簡單來說,就是通過系統(tǒng)的漏洞(又叫Bug),拿到系統(tǒng)的最高權(quán)限(一般是root用戶,對(duì)于使用或了解linux或類linux的用戶,應(yīng)該知道root用戶意味著什么),然后利用這個(gè)最高權(quán)限,安裝必要的軟件到必要的地方,并讓這個(gè)軟件開機(jī)就以最高權(quán)限啟動(dòng)。需要說明的是,開機(jī)就以最高權(quán)限權(quán)限啟動(dòng)這個(gè)機(jī)制是系統(tǒng)本身就自帶,因?yàn)橄到y(tǒng)也需要這一權(quán)限以實(shí)現(xiàn)必要的功能,比如安裝應(yīng)用。而越獄程序能開機(jī)自啟動(dòng)則是因?yàn)樗孟到y(tǒng)的漏洞拿到最高權(quán)限后,利用這個(gè)權(quán)限,把自己加到啟動(dòng)列表中。

對(duì)于系統(tǒng)來說,防止被越獄總的說來一個(gè)是對(duì)權(quán)限管控,盡量最少使用最高權(quán)限,即不濫用最高權(quán)限,減少產(chǎn)生漏洞的可能性,同時(shí)系統(tǒng)還可以事后彌補(bǔ),比如重啟時(shí)發(fā)現(xiàn)被越獄了,進(jìn)行自我保護(hù),不啟動(dòng)或清除掉那些異常的程序。一般來說,我們經(jīng)常說的不完美越獄就是因?yàn)闆]有搞定系統(tǒng)的“事后彌補(bǔ)”這一過程。一般的現(xiàn)象就是越獄后的設(shè)備(iPhone或者是iPad)一旦重啟之后,會(huì)無法進(jìn)入系統(tǒng),直接卡在一顆白色蘋果的界面;或者是可以進(jìn)入系統(tǒng),但是越獄之后所裝的應(yīng)用都無法使用,打不開。

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

開發(fā)

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

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

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

至此,2個(gè)問題均已解決。

本文版權(quán)歸扣丁書屋所有,轉(zhuǎn)載請(qǐng)保留此說明。

轉(zhuǎn)載于:https://my.oschina.net/u/3584736/blog/1476750

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。