解開New HTC One最後的束縛「S-OFF」
S-ON 就是「Security On」的意思,HTC 的手機通常出廠的是屬於 S-ON 的狀況,也就是鎖住使用者無法對系統磁碟的修改,Desire HD是利用安裝工程版的HBOOT來S-OFF,沒想到HTC又搞出bootloader的鎖定,讓你無法逃脫官方版的ROM,層層的關卡就會壓倒駱駝的最後一根稻草嗎?或許HTC檔不住玩家的需求,所以HTC提供官方解鎖,但前提必須尚失保固,不過即使Unlock Bootloader了,還是有S-ON的限制,如今XDA上已經提供S-OFF來解脫最後的束縛。
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,刷狂少aroma安裝介面的rom,非常淺顯易懂,全部幫你搞定。
S-OFF一定要Unlock Bootloader嗎?其實目前XDA上的S-OFF工具可以不用Unlock 就可以直接S-OFF,真是造福HTC的玩家,因為沒有Unlock Bootloader就不會將IMEI資訊登入官網,因此可以免除尚失保固的風險。
挨踢路人甲老早就已官解(Unlock Bootloader),且也刷了狂少的ROM,所以在S-OFF時會與未官解的方式有些順序的差異,因人緣欠佳借不到原生Locked的New HTC One測試,不過我會儘量的補充不同之處,挨踢路人甲並非手機專家,以下是以我官解過的New HTC One操作S-OFF,若有描述錯誤還敬請見諒。
Step 1.
確定已安裝最新版的HTC驅動程式,可參考HTC手機官方解鎖全攻略教學的HTC Driver 安裝教學部分。
Step 2.
為了避免不必要的問題,請到【設定】→【電源】內將「快速關機」的勾選取消,也順便將【設定】→【開發人員選項】內將「USB除錯中」勾選,接著重新開機。
Step 3.
下載最新的revone v0.2.1最新的版本,Android4TW論壇上的tenhow大大已將evone v0.2.1與adb整理成壓縮包,下載後解壓縮至C:\adb目錄下。
【XDA原文】:http://goo.gl/lx5xO
【tenhow整理的壓縮包下載點】:http://goo.gl/ya4Qu
Step 4.
確定手機在Android系統上,使用USB線接上PC與手機,按下〔視窗鍵〕+〔R〕帶出「執行」視窗,輸入cmd後按下〔確定〕即可出現命令提示字元視窗。
Step 5.
接下來請輸入下面兩行指令來確認New HTC One 是否連線。
cd\adb
adb devices
Step 6.
確定檢測New HTC One與PC正常連線後,接下來就開始S-OFF的動作,請依序輸入執行下列指令。
adb push revone /data/local/tmp/
adb shell (沒有Unlock bootloader與root的設備應該會出現 $)
cd /data/local/tmp
chmod 755 revone
su (沒有官解Unlock Bootloader的可以不用執行這個的指令)
./revone -P
Step 7.
確定看到「revone successful – please reboot to continue.」文字表示成功,接下來關閉命令提示字元視窗(一定要關閉),拔除USB後將手機重新開機,等手機重新開完機後再接上USB,此時繼續重複Step 4與Step 5。
Step 8.
確定檢測New HTC One與PC正常連線後,再依序執行下列指令,當看到「renove successful」表示大功告成。
adb shell
cd /data/local/tmp
./revone -s 0 –u
Step 9.
重新開機進入bootloader畫面,你會發現原本S-ON的文字已經變成「S-OFF」了,且目前是在解鎖的狀態下(粉底白字UNLOCKED)。
Step 10.
有官解(UNLOCK BOOTLOADER)的玩家可略過此步驟,沒有官解的用戶請在此時刷入RECOVERY,其刷入方式可參考優質優質的New HTC One ROM – A4TW Ares ROM一文中的刷入第三方的Recovery章節,建議刷入ClockworkMod Touch v6.0.3.1版本。
Step 11.
bootloader畫面頂端看到「***TAMPERED ***」是不是覺得很礙眼,確定關閉閉命令提示字元視窗,拔除USB後將手機重新開機,等手機重新開完機後再接上USB,此時繼續重複Step 4與Step 5後,依序輸入執行下列指令。
adb shell
cd /data/local/tmp
./revone -t
Step 12.
重新開機進入bootloader畫面,你會發現己少掉了「***TAMPERED ***」字眼囉!
Step 13.
接下來要變更為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)。
確定關閉閉命令提示字元視窗,拔除USB後將手機重新開機進入Android系統,等手機重新開完機後再接上USB,此時繼續重複Step 4與Step 5後,依序輸入執行下列指令。
adb reboot bootloader (進入bootloader)
fastboot oem writecid 11111111 (變更為SuperCID)
fastboot reboot-bootloader (重新啟動bootloader)
使用fastboot reboot-bootloader重新啟動bootloader後即可看到SuperCID(CID-11111111)。
Step 13.
其實你可以不用理會此步驟,可以大膽地刷第三方的ROM,對於沒有官解的手機,因為沒有將IMEI資訊登入HTC官網,所以仍然尚未失去保固,所以可以執行「./revone -s 0 –l」來顯示LOCKED,但想要送回原廠不單單是顯示LOCKED而已,你還必須是原廠的ROM、Recovery與S-ON還行哦!下面是列出可改變Bootloader的鎖定狀況的參數,你可以自行決定改變,不過要在UnLock狀態下才可以刷Recovery哦!
./revone -s 0 –u (Unlock the device )
./revone -s 0 –l (Lock the device )
./revone -s 0 –r (Relock the device )
寫的真棒!讓我這個新手很快就上手了!
從DHD開始就有在看您的文章啊!!受益良多!!
現在也入手了NEW ONE 也刷了狂大的2.3版
有很多還是要研究的(都跑來這邊爬文)
不曉得版大會不會出一篇如何完全回覆NEW ONE原廠的教學呢?
寫的真好,但可以簡單說明一下如何S-ON呢?謝謝
請問一下,若不官解就刷機,順序是不是s-off->刷入三方Recovery->刷ROM
需要root 才能s-off?
机没作任何解锁
C:\Users\Lawrence>cd\adb
C:\adb>adb devices
List of devices attached
HT35GW918844 device
C:\adb>adb push revone /data/local/tmp/
3213 KB/s (648208 bytes in 0.197s)
C:\adb>adb shell
shell@android:/ $ cd /data/local/tmp
cd /data/local/tmp
shell@android:/data/local/tmp $ chmod 755 revone
chmod 755 revone
shell@android:/data/local/tmp $ ./revone -p
./revone -p
./revone: invalid option — ‘p’
revone v0.2.1
Gaining root access (thanks to Dan’s motochopper)…[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
251|shell@android:/data/local/tmp $
請問 adb devices 查詢有無連線 卻出現 List of devices attached 訊息 是哪邊出錯了嗎?
to momoe (2013/06/30 at 11:54:26):
意思是沒有p的參數項目
請使用大寫的P
“./revone -P” -> 正確執行程式並使用參數-P運作
“./revone -p” -> 引用不存在的參數-p不運作
itwalker大,這樣解說是否正確?
檢查連線時出現, 請問如何解決?
adb server is out of date. killing….
* daemon started successfully *
list of devices attached
fa36a……………… device
原來port位被食住, 解決了, 但又出現另一個問題
./revone -P
出現
/system/bin/sh: ./revone: can’t extcute: permission denied
126 :shell@android:/data/local/tmp $ cd /data/local/tmp
原來打小了chmod 755 revone
但又有另一個問題
./revone -p 之後出現
Gaining root access (thanks to Dan’s motochopper)…
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
試試-p改為大寫 -P 看看~~~
我在 step 8 中輸入了 ./revone -s 0 -u 之後出現
revone failed (error code = -1)
255|root@android:/data/local/tmp#
這樣的…
這是出了甚麼錯??
請問port位被關住怎辦??
沒有官方解鎖,但有S-OFF刷ROM後開機進入FASTBOOT要怎麼辦
4.2.2能這樣做嗎?
您好,8月10號購入新一,HBOOT是1.54,版本是4.2.2。
因為想移除一些內建軟體如微博、wechat,並使用廣告阻擋軟體,所以興起了想ROOT的念頭。
沒有S-OFF也可以辦到以上嗎?
To spawn00001:
只要是system目錄下的動作一定s_off
感謝racheal大大的回覆,看來只有繼續等待下去了^^”
請問版本4.3 HBOOT1.44 要如何S-OFF呢?
鍵入./revone -P
得到的是 Gaining root access…[1] Bus error
請問是哪裡出問題了呢
請問 第6步完顯示這串 要怎麼辦?
Gaining root access (thanks to Dan’s motochopper)…Segmentation fault (core du
ped)
此s-off unlocked root
會造成資料遺失?
要提前備份?
Unlocked s-off 刷入recovery 卡刷superSU1.80 可以算是完成root?
S-off前 手機要進入bootloader模式?
在第九步驟 輸入./revone -s 0 -u
Gaining root access (thanks to Dan’s motochopper)…[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
[-] Failed to map memory.
251|shell@android:/data/local/tmp $
要如何解決? 版本android4.1.2
請問一下 為什麼我最後是出現 gaining root access而不是跟大大一樣 最後我也沒有S-off成功
最後輸入./revone -t時
出現 revone failed (error code = -1)
求解…
revone版本:v0.2.1
大大 你好︰
請教new one 使用了免官解方式解鎖 並也S-off,但在刷入第三方recovery後,new one內找不到install from sdcard這選項?! 無法作root動作,請問是哪出了問題?
HBoot 1.44版,作recovery動作也有顯示OKEY
請大大詳解!!
您好 關於 Step 3. 的檔案已經無法下載,可以請大大在提供嗎??
那個 整理包的載點 掛了 麻煩一下有沒有其他載點
目前的版本無法使用此方式S-OFF
HTC OneMax HBOOT-2.49.000 測試無效。