Android 台灣中文網
標題:
淺談Android的手機保護
[打印本頁]
作者:
zaqwert963852
時間:
2011-11-5 23:57
標題:
淺談Android的手機保護
本帖最後由 zaqwert963852 於 2011-11-5 23:59 編輯
這篇文章淺談Android的手機保護,讓讀者瞭解在沒有這些保護之下,我們能為手機帶來什麼功能,而不是初淺地以不能刷客製ROM一句話帶過。
談談ROOT
之前我在【
何謂root
】一文簡介過root。需要root權限的應用程式不少,比如ShootMe擷取螢幕程式、
Titanium Backup備份還原軟體
、AD Free廣告免疫、FasterFix修改gps.conf的NTP Server加速GPS定位等等,實際上在HTC S-ON的保護下,FasterFix與AD Free是不能運作的。ShootMe程式對我來說可有可無,我習慣用Android SDK來擷取畫面。因此root權限所帶來的最大好處就屬Titanium Backup備份還原軟體了,試想我在Angry Bird已經破了好幾大關了,如果更換手機後不能保留這些進度,請問你還有動力繼續破關嗎?
root的權限取得,一種方法就是先在客製ROM裡做好,再透過Recovery刷進手機裡,前提是你的Recovery不是原廠的,比如是ClockworkMod Recovery。另一種方法是在開機狀態下透過Android的漏洞,取得暫時性root權限,但在S-ON的狀態下,理論上是不能永久性root(Desire HD/Z是特例,原廠Recovery有漏洞,不過後來也補起來了)。已知的暫時性root漏洞(一鍵root與VISIONary+所使用)目前也在2.2.1之後的版本被補了起來。
談談S-ON
S-ON目前只有在HTC機種有看到,其他廠牌都沒有看到。S-ON在之前的【
如何S-OFF/S-ON Desire HD
】一文有提及到,S-ON讓我們手機在開機狀態下無法修改system分割區,比如我們無法在開機狀態更改/system/etc/hosts(AD Free程式所使用)與/system/etc/gps.conf(FasterFix所使用)的內容,所以前面提到在S-ON的狀態下,AD Free與FasterFix是無法使用的。機器達人也會在開機狀態下,搬動system內的檔案,比如把慣用的鈴聲搬到system之中,而不是放在SD卡裡,這種動作需要手機是S-OFF的狀態。但我們還是可以先在客製ROM裡做好,再透過Recovery刷進手機裡,前提一樣是你的Recovery不是原廠的。
S-OFF最簡單的方式就是用修改過的HBOOT(Boot Loader,用windows的OS Loader幫助自己理解這個名詞也可)替換掉原廠的HBOOT(Desire的方法),但如果原廠有使用簽章過的HBOOT,則無法更換第三方的HBOOT。剩下的一條路就是用原廠洩漏出來的工程版HBOOT(ENG HBOOT),Incredible S也確實存在著這種ENG HBOOT(機器達人有看過洩漏照),但要找到寫入的方法,這又是另一個問題。
談談Recovery
之前我在【
何謂Recovery Partition
】一文簡介過Recovery Partition。手機更新檔都會包裝成zip檔(過去公定的檔名為update.zip),透過Recovery將zip檔的內容更新到手機裡,通常大家都會將這個動作稱做「刷」。這樣來說原廠OTA也算是刷的動作,首先手機將要升級的zip檔案從HTC的主機下載到SD卡裡,接著重開機進入原廠的Recovery,接著「刷」入原廠的zip檔。
zip檔裡要更新的動作描述,不管是原廠Recovery還是ClockworkMod Recover都是使用一樣的語言,差別是原廠Recovery只服用自己簽章過的zip檔,所以不吃我們自行簽章的zip檔(但過去大家的簽章都是一樣的)。所以我們就需要將原廠Recovery更換成第三方的Recovery(比如ClockworkMod Recovery),這樣我們就可以自行製作更新檔。
但…如果連Recovery程式都只能使用原廠簽章過的Recovery程式,這代表我們就無法換第三方的Recovery了。最有名的例子就是MOTO的Milestone,但Milestone還是可以擁有第三方的Recovery,這又是什麼原因呢?因為最早出廠的Milestone其Recovery能刷的zip簽章也是跟大家一樣的。所以開發人員就很聰明的將第三方Recovery製作成update.zip檔放在SD卡讓原廠的Recovery服用,服用之後就變成執行第三方Recovery,有豐富的選單畫面與各式各樣的功能,比如選擇要超頻多少、選擇要不要root、選擇要不要換Radio、選擇要不要A2SD、選擇要不要廣告免疫等等,M01上最著名的Milestone熱心人士與高手就是czh,製作了各種update.zip功能包,不過後來也是被M01的人氣死之後轉投iPhone陣營(我是不會用iPhone啦,氣死了之後不換手機而已)。
但後來Milestone也更新了Recovery,只能服用自己簽章過的zip檔,所以此路就不通了。幸運的是我們可以將Milestone新版的原廠Recovery置換成舊版的原廠Recovery。但HTC的手機如果把Recovery簽章導致不能更換第三方Recovery,我們還有那麼幸運嗎?希望囉!
談談核心
核心的英文叫做Kernel,放在boot分割區裡,何謂核心請參閱鳥哥在
這裡
的解釋。核心在編譯前需設定需要的功能,啟用的功能越多,產生出來核心檔也越大,甚至超出boot分割區的大小,因此我們只會啟用需要使用到的功能而已,同時我們也可以把一些功能編譯成外部的檔案,副檔名為ko(通常置於/system/lib/modules),在開機的時候可以動態載入或卸除,稱之為核心模組(kernel module,請不要再濫用核心模組這四個字)。
核心模組比如wifi驅動程式(DHD使用檔案為bcm4329.ko)、cifs.ko可讓手機支援連接windows網路芳鄰、Milestone所使用的overclock.ko用來超頻等等。但核心不一定買單你的ko檔(unknown symbol,超出本文範圍),此時我們只好取得原廠公開的核心原始碼自行製作核心,啟用原廠未加入的功能再重新編譯一次。不過原廠是三不五時就會修改核心的,但原廠通常是久久更新一次其所公開的核心原始碼。
透過自行製作的核心,我們可以增強的功能比如有改為低電壓讓系統更省電、修改GPU的設定讓2D和3D的性能更好、更改喇叭音量、支援手機通話雙向錄音等等。HTC Magic最早的時候,核心沒有啟用NetFilter的功能,所以就算安裝了Android Wifi Tether也做不到透過wifi分享3G連線,這個時候就需要自行製作支援NetFilter的核心替換掉原廠的核心。
如果手機只能使用原廠簽章過的核心檔,有名的例子就是MOTO Milestone,那我們就只能換換system中的檔案了,跟核心有關的功能我們都無法修改,只能使用原廠提供的核心。如果原廠核心有連原廠都無法解決的bug存在,著名的例子就是MOTO Milestone,其2.2核心有知名的DSI Error Bug,導致手機會不定時重開與螢幕雪花錯亂,所有的Milestone 2.2第三方ROM都圍繞著這個核心打造,那每一套第三方ROM都會有一樣的bug。
為什麼有些手機解鎖要降級?
因為OTA升級後的新版本將漏洞都補起來了,而之前手機剛開賣的舊版本漏洞還維持著,所以我們可以用一直存在的降級漏洞先將手機先降級,再刷內含root的ROM升級上去。但現在新出的舊手機已經沒有含漏洞的舊版本,比如Incredible S,所以此路不通。就算有這條路達到有root權限,但不搭配S-OFF能做的還是有限,不過能使用Titanium Backup將舊手機的應用程式與資料遷移到新手機已經是非常幸福的事了。
結論
Desire HD現在是最幸福的手機,完全無任何限制,且擁有完整的還原回原廠的方法。手機性能也很夠用(手機跟電玩對我來說是不同的裝置),已經使用Desire HD的使用者建議持續使用,不用再考慮換機,把將來升級手機的錢留下來轉戰平板(wifi版即可),才是最符合經濟效益的!
文章來自機器達人
作者:
jenqdar
時間:
2011-12-15 11:20
此篇原文在機器達人PO於2011 年 3 月 27 日,所以文中描述的內容跟現實狀況有些許出入,特別是最後兩段。
這部分可能還要多爬文!
作者:
JohnnyKao
時間:
2011-12-23 10:50
讀到一半就覺得大大真是太強了,崇拜!
作者:
kettt
時間:
2011-12-29 12:40
真是太利害了,真不知道你是怎麼知道的。
作者:
hpandwjl
時間:
2012-1-11 16:04
学到知识咯啊,感谢楼主,顶顶顶顶
作者:
maya121032
時間:
2012-1-16 12:39
提示:
作者被禁止或刪除 內容自動屏蔽
作者:
qt0188
時間:
2012-1-17 23:43
真的很強小弟還要多多拜讀一下
作者:
455264
時間:
2012-1-30 12:16
感謝大大的分享^^
作者:
gao
時間:
2012-1-31 14:30
感謝大大的分享喔!!!
今天才開始使用HTC~~~
作者:
bacchus17
時間:
2012-1-31 23:04
感謝大大的分享~~
作者:
ssnow
時間:
2012-2-10 11:54
提示:
作者被禁止或刪除 內容自動屏蔽
作者:
zxc761017
時間:
2012-2-13 20:25
感謝分享~大大實在太猛了!!
受益良多
作者:
劍子先跡
時間:
2012-2-20 15:02
感謝分享~~這篇太實用了。
作者:
fulai
時間:
2012-2-27 20:09
讀到一半就覺得大大真是太強了,崇拜!
作者:
jcxi
時間:
2012-2-29 14:38
哇,原来ROOT机可以玩那么多东西啊
作者:
aa60216
時間:
2012-4-15 22:25
先推,有空再好好研究~
作者:
tedtseng999
時間:
2012-9-1 14:53
謝謝您的分享, 這篇文章幫助我這入門者很多
作者:
zhenzhu
時間:
2012-9-3 18:34
感谢楼主
作者:
ut000009
時間:
2012-10-2 14:06
幫助我這入門者很多!!
釐清不少知識!!
作者:
cobrayen
時間:
2012-10-20 22:35
版主花了很多時間吧!
給你10個讚!
作者:
sean76
時間:
2012-11-17 06:40
很棒的一篇,對以後刷機很有幫助
作者:
setup54321
時間:
2012-11-19 22:25
好實用~~又學到新知識了~~謝謝分享~
作者:
honghow
時間:
2013-1-22 18:54
真的很強小弟還要多多拜讀一下
作者:
honghow
時間:
2013-1-28 13:28
偶像,看完你的內容,讓我找到了活著的意義.尤其是大大最後結尾說的:
已經使用Desire HD的使用者建議持續使用,不用再考慮換機,把將來升級手機的錢留下來轉戰平板(wifi版即可),才是最符合經濟效益的!...................真是經典!!
作者:
ming1769
時間:
2013-2-3 18:15
受益良多,只不過不boot及s-off都不太敢做,謝謝分享
作者:
可愛小老虎
時間:
2013-3-4 22:10
大大也太強!!!
解說的好詳細
作者:
sk12012
時間:
2013-3-30 20:02
讓我又多了一些知識....感謝!
作者:
akira0986
時間:
2013-4-12 05:41
謝謝分享
花了很多時間了
給你一個讚
作者:
tn00108701
時間:
2013-4-15 22:32
能分析的這麼精密,真的給你大大的讚
通常我只知道刷機而已,卻沒有想的那麼多
作者:
cckk293
時間:
2013-4-29 00:44
thxthx找了很久
作者:
kenurashima
時間:
2013-5-19 02:07
感謝大大的分享,小弟受益良多呀!
作者:
freejason
時間:
2013-6-11 21:01
這對刷機新手來說很有幫助 感謝!!
作者:
zz0821tw
時間:
2013-11-12 13:02
GOOD 謝謝大大分享
作者:
avixe
時間:
2014-1-9 22:26
謝謝版主指導,
作者:
y0220653
時間:
2014-1-10 08:48
不給您按個讚,怎對得起我的優良教養
作者:
y0220653
時間:
2014-1-13 15:53
謝謝你的分享!
作者:
c120460121
時間:
2014-2-9 08:04
真的學到一些有用常識
作者:
kadncvjep
時間:
2014-5-20 17:17
最近才開始摸索,慢慢來了解吧。謝謝。
作者:
阿晴修S3
時間:
2014-6-6 09:39
初學者都應該好好看完這篇再開始刷機
作者:
mylee
時間:
2014-8-19 23:16
Thanks for sharing ..... This is really a good article for everyone to read.
作者:
zxc21151
時間:
2014-8-25 08:34
學到知識 感謝
作者:
Khaosker
時間:
2014-9-14 08:19
太專業了
作者:
mm350
時間:
2015-6-8 00:57
谢谢分享
作者:
cer433858
時間:
2015-8-21 19:29
受教了,感謝大大的分享
歡迎光臨 Android 台灣中文網 (https://apk.tw/)
Powered by Discuz! X3.1