解開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 )

itwalker
itwalker

或許技術與功力已遠遠不及時下年輕人,但試著去畫一個圓,圓不圓沒關係,盡力就好,如果覺得文章不錯的話,請大家按個「讚」或「+1」,感謝您的支持與鼓勵!歡迎加入我的粉絲團 : https://www.facebook.com/itwalker ,更多關於挨踢路人甲的文章: https://walker-a.com

文章: 2730

31 則留言

  1. 寫的真棒!讓我這個新手很快就上手了!
    從DHD開始就有在看您的文章啊!!受益良多!!
    現在也入手了NEW ONE 也刷了狂大的2.3版
    有很多還是要研究的(都跑來這邊爬文)

    不曉得版大會不會出一篇如何完全回覆NEW ONE原廠的教學呢?

    itwalker 說:

    有規劃,不過還是要等到有案例回廠不會被抓包才會PO文,不然會引起$%&&^%#@%&

  2. 寫的真好,但可以簡單說明一下如何S-ON呢?謝謝

    以下是google來的S-ON方式~~~

    1.) 將把裝置變成Locked
    2.) 進入bootloader,並下指令「fastboot oem writesecureflag 3」

  3. 請問一下,若不官解就刷機,順序是不是s-off->刷入三方Recovery->刷ROM

    itwalker說:
    是的…

  4. 需要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 $

  5. 請問 adb devices 查詢有無連線 卻出現 List of devices attached 訊息 是哪邊出錯了嗎?

    itwalker說:
    你應該沒有拔出USB直接運作吧!請仔細看文哦!

  6. to momoe (2013/06/30 at 11:54:26):
    意思是沒有p的參數項目
    請使用大寫的P
    “./revone -P” -> 正確執行程式並使用參數-P運作
    “./revone -p” -> 引用不存在的參數-p不運作

    itwalker大,這樣解說是否正確?

    itwalker 說:
    我是用大寫啦!
    不過目前Android 4.2.2無法使用此方式S-OFF,要等神人研究釋出後囉!

  7. 檢查連線時出現, 請問如何解決?

    adb server is out of date. killing….
    * daemon started successfully *
    list of devices attached
    fa36a……………… device

  8. 原來port位被食住, 解決了, 但又出現另一個問題

    ./revone -P
    出現
    /system/bin/sh: ./revone: can’t extcute: permission denied
    126 :shell@android:/data/local/tmp $ cd /data/local/tmp

  9. 原來打小了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.

  10. 我在 step 8 中輸入了 ./revone -s 0 -u 之後出現

    revone failed (error code = -1)
    255|root@android:/data/local/tmp#

    這樣的…
    這是出了甚麼錯??

  11. 您好,8月10號購入新一,HBOOT是1.54,版本是4.2.2。

    因為想移除一些內建軟體如微博、wechat,並使用廣告阻擋軟體,所以興起了想ROOT的念頭。

    沒有S-OFF也可以辦到以上嗎?

  12. 請問 第6步完顯示這串 要怎麼辦?
    Gaining root access (thanks to Dan’s motochopper)…Segmentation fault (core du
    ped)

  13. 此s-off unlocked root
    會造成資料遺失?
    要提前備份?

    itwalker 說:
    unlocked動作會回復到如同新機的狀況,請備份資料~~~

  14. 在第九步驟 輸入./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

  15. 請問一下 為什麼我最後是出現 gaining root access而不是跟大大一樣 最後我也沒有S-off成功

  16. 大大 你好︰
    請教new one 使用了免官解方式解鎖 並也S-off,但在刷入第三方recovery後,new one內找不到install from sdcard這選項?! 無法作root動作,請問是哪出了問題?

    HBoot 1.44版,作recovery動作也有顯示OKEY
    請大大詳解!!

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料