解開HTC One M8 最後的束縛「S-OFF」
S-ON 就是「Security On」的意思,HTC 的手機通常出廠的是屬於 S-ON 的狀況,也就是鎖住使用者無法對系統磁碟的修改,早期Desire HD是利用安裝工程版的HBOOT來S-OFF,沒想到HTC又搞出bootloader的鎖定,讓你無法逃脫官方版的ROM,層層的關卡就會壓倒駱駝的最後一根稻草嗎?或許HTC檔不住玩家的需求,所以HTC提供官方解鎖,但前提必須尚失保固,不過即使Unlock Bootloader了,還是有S-ON的限制,所以必須將HTC One M8 SOFF來解脫最後的束縛。
HTC 的手機通常出廠的是屬於 S-ON 的狀況,也就是鎖住讓使用者無法對/system來修改,即使使用 root explorer 刪除檔案,手機重新啟動時也會恢復,因此透過修改 HBoot 移除鎖住的方式來實現對/system的寫入,也就是所謂的 S-OFF。紅極一時的Dresire HD就是將原廠的 HBOOT(SHIP S-ON) 改成工程版的 HBOOT(ENG S-OFF)。
Bootloader是系統載入程式,HTC預設的BootLoader是Lock的,所以會拒絕載入非官方版的ROM,因此Unlock Bootloader就是解除這個限制,因此才會說解鎖Bootloader後才可以讓你的手機擁有刷機功能,不過HTC 有提供官解Bootloader功能,但對機器仍然不解放S-ON,所以才會看到刷完第三方廠商ROM後,還需要再刷一遍BOOT.IMG的原因。
S-OFF一定要Unlock Bootloader嗎?其實目前XDA開發團隊firewater s-off工具可以不用Unlock 就可以直接S-OFF,真是造福HTC的玩家,因為沒有Unlock Bootloader就不會將IMEI資訊登入官網,因此可以免除尚失保固的風險(我沒有實測過)。
firewater s-off目前提供兩種方法達到 S-Off,一是用於已經使用HTCDev Unlock(解鎖)與Root過的設備,另一是沒有通過 HTCDev解鎖的設備(利用暫時性Root方式)。挨踢路人甲老早就已官解(Unlock Bootloader),挨踢路人甲並非手機專家,以下是以我官解過的HTC One M8 台版16G操作S-OFF,若有描述錯誤還敬請見諒。
Step 1.
PC主機上儘量單純,安裝太多的各類USB驅動程式,會使其系統太複雜而容易失敗,挨踢路人甲的Windows 8系統上一次OK,所以系統單純相當重要哦!
Step 2.
確定已安裝最新版的HTC驅動程式(可參考HTC手機官方解鎖全攻略教學的HTC Driver 安裝教學部分),且手機已官解並Root,請參考「終於忍不住把HTC One M8給Root了」文章。
Step 3.
下載最新的Firewater文件,並將放入M8 Root工具箱的目錄內(或下載整理內含Firewater文件的工具箱)。
【Firewater官網】:http://firewater-soff.com/instructions/
【整合的壓縮包下載點】:http://goo.gl/KVflVw
Step 4.
確定手機在Android系統上,使用USB線接上PC與手機,按下〔視窗鍵〕+〔R〕帶出「執行」視窗,輸入cmd後按下〔確定〕即可出現命令提示字元視窗。
Step 5.
接下來請輸入「adb reboot』指令並按下〔Enter〕,這個動作很重要哦!
Step 6.
此時M8手機與PC因重啟後斷線,必須重新連線且開啟USB偵錯,所以到M8手機上會看到如下畫面,請按下〔確定〕來允許USB偵測。
Step 7.
回到PC上進行複製文件至手機上,請輸入「adb wait-for-device push firewater /data/local/tmp」指令並按下〔Enter〕。
Step 8.
複製文件至手機上後,緊接著就是變更管理者帳號su,並利用chomd來更改目錄或檔案權限,其依序輸入指令如下:
adb shell
su
chmod 755 /data/local/tmp/firewater
Step 9.
最後就是要執行firewater的S-OFF動作,請直接輸入「/data/local/tmp/firewater 」並按下〔Enter〕。
看到一堆同意的條款與說明款,請輸入「Yes」來繼續。
接著就是耐心的等待。
當出現「device is noew s-off」字眼,恭喜你S-OFF成功了。
Step 10.
重新開機進入bootloader畫面,你會發現原本S-ON的文字已經變成「S-OFF」了,且目前是在解鎖的狀態下(粉底白字UNLOCKED)。
Step 11.
接下來要變更為SuperCID(超級電信業者),什麼是 SuperCID 呢?CID 是 carrier identification,就是廠商識別碼,類似於DVD的區碼一樣,美國區的DVD片不能在歐洲區的播放機上播放,因此CID就是要防止刷不同電信業者的ROM,SuperCID 是一個相當特別的 CID 識別碼,如同DVD的全區碼(Region Free)一樣解除這些區碼的限制,那也就是說 SuperCID 就是破除不同電信廠商的限制,配合 S-OFF 的開放寫入/system與/recovery,來隨心所欲的刷各國不同的ROM。
進入HBOOT 選單畫面後,有一個電信業者的CID碼,我的New HTC One是中華電信,其顯示的是「CID__621」,接下來就是要改成SuperCID(CID-11111111)。
adb reboot bootloader (進入bootloader)
fastboot oem writecid 11111111 (變更為SuperCID)
fastboot reboot-bootloader (重新啟動bootloader)
使用fastboot reboot-bootloader重新啟動bootloader後即可看到SuperCID(CID-11111111)。
Step 12.
有了S-OFF後,一堆有的沒的限制雖解除,但許多人還是會裹足不前,因為Unlock 後是無法受到保固的,是否擔心與New HTC One有紫光問題嗎?還是怕Unlocked與S-OFF後送修問題嗎?不用擔心,假如有一天真的要修,你可以參考雷禪大的這篇文章教你如何卡刷RUU 你的 HTC ONE M8 恢復原廠狀態。
Step 5.
接下來請輸入「adb reboot』指令並按下〔Enter〕,這個動作很重要哦!
請問~~到以上這點時,我輸入adb reboot,結果顯示error:dervice not found
沒有找到,請問有遇到此問題嗎?? 求解?? 謝謝唷~~
我做到S-OFF動作,輸入/data/local/tmp/firewater就出錯了,請問問題在哪邊呢?
[IMG]http://i.imgur.com/a5IcmTW.jpg?1[/IMG]
回到PC上進行複製文件至手機上
是指複製firewater到手機空間嗎
版主~我前面幾個步驟都ok~~可是用到第9步之後~~同意書沒跑出來~~~
E8也可以用這個方法S off麼
在輸入 “/data/local/tmp/firewater”完後,
會出現”error: only position independent executables (PIE) are supported.”
請問有解決方法嗎?
我也是在這裡出問題,不知是否有解決方式?
我也是出現這個訊息耶,
請問有解決方案嗎??謝謝~~
這是針對舊版韌體的方式,目前M8無法使用此方式S-OFF