search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

舊手機不知道怎麼辦?打造你的大陸行旅專用手機!——HTC D820f:解鎖、ROOT、備份、砍系統檔、安裝模組

前陣子小夜的手機因sim卡功能損壞而汰換(所以操作上把簡訊服務砍了,似乎直接迴避了簡訊和行動網路攻擊(ㆆᴗㆆ),請讀者再自行斟酌。),又剛好要去中國大陸,便來大陸行旅專用機吧!你問是出於什麼考量?當然一是資訊安全,二是不想在平常用的手機上裝一些雜七雜八的APP,大陸的Android APP都會要求過多的權限,使用體驗也因為單一APP功能繁多而不好。
於是乎增進終端安全的幾個改造目標:
  • 不常去大陸的話,專門打造一隻手機,即不用帶平常用的手機入境。現在帶筆電出國都要很小心,以後手機也會越來越需要注意。若真的沒辦法不帶平常用的手機,也能藉由實體隔離與主要的手機資料形成氣隙(Air Gap)降低風險。
  • 刷了手機,將root系統最高權限從原廠的拿回消費者手裡,砍掉系統資訊回報、OTA網路推送更新、同步服務……等。(若你用是大陸的廠牌就這點更重要了)
  • 有了root權限,可以修改平常看不見的系統設定增加安全性/隱匿性。如指定DNS域名解析伺服器、偽裝手機識別碼、改變SELinux模式獲得更多安全性。
  • 差點忘了提,避免手機真的遺失,手機和SD卡請先加密再開始改造......(本人就忘得徹底了orz)不過加密會影響運行效能,在這隻上有感。
  • 設定VPN,這點本文就先略過,有機會再提了。
  • 安裝防毒軟體、QRcode安全軟體。
  • 有了root權限,甚至將作業系統換掉,不過這個難度太大,對機種型號有要求,暫時不考慮。
(方便讀者觀看,本文以繁體中文撰寫。)

  • 機型版本:
HTC Desire 820f
Android 6.0.1
HTC Sense 7.0
軟體版本 3.17.709.3
Magisk 19.4-736729f5(19307)
Magisk Manger 7.3.3-f1112fdf(228)
Xpose 89
  • 整個流程:
解鎖Bootloader→刷入Recovery、Magisk→備份Partition→安裝模組→砍系統檔→安裝APPstore
  • 流程解釋:
解除開機安全鎖→替換HTC recovery、取得root權限→備份磁碟分割區→開始捏造系統

解鎖畫面如圖左。解鎖後開機會多出紅字訊息如圖右。
電腦的BIOS對應到手機就是Bootloader,HTC在這個機型上了一道安全鎖定,防止磁碟分割區/配置被未經許可的改動,因此第一個步驟要解鎖。步驟請參見:雷禪,〈HTC官方解鎖教學 (HBOOT機型適用)〉,《雷禪光子力研究所》, 2017年8月23日。

第二步則要用TWRP替換原廠的recovery程式,方便對磁碟分割區進行更動。接著支持台灣人!刷入Magisk取得root系統最高權限,方便載入Android後對系統分割區進行更動,如修改選單上沒有選項的設定、刪除系統檔案…等。步驟請參見:雷禪,〈教你如何ROOT HTC Desire 820F〉,《雷禪光子力研究所》, 2017年3月27日。

第三步,在關機後一直按著電源鍵與變小聲音量鍵直到進入Bootloader,接著進入Recovery,準備備份Partition。

備份前先準備好格式化成exfat(才放得下4G以上的檔案)的SD卡,第一次可以將快取(Cache)以外的磁區都備份下來。Recovery就是現在載入的磁區,Boot是開機磁區,這兩個不要亂動;System Image是系統映像檔,即HTC調整過的Android 6.0.1;System、Data、Cache則會在載入Android使用後有所更動,若將System和Data兩個磁區還原,整個系統設定、使用者資料、下載的APP、APP設定都會還原,再後面捏造系統的過程中就靠這招了!

因為手機是用到壞掉才換所以只有最後版本的映像檔,附上除快取外的磁區:檔案連結點此,請要的人請留言和我拿密鑰,務必注意手機版本是Desire 820f!!

在還原System和Data磁區前,先抹除對應的磁區會比較保險(確保系統穩定性),也就是俗稱的雙清、三清、四清,請參見:JACK,〈TWRP Wipe雙清、三清、四清說明及轉換格式教學〉,《月光部落》。

若在還原途中發跳出「Cannot restore system」的訊息,別驚慌,進Mount選單,取消「Mount system partition read-only」即可。詳細圖文:hovatek, "How to fix Cannot restore system -- mounted read only in TWRP"Hovatek, November 13, 2016.


現在你經取得root(最高系統權限了),接著更新Magisk和Magisk Manger到最新版本,準備開始改造吧!
  • SafetyNetafety檢查:來確認root是否會被APP檢測到,如金融類APP、安全防毒類軟體、百度帳號管家…等。GooglePlay服務版本不夠的話它會叫你更新,更新完就能檢測了。
  • Superuser:最高權限的管理/授予
  • Magisk Hide:就是要躲過哪些APP偵測手機被root,需要手動勾選。
  • 模組:顯示你已經下載和啟用了那些,可以在這邊刪掉模組或停用。
  • 下載:會列出所有這個本版的Magisk支援的模組,但不一定適用於你的這支手機!!!而且裡面沒有按照類別分類,太難上手的話可以要自己上網看別人推薦或找論壇,或用關鍵字等。安裝前可以點一下模組名稱,通常作者會寫簡單的用途、適用機型軟體、使用方法……等。如Debloater要安裝Terminal(終端機),用root權限執行。
從本文目的推薦以下模組(當然此外還有挑不完的功能性美化等再自行嘗試了),除了Busybox、Single User Mod無須設定,Single User Mod、LKT在安裝時藉由音量鍵選擇,其他都要藉由Terminal輸入簡單的指令設定。

Busybox是一定要裝的;Debloater用來瘦身,下文會講到;Foxy Boot太帥了,豈能不裝一下;LKT調整效能/電池,很好用,真的有效;Single User Mod關閉多帳號登入。

藉由App Systemizer模組改變SELinux模式,從Permissive轉為Enforcing。

DNS switcher可以指定DNS域名解析伺服器。DNSCrpt-Proxy 2則加密與伺服器間的通訊。

Xpose:實現更多模組的安裝!先在Magisk Manager安裝xpose模組,再下載xpose installer,就有許多甚至更多的模組可以安裝了,如Device ID Masker Lite(付費)、DEviceChanger、IMEI Masker來偽造手機裝置訊息,要注意偽造的APP對象越多越消耗資源,開機會頓卡。

Foxy Boot這個模組,會替換開機動畫(hTC白底綠字)成kernel載入紀錄(動態的),超帥的,玩Magisk一定要試試看!

接著就要靠Debloater這個模組移除不必要的系統APP,附圖中是這支手機的系統APP,有分兩個資料夾,照小夜的經驗,/system/app和/system/priv-app,後者刪的時候需要比較注意,比前者容易影響系統穩定性。

我剛開始試驗時,也是一批一批砍,重開機順利再繼續砍,比較有可能影響系統穩定性的幾個APP則是一個一個砍。

邏輯如下:
  • 無法停用的,會在背景運作的。
  • 無法停用的,無法封鎖通知的。
  • 可以停用的,以後用不到的。
  • 桌布小工具(Widget)
  • 內建桌布(Wallpaper)
  • 語言包(IMEXT9)
  • 鍵盤(Keyboard)
順序再自己調整。
盡量將模組先裝一裝,安裝好APP再裝模組,有些會再重開機時「優化」所有安裝的APP,就得再一個個慢慢等。當然若你和我一樣是摸石子過河,那還是有可能遇到( ×ω× )。

Debloater可以匯出、匯入清單。附上小夜移除的系統APP:
HTCBackup^=/system/app/HTCBackup
debloat.import=1
HTCBackup^=/system/app/HTCBackup
HtcBackupReset^=/system/app/HtcBackupReset
HTCSetupWizard^=/system/app/HTCSetupWizard
MyTask^=/system/app/MyTask
HoloSpiralWallpaper^=/system/app/HoloSpiralWallpaper
NoiseField^=/system/app/NoiseField
PhaseBeam^=/system/app/PhaseBeam
HtcAutoRotateWidget^=/system/app/HtcAutoRotateWidget
HtcBackgroundDataWidget^=/system/app/HtcBackgroundDataWidget
CalculatorWidget^=/system/app/CalculatorWidget
HtcSyncWidget^=/system/app/HtcSyncWidget
HtcGpsWidget^=/system/app/HtcGpsWidget
HtcRingtoneWidget^=/system/app/HtcRingtoneWidget
HtcScreenBrightnessWidget^=/system/app/HtcScreenBrightnessWidget
HtcScreenTimeoutWidget^=/system/app/HtcScreenTimeoutWidget
DeviceManagement^=/system/app/DeviceManagement
Hangouts^=/system/app/Hangouts
Chrome^=/system/app/Chrome
ChromeWithBrowser^=/system/app/ChromeWithBrowser
CloudPrint^=/system/app/CloudPrint
DownloadProviderUi^=/system/app/DownloadProviderUi
Drive^=/system/app/Drive
DriveActivator^=/system/app/DriveActivator
Exchange3Google^=/system/app/Exchange3Google
Facebook_Client^=/system/app/Facebook_Client
FMRadioService^=/system/app/FMRadioService
Gmail2^=/system/app/Gmail2
GoogleCalendarSyncAdapter^=/system/app/GoogleCalendarSyncAdapter
Books^=/system/app/Books
PlayGames^=/system/app/PlayGames
Videos^=/system/app/Videos
Music2^=/system/app/Music2
Newsstand^=/system/app/Newsstand
GoogleTTS^=/system/app/GoogleTTS
PlusOne^=/system/app/PlusOne
HtcCarGps^=/system/app/HtcCarGps
KidMode-google^=/system/app/KidMode-google
NewsWeather^=/system/app/NewsWeather
News_Republic^=/system/app/News_Republic
talkback^=/system/app/talkback
MyGoogleTaskPlugin^=/system/app/MyGoogleTaskPlugin
HtcPowerStripWidget^=/system/app/HtcPowerStripWidget
YouTube^=/system/app/YouTube
Maps^=/system/app/Maps
IMEXT9BahasaIndonesiaLight^=/system/app/IMEXT9BahasaIndonesiaLight
IMEXT9BahasaMalaysiaLight^=/system/app/IMEXT9BahasaMalaysiaLight
IMEXT9FrenchLight^=/system/app/IMEXT9FrenchLight
IMEXT9SpanishLight^=/system/app/IMEXT9SpanishLight
IMEXT9ThaiLight^=/system/app/IMEXT9ThaiLight
IMEMurasuIndic^=/system/app/IMEMurasuIndic
IME_TP_ValueAdd^=/system/app/IME_TP_ValueAdd
IMEMurasuViet^=/system/app/IMEMurasuViet
Font_Helvetica^=/system/app/Font_Helvetica
UserDictionaryProvider^=/system/app/UserDictionaryProvider
FaceLock^=/system/app/FaceLock
Street^=/system/app/Street
SMSBackup^=/system/app/SMSBackup
PrintSpooler^=/system/app/PrintSpooler
PartnerBookmarksProvider^=/system/app/PartnerBookmarksProvider
HtcMessageProvider^=/system/app/HtcMessageProvider
GoogleContactsSyncAdapter^=/system/app/GoogleContactsSyncAdapter
IMEXT9EnglishUKLight^=/system/app/IMEXT9EnglishUKLight
VisualizationWallpapers^=/system/app/VisualizationWallpapers
BasicDreams^=/system/app/BasicDreams
BasicDream^=/system/app/BasicDream
IMEMurasuIndicLight^=/system/app/IMEMurasuIndicLight
IMEMurasuVietLight^=/system/app/IMEMurasuVietLight
HtcProfilesWidget^=/system/app/HtcProfilesWidget
HTCZero^=/system/priv-app/HTCZero
HtcDataStripWidget^=/system/priv-app/HtcDataStripWidget
HtcDataRoamingWidget^=/system/priv-app/HtcDataRoamingWidget
HtcHotspotWidget^=/system/priv-app/HtcHotspotWidget
HtcBtWidget^=/system/priv-app/HtcBtWidget
HtcCalendarWidgets^=/system/priv-app/HtcCalendarWidgets
HtcContactWidgets^=/system/priv-app/HtcContactWidgets
HtcFMRadioWidget^=/system/priv-app/HtcFMRadioWidget
FM_Radio^=/system/priv-app/FM_Radio
PNSClient^=/system/priv-app/PNSClient
Plurk^=/system/priv-app/Plurk
PolarisOffice^=/system/priv-app/PolarisOffice
Updater^=/system/priv-app/Updater
LauncherUpdateScreen^=/system/priv-app/LauncherUpdateScreen
GoogleFeedback^=/system/priv-app/GoogleFeedback
Community^=/system/priv-app/Community
HtcWiFiWidget^=/system/priv-app/HtcWiFiWidget
Mail^=/system/priv-app/Mail
HtcContactsDialer^=/system/priv-app/HtcContactsDialer
HTCAdvantage^=/system/priv-app/HTCAdvantage
HtcEPSLauncher^=/system/priv-app/HtcEPSLauncher
Automotive_Home^=/system/priv-app/Automotive_Home
HtcMobileNetworkWidget^=/system/priv-app/HtcMobileNetworkWidget
HtcMusicWidget^=/system/priv-app/HtcMusicWidget
Message^=/system/priv-app/Message
Browser^=/system/priv-app/Browser
HtcDotMatrix^=/system/priv-app/HtcDotMatrix
Calendar^=/system/priv-app/Calendar
CalendarProvider^=/system/priv-app/CalendarProvider
Photos^=/system/priv-app/Photos
HTCCN_Weibo^=/system/priv-app/HTCCN_Weibo
Twitter^=/system/priv-app/Twitter
LinkedIn_Fsplugin^=/system/priv-app/LinkedIn_Fsplugin
Instagram_SN_Plugin^=/system/priv-app/Instagram_SN_Plugin
GooglePlusPlugin^=/system/priv-app/GooglePlusPlugin
Facebook^=/system/priv-app/Facebook
HMS_VideoPlayer^=/system/priv-app/HMS_VideoPlayer
Automotive_Traffic^=/system/priv-app/Automotive_Traffic
HTCMode^=/system/priv-app/HTCMode
HtcModeClient^=/system/priv-app/HtcModeClient
HtcSimpleLauncher^=/system/priv-app/HtcSimpleLauncher
Sina_Weibo_FSPlugin^=/system/priv-app/Sina_Weibo_FSPlugin
MmsService^=/system/priv-app/MmsService
MyDropbox^=/system/priv-app/MyDropbox
Tips_Help^=/system/priv-app/Tips_Help
HtcBrowserProxyProvider^=/system/priv-app/HtcBrowserProxyProvider
CallLogProvider^=/system/priv-app/CallLogProvider
Velvet^=/system/priv-app/Velvet
iCloudTransfer^=/system/priv-app/iCloudTransfer
AMapNetworkLocation^=/system/priv-app/AMapNetworkLocation
HTC_LocationServicesSetting^=/system/priv-app/HTC_LocationServicesSetting
VoiceDictationGlobal^=/system/priv-app/VoiceDictationGlobal
Telephony^=/system/priv-app/Telephony
Telecomm^=/system/priv-app/Telecomm
HtcLocationService^=/system/priv-app/HtcLocationService
AndroidHtcSync^=/system/priv-app/AndroidHtcSync
NeroHTCInstaller^=/system/priv-app/NeroHTCInstaller
HtcMediaUploader^=/system/priv-app/HtcMediaUploader
HtcMessageUploader^=/system/priv-app/HtcMessageUploader
Stock^=/system/priv-app/Stock
HtcRingtoneTrimmer^=/system/priv-app/HtcRingtoneTrimmer
InCallUI^=/system/priv-app/InCallUI
MirrorLink_MirrorLinkService^=/system/priv-app/MirrorLink_MirrorLinkService

途中發生重開機後,日曆停止運作的狀況,原來是日曆安裝了更新,進應用程式管理把更新移除,APP就會被清理乾淨,消失了。

圖的左半邊則是大幅瘦身後的留念XD開機超快,不過發現一些基本的功能,如看個照片也沒辦法,就又重弄了。

另外要注意Debloater雖然有回復APP的選項,但不太可靠,試了好幾次都沒有完全回復。真的誤砍了或發生問題,要用partition回復,所以第一步才強調要備份整個硬碟分割區。
減法到一個段落,再來換加法。

有些好用的APP並沒有在GooglePlay上架,如訂票官方APP「中國鐵路12306」,因此來裝大陸地區常用的應用程式商店吧~

參考了:IT資訊快報,〈2019安卓應用市場排行榜Top10 〉,《搜狐》,2019年4月22日。

前10大使用率依序是:
  • 應用寶
  • 360手機助手
  • OPPO應用商店
  • 華為應用市場
  • VIVO應用商店
  • 小米應用商店
  • 阿里雲應用商店
  • 樂趣市場
  • 百度手機助手
  • 安智市場
可發現APP商店市場份額被軟體公司,騰訊(應用寶)、阿里巴巴、百度、360,與硬體公司華為、小米、OPPO、VIVO,兩類給瓜分了。

當然在Google Play Store上是找不到這些第三方應用商店的,只好自己上網找...但後來發現有些網頁上下載下來是假的-.-下載後市其他的東西,不如先下載其中一個應用商店,再進去找其他的應用商店。


不過...最後,我連Google Play Store在內的所有應用商店都給它「停用」了!為什麼?因為它們一直掃描記憶體,和你說oxAPP該更新了,還跳出記憶體清理等自動附帶砍不掉的程式=.=...真的是各山頭再打架,開機進畫面後整個頓卡,索性通通停用,不是移除,要下載APP時再啟用,果然手機運行起來就順多了。





順道一提
Q:為什麼我們用的Google Play Store不再名單上?
A:原來是Google Play Store從Android Market進化後需要Google Services也就是Google服務框架才能正常使用,但因為政治因素,中共對網路的控制,使得Google Services即使可用也沒那麼好用(精確、穩定),加上Play Store的APP會被屏蔽。










總結

  • 以上防禦技術性的手段再搭配幾點使用習慣,只要你不是被鎖定追蹤,防禦門檻將會比平均值高很多了。
    • 不要亂放手機、借人,讓自己看的到摸的到。
    • 避免和電腦設備有USB接觸。真的有資料要回傳平常用的設備,可用藍芽。非必要一定得回傳但又需要保備份存,可找大陸的雲端服務放。
    • 每次入境前先備份整個Partition,回台灣後再還原整個Partition。md5認證都要做,它會確認檔案有無變動過。

最後幾點體會觀察:
  • 原本這隻手機就有點小問題,剛開始是有時開不了機,開到一半卻shutdown、放影片會突然黑頻關機等,應該是電池的問題,因為接上充電線情況就減緩許多,清了幾次Partition、用了LKT,居然神奇的有改善!但後來還是把電池換掉了,除了放影片耗電量稍大外,以上症狀都沒有了。(測試蓄電量方法:少女心,〈HTC常見問題:【手機診療室】手機的蓄電量是否正常?!〉,《HTC論壇》,2015年8月24日。)
  • 將系統語言由中文(繁體)換成中文(簡體),HTC sense input鍵盤輸入法會自動更動,原本English(US)、注音、手寫外,自動增加了拼音輸入法。但換系統語音成日文時,原本就沒有日文輸入法還是沒有~.~
  • 一是使用Google教育帳號做登入,因為設定受到網域管理者管控,每次重開機後使用APP都要重新授予權限,但不給權限APP又無法運作-.-,雖然要很多還是只能給了,暫時沒有解決方法能不給權限又能運作的....好吧,至少看到專用機實體隔離的成效...
  • DNS和裝置偽裝是否真的能發揮功效,尚待方法來證實。
  • 最終,也是搞了快一周┐(´д`)┌,接下來就準備出遊哈~實際實踐看看,等我心得吧!


熱門推薦

本文由 cloudlyliveblogspotcom 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦